HACKER Q&A
📣 tducasse

I have 3 weeks off, what should I build?


I'm a software developer, I just quit my job and I start my next role in 3 weeks. I'm looking for a realistic 3 week long project to keep myself busy because I know I'll get bored very soon otherwise...

I mostly do JavaScript by day, but I like to learn new things/languages/frameworks/concepts/etc by night, so send your ideas away! :)


  👤 devthrowawy Accepted Answer ✓
Build a compiler or small emulator if you want to get better not more web CRUD. But really don't code on your break, i'd say buy some shrooms and walk around the woods.

👤 speedgoose
If you learn new things, you should expect to not produce much in result. If you want to produce something cool, you should consider using technologies you already know well.

If you want to do web stuff, you could try Elm or Rust in WebAssembly perhaps.


👤 rikroots
Nanowrimo - start writing the book you've always wanted to write! https://nanowrimo.org/

👤 teleforce
Congrats on your new job!

Since you are good at Javascript and willing to learn a new language, why not try to help port CRDT based library e.g. Automerge to compiled language like D language:

https://github.com/automerge/automerge

It seems that Automerge algorithm is quite stable now just need a good native/compiled language implementation especially for enabling local-first desktop applications.


👤 mulmen
Congrats on the new job!

I have a week off in early November and I plan on setting up a small homeserver for Jitsi so my family can use that to stay in touch over the holidays. I’m also looking for some kind of self-hosted social media type deal that I can invite a few friends to.


👤 protabot
You should go from from backend to front end on a very simple app (perhaps an app to count based on a screen click?) . A summary of sorts, on the process of coding and how to get to a final product. This is something I wish I had alas I am crunching through weeks on codecademy try to get and idea of backend first, and then front end. Not really sure how they are supposed to fit together.

-A wannabe


👤 dannyz3
If you're really feeling like pushing into new concepts, check out the alpha library for IDX (https://idx.xyz) -- uses p2p tech to manage information and identity (for apps and users) in a fully decentralized and direct way. Should work well with other local-first tools like Automerge that other posters have suggested.

👤 pkrotich
Just decompress and come up with ideas for future projects - become an idea machine. At least that is what I would do.

👤 abstractspoon
FWIW my best stuff has been written out of hours when the pressure to perform/complete disappears and I can relax into a more creative space.

ps. I've been developing the same freeware for 17 years and it's got me through many difficult times.


👤 Minor49er
Why did you quit your job so early if you had no plans for your own work, but still wanted to work anyways?

👤 fsflover
Consider the security aspect of computing: install Qubes OS and try to use it as a daily driver.

👤 gitgud
Try building an opensource project. It's rewarding to contribute back to the community.

An easy way to start is to make a plugin for a framework that you're familiar with. Find something annoying and try to make it easier with a plugin.


👤 sergiotapia
don't write code, literally do anything else.

👤 zapperdapper
If you really must! A little static site generator is a nice one. The great thing is, it's the kind of thing you can pick up whenever you have a spare few minutes, as there's always some new little feature you can add...

👤 quickthrower2
Other than not being bored, what do you want to get better at? Start with a goal based on "wouldn't be cool if I could Z, or I had X, or the world had a Y", and find a project to suit.

👤 throwaway889900
You've got a backlog of some kind, be it games, movies, other projects, etc.; take a break and get through some of that. You know it'll only grow otherwise.

👤 dimeatree
For design, I recommend reading solidbook.io - Focuses on Domain-Driven-Design, plus it's a great quick read.

👤 ystad
Do what makes you happy. For me I built a queuing system. Someone asked me why?. I said because I could. Have fun

👤 kaushikt
Build a game if you haven't built one.


👤 smartera
A peer-to-peer backgammon game where you can challenge friends using an invite link

👤 aloukissas
Try Elixir LiveView! You may not return to JS for interactive apps again :)

👤 RocketSyntax
try some nodejs lambda jobs w a nosql db. pick a national park and go travel.

👤 smarri
A skill for Alexa

👤 thinkingemote
Be bored. Explore what being bored really is. Let that guide you and motivate you

In other words take the time to find out what interests you, not us.


👤 sochtakeeda
a whatsapp logout button.

👤 thrownaway954
get out from behind the keyboard and go the f*ck outside and explore the world for the next 3 weeks. seriously... there is more to life than programming the next great thing and 3 weeks is a long time in this life. you might find your soul mate in the next 3 week.

here are some ideas to start:

http://www.weirdus.com/

https://www.geocaching.com/play


👤 throw51319
Lol go travel. Why would you waste 3 perfectly good weeks doing the same thing you do all the time for your job?

👤 austincheney
Build an operating system with full GUI and file system support that executes in the browser. Its what I am currently working on.

👤 runawaybottle
Train a neural net model which when given a database table, and an expected json output, generates the query, parsing and formatting function.

Then train a model which when given a json object, and expected visual output, generates the React component.

Then contact me, because I’m so over it.