Great advice. Here is a example from my personal life. I think it will fall under the automate your life category. I play football ( or soccer? ) at a semi-pro level. After every practice or match, we fill a form about a lot of things, fatigue, muscular pains and so on. However, certain things in the app they use are not needed by our staff. My side project is to try to work with my coaches to make an app a bit closer to what they need.
This is a long shot, it involves some things I might not be familiar with. But I will have feedback on my work and I know some people could use this app. So, that's the plan
Nice plan, Damien! This is how a lot of software starts "Find a thing that uses spreadsheets and make it better" type stuff.
Even if it's only used by the team, you might be able to get a good blog post, open source project and some decent learning out of it!
Or join me in my quest to write a modern programming language: Leaf
Just have fun playing with a new language (careful, without a standard library this is really ambitious).
Or delve into the C++ part of the project, from parsing, to semantic analysis, to LLVM IR generation. Loads of excitement and challenging coding!
Great post, Sam! I especially like building new projects by exploring APIs.
Btw, I published this list of 27 project ideas for learning React on freeCodeCamp that you and others might find useful.
Hey Hirishi! Great list - I'm guessing most, you could use any JS framework (or anything you like), not just react?
Yes, of course. I created the list because I'm learning and teaching React, but you could use the ideas for anything, even without a framework.
Awesome! Great list - thanks again for commenting, I appreciate it :)
Brilliantly put, Sam! We used the first 2 principles while building remote.tools :)
Not only did we have information about 100+ remote-friendly products ready with us. We only had to create a repository on WordPress, which we did in around 15 days. The best part is that we still use the repository every other week for different use-cases.
The experience was so enriching that my co-founder wrote a post about it on Hackernoon. You can read more about it here- hackernoon.com/how-side-projects-c....
Would be great to hear your thoughts on remote.tools
Looks great! Always nice to surface cool tools for others to find easier. Often people make cool stuff but aren't great at getting it into the hands of those who may need it!
That is the motive, Sam!
We have built remote.tools version 2 with this in mind. In it, product makers can add their products so remote workers can discover their awesome work and we plan to launch it by the end of next week.
I can share it with you too if you would want to have a look :)
Really great thoughts. Automate Your Life-oriented tasks are always a lot of fun to think about, though I'll admit I've consistently let these sort of projects fall by the wayside personally.
One thing I'll add: It might be a good idea to start a non-technical project you can commit to with the idea of adding tech in where appropriate. This will ensure that you don't get bogged down in something half-finished. The project is, in some ways, ready when you start it, and you add to it as you go. This was my thought behind starting @ThePracticalDev on Twitter, and it blossomed.
Totally agree Ben!
In fact, after blogging for a while, and manually scheduling tweets... I'm thinking of ways to automate the tweeting of content, uploading to medium, here and blog from Markdown. All sorts of stuff.
I read your post on making Dev.to fast - great job!
I had lots of fun with the Spotify and Marvel-APIs. You could make a random-song-preview-player, or a Twitter-Bot that tweets random Superheroes.
About Automate your life, I'm currently working on a project that automates programmer tasks : duck
If you want to review my code, don't hesitate. I published an article about it : Becoming a better Gopher
Excellent write up and thanks for the Twilio shout out! There's lots of interesting projects on the blog. Also, check out ways you can code for good, lending your skills to non-profits.
No worries David! Yes! Great idea for side projects, helping out non-profits. Readers should google for their nearest way to do so :)
Nice article Sam. I'm a side project enthusiast and have built more than few projects to solve my own problems, but the only thing I'm not good at is launching & maintaining them. I'm really trying to focus on building the mindset to maintain my side projects for a long time.
It's a tough one for sure! I guess "launching" can be as easy as a short blog post or even a tweet - don't over think it for now! Just make it public and talk about it. You can even post to ProductHunt if you feel like it! Even if it's a joke
Maintaining isn't really that important unless you keep using it, or others are using it. A "cheat" is to open source it, so people who use it and want to change it can, and you can just keep an eye on any PRs that may come in. No need to maintain something you use once though. Be pragmatic with your time etc :)
Thanks Sam for such a motivating & encouraging reply. I'm going to keep your reply handy for reference whenever I'm working on my side project.
No worries, man! Rock on!
General rule for me is to write stuff that I would use, and then use it. For example, I wrote a plugin for my editor recently which allows me to review PRs on Github from my editor. Automation is also a pretty big part of what I do on the side.
Nice rule, Jonathan! Building tools for yourself is how we have evolved, and I don't see why it should stop in the digital age, haha!
Nice tool, where can readers get it?
Well, its still in experimental stages, but here: github.com/AGhost-7/critiq.vim
I have the intention of writing documentation when I have a better idea of how I want my workflow.
I like the idea of automating your life. That shower idea is great - most of us wouldn't think to do it. I sometimes scribble down a note when it hits me that some process is becoming a thorn in my side, and then I'll try to solve it later.
Great stuff Grant! Cool project too!
I also automated my life with a chrome extension project recently... producthunt.com/posts/preach (a little less serious than yours, perhaps :P)
How funny! Looks like a fun way to learn.
It was a lot of fun to make!
All 👏 programming 👏 should 👏 be 👏 this 👏 fun 👏
Great post! I recently had some thinking time and a lot of side project ideas came up. I went through a similar thinking process, and I'm glad to have someone confirm the process for me. I didn't think of the API exploration one though, and that's a great idea.
Glad I could help, Andy! Thanks for reading. Yeah, APIs are fun. I did end up making that dog/tweet one for fun. I got the idea for API hacking from a few hackfests I've been to.
Yes. Automating is good. Making thing more searchable is good, too. As for me I think the nice idea it is to make things more searchable indexing in Elasticsearch? For instance by consuming RSS feeds..
Could be a cool project! Sync all your RSS feeds into ES so you can quickly search it later, when 'you remember that one post that had that thing you wanted but you can't remember the title, author or post' :D
Really appreciate the tone and real life examples! One area that I struggled with in terms of automation was figuring out when to automate. I would often say, hey I could totally automate this process, and then just go for it without truly thinking of the process and consequences. I would often start a project with the best intentions, and within an hour find myself struggling to even begin to solve the problem. I would eventually get overwhelmed and defeated, and repeated this ad nauseam for a number of years(while genuinely believing I was making progress!), and it wasn't until my manager noticed this a few months back and took some corrective actions that I realized how exhausting it was to work towards a goal I didn't particularly understand well.
One thing that was particularly helpful was my boss needling me for more information before I tried to automate something. His goal was to ensure that not only could I run the task myself without any issues, but I could explain it to others and ensure I had worked out as much of the problems up front. Once I was confident of my solution on paper, I would then begin automating the process. I have baked this into my daily routine so that it's not even a thought anymore. Much less stress and anxiety, and I've found myself making larger strides then ever before.
There are for sure some things you dont need to automate, because they're one-offs, but in the long term, if there is a time saving with automation, it's a candidate for a side project.
Check out FindASideProject.com
Great ideas at FindASideProject.com
thanks! I am working on doing data science on my own liked tweets, but I still needed this article.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.