Okay NEED is a big word, but isn't it awesome to combine two things you love and make something out of it on your own terms? I assume you already love coding, add something else you love and voila: Passion project.
Now I know I'm preaching to the choir for a lot of you, and some of you might've even made your passion project into your main income (I'd dare to say that's the point where you need a new passion project). But in the past years it has surprised me how many developers I came across who never even thought of applying their skills to make something fun for themselves.
Especially (future) developers coming straight out of university or code-bootcamp often don't realise what kind of awesome powers they can wield yet. A lot of them are 'waiting' for a job, client or nextbigthing™ idea to motivate them to sharpen their swords.
I always advice fresh developers to start working on something they can put their heart and mind into. Working on a product without any external pressure can be a true eye-opener and an amazing way to develop skills while creating something you love.
"What should I make?"
You're a developer damnit, you can make anything you put your mind to!
To be fair, thinking of a nice project can be challenging in the beginning; I dare to say that it's a kind of mindset you need to get into. But once you're into that mindset, there's no going back and you'll probably be thinking up new ideas for the rest of your life!
You enjoy coding, creating something out of nothing and solving problems, right? Just combine that with something else you love and you're good to go.
Do you love dancing? Make something dedicated to your favourite dance styles or dancers.
Do you love books? Make a pretty booklist app.
Do you love some obscure 70's videogame? Let the world know!
Even in the unlikely case your only passion is coding, you could go all meta and make a dev.to ;). I could go on for hours but I think you get my point.
And as it's YOUR product, it doesn't really matter if something similar already exists. It's all about your own take on the subject. Better yet, you can get in touch with other people who have the same passion and ask what they think of your ideas. You might get some valuable new contacts out of it as well!
"Ain't nobody got time for that!"
I understand. When I was working a 9-5 I found it very hard to focus on coding things in my spare time after coding at the office for a full day. Lord knows I tried though. I've got a whole folder with unfinished ideas that I may or may not pick-up one day. But that's alright too!
If you feel that you don't have time for a passion project because you have a fulfilling career and want to spend your free time in another way, that's great! But if the idea of a passion project keeps tugging at your sleeve even though you don't have enough time for it, you might want to evaluate if whatever you're doing as a day-job is as fulfilling as you'd like it to be. That might be a subject for another blogpost though.
Also, your project doesn't have to be all-consuming. It can be something small which you don't have to spend more than a few hours a week/month on.
"So, what are your passion projects and what did you gain from them?"
Why thank you for asking! I'll list a few, together with some that never made it out of my localhost.
CFYE
In my previous blogpost I already shared my cfye.com project which is in hibernation at the moment as my partner is in India working on a community bicycle / transportation project, and I just relocated to Lisbon after 7 months of extensive chilling in exotic locations (they call it traveling and apparently it's a 'skill' you can put on your resume nowadays). But a quick and incomplete summary of what I learned and gained from that project:
- Community creation and management
- Development (HTML/css/JS/WordPress)
- Writing and interviewing
- Curating
- Organising art exhibitions
- Collecting/Framing/Showcasing/Selling artwork
- Some ethics about working on the web
- A SOTD Awwward
- Artist management (It's like herding cats, still fun though)
- Impressing potential clients and employees.
- Getting to know some amazing and famous photographers and artists, and even becoming good friends with some of them
- Enough inspiration for a lifetime
Now please don't be discouraged by how big that project became. When we started this thing it was nothing but a fun project next to our study!
Traveling
Not everything has to be as big as that cfye.com project though. As I just mentioned I recently came back from a long travel and I've got tons of pictures, stories, videos and geolocations. I'm trying to combine the huge pile of data most travelers collect nowadays into a showcase app based on Mapbox. I use React for this, as I've always wanted to learn React, and this seems like the perfect idea. I'm not sure if this will ever get off the drawing-board, but it already taught me loads about React, Maps/GeoJSON and web animations.
TotallyStatical
A rapid prototyping / static site generator which basically combines my love for coding with my love for tooling.
Failed projects
Some projects that never made it out of my localhost
.
- Bookquot.es: A collection of strong quotes/passages from my favourite books, animated with Greensock. I might be still paying for that domain.
- Booklistapp: A pretty looking app for listing all the books I've read and want to read, based on the goodreads api. Stranded because the Goodreads api sucks.
- ThingsIlike: An app where I can easily collect all the things I like; URLS, photos, artworks, books, tutorials, videos. Stranded because it was a fuckload of work.
And the list goes on. Even though these projects aren't going anywhere, I've learned from them and enjoyed working on them. Not a single one makes me feel I've wasted my time.
Share your ideas / projects
To conclude, I couldn't imagine NOT having a project on the side where I can put my heart and mind into and in my opinion, everyone can gain from working on something they love without external pressure.
I'd love to hear your opinion on passion/side projects, if you have/had one and what you gained from working on it.
Thank you for reading!
Top comments (30)
I had started on a VueJS app, just to learn Vue. The idea was to pull in my workplace's fitbit data, and display it in our office as your own personal leaderboards. It has started but I don't see it being finished any time soon!
I had a similar idea for a way to save and read nice book quotes in some way! At the moment I mostly save them on my kindle or to evernote.
My main passion is circus (I go to a circus school to train in handstands and aerial hoop). I'm currently trying to think of some sort of side project around that!
Sounds great Lynne! The "I don't see it being finished any time soon" is definitely the story of my life. But I bet it's been a great ride to lean about Vue, and probably about FitBit as well!
The book thing might be worth looking into, as so many people have this idea! I mostly use Google Play Books and bookmark/safe all my favourite quotes in there, but it would be nice to be able to share them in some way.
Circus, that's awesome! I wouldn't have a clue where to start, but I guess something with loads of visuals would be cool? Good luck and thanks for sharing!
This article makes a great point, and while it's not new, it bears repeating every now and again. In my freelancing days this was fairly easy to accomplish, but now - working for a big startup - my private time is more precious and I find I need the extra motivation to get off the couch and pick up my personal laptop at home to do coding after a full 8 hour day. Thanks for the reminder that this is a good, important habit!
I'm big on WebGL, so past side projects mostly include various 3D visualziations, including a day-by-day 3D weather "sheet" visualization, an intro to Tarot spreads and and a Twitter Cloud generator. Time to think of the next adventure!
Oh yeah I definitely understand what you mean, you just want to enjoy your free time after work. That's why I think it's important that a job accommodates you in what you want to learn as well. If you can work with the techniques you want, and are able to apply these on the product your company is working on, that's sort of the holy grail. But unfortunately work at an agency or start up often involves putting out a lot of fires as well. This might be an interesting topic for a new blogpost..
Anyhow! I love WebGL! I restrained myself from diving into it as of yet, because I'm sure I'll lose myself for quite some evenings, haha. Do you have any recommendations for tutorials, etc? And do you have anything online on codepen or such? Would love to see some!
Oh yeah, WebGL is a rabbit hole!
It depends on how deep you want to go - and the beauty of the ecosystem in 2017 is that there are plenty of tools that let you have fun with the fluffiest abstractions, all the way down to the rawest hardcore low-level - in the same framework.
I actually wrote an intro to WebVR (and, implicitly, WebGL) a little while back that covers that exact gamut which might be a good starting point to get the lay of the land:
virtualrealitypop.com/getting-star...
In terms of personal stuff, it's been a while since I undertook any major projects (again, day job, etc.), but I like to doodle semi-frequently and post stuff on my website. Here's something I just made yesterday - a 3D variation to Dan Shiffman's excellent 10print video:
michaelhazani.com/10³print/
Have fun with WebGL! It's quite addictive!
I've been wanting to get into WebGL!
Awesome stuff, thanks for the resources! (I somehow can't reply to your last comment).
you're welcome - happy to share! I should really be writing more about it. Perhaps a dev.to contribution?:)
I am a dot net developer but I definitely give few minutes in day to learn something new or try to know more about the technology I am working on.
Currently I am working on azure and azure is huge elephant to digest in one go, so I am going through some tutorials which help me in my work.
Also JavaScript is is exploding right now, so also trying to learn Angular.
👍🏼 Azure is a big one indeed, but a very interesting platform. Are you enjoying the learning proces? And how are you enjoying working in JS as a dot net developer?
I have previously worked on Knockout & Jquery a bit, but angular is a completely different beast altogether.
Also gone are the days when you could be a pure dot net or java developer.
You require lots of skills in market today.
I was thinking of making some tool that gathers in one place all resources that devs hoard. It could take tweets and reddit posts links and maybe gather in a pinterest list or local database. But I am not super passionate about this yet
Seems interesting and quite a handful! I get it though, sometimes you have a great idea but it's not specifically something that motivates you to actually build it. That still can come though, it's never a bad idea to have a list of things you'd like to work on.
And make it searchable by Elastic
I'm currently working on a webapp for managing and creating playlists by using a module based approach.
I'm DJing in my spare time, so I have to somehow manage the music I have (currently ~6000 unique tracks, containing 34.1 days of music) to keep track of tracks that go well, when played in a row, keep track of atmosphere and emotion of tracks (and so on). The bigger the database, the harder it gets to keep these things in your mind.
My approach there is to manage playlists in a module based fashion. This means, that you can put playlists into playlists to allow composing Sets by considering abstract requirements like mood and energy without having to worry about whether two single tracks can actually be played after each other (there's stuff like tonality and tempo that prevents you from transitioning into some random track without making cats meow within a 2 mile radius).
Having playlists that behave like modules can save hours of work, preparing a set for an evening. Keep in mind that a set is somehow a dynamic thing that is influenced by the people on the dance floor and their taste and reactions to the music.
Awesome, that sounds so interesting. Do you have a name for it yet?
there's stuff like tonality and tempo that prevents you from transitioning into some random track without making cats meow within a 2 mile radius 🤣
But if I understand well, creating this sideproject actually frees up your time for your other passion, which makes it even cooler!
How much time do you put into this on a weekly basis? And is it something you can/will open source?
I did most of my work on this during my most recent vacation. Currently I only have time to work on this on the weekends. So it depends on how busy my weekends are (this depends more or less on my fiance) how much time I can spend on the project. It's usually between 4 to 16 hours per week.
I have plans to make it open source. Since im working for IBM, I have to go through the process for releasing open source software.
So before I actually start investing time in this process, I want to make sure, that the project is in a usable state. That means it needs to be able to read in the track library from Rekordbox (Rekordbox is Pioneers proprietary tool to create playlists and export them to a USB stick, that can be read by their DJ players, and has track Waveforms, beat grid, tonality and other extra data attached), and to write back to Rekordbox. Since Pioneer is the defacto standard for the DJ equipment in Clubs, Rekordbox is the defacto standard among DJs to manage their libraries.
Luckily they provide a xml based interface to Rekordbox, that allows importing and exporting library information.
For other other software, like the Denon pendant to Rekordbox, I hope for other developers to add the capabilities as needed, when the project is open source.
I don't have any original name, yet. Currently I treat it as Rekordbox-web/ModuleBox. The first one, will probably bring more trouble with Pioneers lawyers than it is going to be good for me or the project 😂
My mom writes books and I convinced her to write them using Markdown, as this can be used to generate any output format.
As I worked for a project creating a platform for eBooks for children I knew EPUB quite well and handcrafted my mom‘s EPUBs.
Then I started to create epubgen, a tool to generate EPUBs from Markdown, to automate this process. Today my mom uses it to do most of the process on her own.
That was one of only two passion projects, which made it to release, yet. The other one is an iOS app for an event radio of a youth organisation, which is broadcasting for one week each year.
Thanks for the post. I should get back to these projects, even though I have less time, now that there is a little girl to care about :-)
Congrats on the addition the family!
And you got your mom to use Markdown and created epubgen? That's seriously cool.
Thanks.
Yay, she tried a couple of things, started with MS Word, like every mom would. We improved the writing and production process with every book.
There's a couple of tools called epubgen. Mine is a simple command line tool for macOS written in Swift. Sadly, just the maintenance of such projects take a lot of time - like updating for a new Swift version...
Thanks to this post, I now have a profile here :-)
It also depends on where you live. For example, in Dominican Republic (where I live) most young people have a full time job and go to college at night, which makes it difficult to try to code on weekdays.
I'm my case I have a little pet project on .NET Core and some open source projects I try to contribute on the weekends, but most of time I have a lot of homework and can't spend time on it even if I wanted to.
Por supuesto. Even in the position that I'm in it can be very hard, but at least it's a choice for me!
But it's still cool you've got something on the side, and it never hurts to think about what you would be making IF you had the free time, because maybe that day will come!
How's life for a developer in the Dominican Republic?
I've been learning PHP and MySQL recently and I want to make a sort of social network for the valley I live in. You would be able to login and post updates on the trail maybe the condition and how long it took.
Woah, PHP and MySQL for fun? Haha. Sounds like an ambitious plan you're working on. Will you be doing that all on the side or as a main thing?
Just a side thing. I just want to get more familiar with both the languages. I've only started learning them about 4 months ago!
I won't even try to say that I know what this means. Passion and innovation are two completely different things to me, so could you elaborate as to what the 'passion and innovation narratives' are? Also, since when are passion/innovation and perseverance mutual exclusive?
Wholeheartedly agree with the last bit though. Don't be afraid to drop something!
What a great line!
"Working on a product without any external pressure can be a true eye-opener and an amazing way to develop skills while creating something you love."
Cheers! Maybe a bit too long, character-wise, but I'm glad the point comes across