Cover image by Dave Collier on Flickr
I liked the idea of Isaac to show a few, presumably dead, side-projects. Also I don't have a better idea for an article this week, so I'll do the same :D
Platformer
I started a platformer because I wanted to learn about making browser games. Used Crafty for this, but never finished it.
Things Learned
Games, especially real-time games, are a whole different category of software than the stuff I used to.
With the entity component system used here I learned about other architecture patterns than MVC.
Performance is king here.
Also, better use frameworks that are actively maintained.
Platformer Rewrite
I started to re-write the platformer with Phaser (classic side-project misstake :D).
I also never finished it.
Things learned
While using a actively maintained framework was better in terms of (community) support, I found out that game devs operate differently.
There are some pros with bad-ass theoreticall and technical skills out there, but most game devs are just people who want to create their game and ship it.
Gulp Emblem Printer
I worked with Ember for a year, because some projects at university required it. In this time I found out about LiveScript (the days before ES2015 :D) and I was totally sold on syntactially significant whitespace languages.
I build a plugin for Gulp to convert the Emblem templating language to Embers Handlebars.
This was before I found out about WebPack and how flexible NPMs package.json
scripts are, also I switched to React shortly after and didn't have any use for it anymore.
But, I actually finished it :D
Things learned
How to publish a real library on NPM that people actually use.
Todo List
A todo list I wrote with Ember. I used this to learn about LiveScript (again, pre ES2015 era).
I also finished it, but as I said, I switched from Ember to React and from LiveScript back to JavaScript, so I didn't change anything since then.
Things learned
With browser APIs you can get really far without the need of a back-end.
Gulp was a nicer tool than Grunt, but later I discovered Webpack and never came back to it.
Simple design can get you very far.
Schichtdienstplaner
The "Schichtdienstplaner" (German for shift planner) is an app I wrote for my girlfriend. She is a nurse and works in shifts. There are different types of shifts but not many.
This tool is basically a different UI for Google calender and lets her input her shifts with only a few clicks each month.
I think this was the first side-project after switching to React.
And: I finished it, but I didn't change it since then, but well, the APIs didn't change and so it still works like a charm.
Things learned
How to integrate with the Google calender API.
How to get Preact running in the browser without any build step.
Example Repos
When I started blogging, I created many example repositories to explain some concepts. They are basically all "finished" side-projects, because they are examples.
Things learned
Many things about development in general, webpack, WebComponents, React, JavaScript etc. pp.
It really helped me to revisit the topics when writing the articles, often I had the impression "I know this" just to learn it for real while writing, hehe.
Mobile Dev Wiki
A repo I used to write down some things I learned while doing mobile development with React-Native.
I still update it once in a while, but I guess it's always or never finished, depending on your point of view.
Things learned
I basically write down what I learned while working as a mobile app developer, so nothing really learned from this project.
Startup CliX
A serverless clicker game I build for a dev.to contest. I kinda finished it, but it isn't really fun to play.
Was my first serverless project.
Things learned
I learned much about serverless technology in general.
Had to work with AWS SAM, Lambda, API-Gateway, Step Functions and DynamoDB.
React From Zero
A tutorial I created in 2015 a few months after I switched from Ember to React. My most popular repo on GitHub that helped me to score some contracting gigs and a book deal.
The only project I finished AND maintained over multiple years.
Things learned
You can create things many people like even if you aren't a major skiller on the topic.
Finding a prominent person to promote your work is more important for success than everything else, lol.
Conclusion
While I didn't finish all of my projects, every one of them helped me. Some helped me to learn new things about technology or industries, some helped me with finding jobs.
I know that few people have time to pour into this kind of stuff, but it really can pay off in terms of knowledge at least.