image credit: Bells Design

Happened: Technology exploration

Stephen Weber
One Side Project Challenge
4 min readFeb 5, 2016

--

I’m excited to be part of One Side Project(OSP), and appreciate the support and hard work of Samantha Zhang and of my peers. When I ran across the call to action post, I felt a bell ringing in my head to start something NOW.

My interest in OSP is primarily one of focus. Like the post acknowledges, I have many small experiments and a long list of “possible project ideas” that I have been carefully curating for years. I have a small garden of projects and open-source contributions in my GitHub page to show I’m a literate programmer, but they’re all very small and unfinished. It’s been a while since I had a product out in the open I could point to that I had contributed to in a meaningful way. My work life is full of ecosystem-wide projects that are important but not tangible. Late last year I used one of my ideas to learn Meteor, and ended up with a very small proof-of-concept.

On my own, I might have eventually gotten Happened to a point that I could use it for my purposes. It would probably be ugly and I would certainly not bother to open it up to my friends and family, nor anyone else for that matter. It would run on my spare computer, when I had that turned on. I would eventually stop using it when nothing else made it worthwhile. It would have ended up on GitHub as yet another small code sample, and the feeling that I still hadn’t completed something would continue to nag at me.

I want to bring an idea fully into the world, so that my other ideas might have a chance to be born as well.

I want to make a product.

The Product

I think there’s a gap in our lives, created by software and also possibly solvable by software. We live in a world of notifications and automated tools, and the flood forces us to attend to the “now” and not to the past or future. The notional space this app lives exists in several forms already, but not exactly as I imagine it: notification centers, activity streams, and information hubs. Still, I am often hard-pressed to remember important details like “when was my child’s last doctor appointment” and it’s off to one system or another in order to suss it out. Sometimes the information is in my calendar, sometimes in an Evernote entry about the day, sometimes I don’t have it at all. I also use many tools that are really great for keeping me focused on the near future but I’m not as happy with their review functions.

The use cases I have that I feel will be addressed by Happened are:

  • mark when something happened
  • tag happenings such that I can look at a whole group together
  • when did I do a certain thing?
  • notify my spouse or work team that I got something done
  • allow certain tools to mark down happenings

I hope to do more, but that’s where I’m starting.

Technical Details

I won’t spent too much time in One Side Project talking about the technical aspects, but I wanted to give some context for that here as well. I had struggled to decide what to build it with. I knew I wanted to build it as an API with several clients, one of which happens to be a single-page web application. I am handy with Python, but want to get involved with JavaScript development; my current favorites are Meteor and Express.js. With a prototype application written in Meteor, I decided to write the API in Express and keep the web client in Meteor.

I was similarly undecided but less stressed out regarding the data layer. I know MongoDB and PostgreSQL well enough to make this work, but again wanted to demonstrate updated knowledge. I settled on RethinkDB for many reasons, though I’m treating its use as an experiment and won’t hesitate to replace it if I’m not happy.

choose your own adventure

This Month

So far in January, I’ve:

  • re-written my prototype from Meteor to Express
  • added a rudimentary API to the Express project
  • chosen a data storage technology (RethinkDB) and integrated it
  • done a lot of studying of Meteor and Express
  • wrote out a rough monthly roadmap

Next Month

My biggest goal for next month is to finish building out the Express project into the basic API and rewrite the Meteor project to be the client. That seems extremely do-able in a month, even in my spare time. Next up will be implementing the tag-related features: parsing tags out of entries, finding by tags, etc. I’m also extremely excited about the other OSP member projects; they are a talented bunch and I’m sure to learn a lot from their example and their feedback.

A huge thank you to everyone in the OSP group for their decision to join; no matter what else you do this year, you’ve already done so much for me just by being counted. I can’t wait to see what we accomplish.

Give this article a 💚 recommend if you enjoy reading it.
I will be posting my project progress on the 5th of every month.
Follow One Side Project Challenge to get all the future project updates!

--

--

Stephen Weber
One Side Project Challenge

father, coder, martial artist, cyclist, Delta Chi, vegetarian, gardener, crochetier, home vintner...