9 ms·
A one-side-project-per-month challenge
- eb0la 10y agoI had the same idea: starting one project per month for 2017. I guess 2016 is too now short to achieve something relevant ;-)
- krapp 10y agoStill haven't finished my Game a Month project for January 2016...
- ggoerlich 10y ago1GAM challengers are very welcome! Just add your games to the Hall-of-Fame list!
- krapp 10y agoAwesome. I'll be sure to do that in 2026 when it's actually done.
- lucaspiller 10y agoI did 3 months in 2014 (I think?) then got stuck. It wasn't so much finding the time that was the issue for me, but deciding on a game I'd like to build. Although that's pretty much the story of my side projects, I spend more time procastinating over what to build rather than building it.
- krapp 10y agoI keep getting distracted by turning parts of my side projects into their own side projects. The game I was working on (basic Berzerk clone) was simple enough, but once I decided I needed to use Lua (why? I don't know, I just did) and rewrite the ECS (it's still terrible) and have a vector-based camera for 2D scrolling, which Berzerk never even had (and rewrite the vector class, of course, even though it already worked) and I spent a week writing a state machine for basic enemy AI, implementing it, wondering if an ad-hoc possibly Turing complete pseudolanguage implemented in std::vector was really the correct solution, hating it even though it worked despite being an affront to programming, and deleting it, along with all of the game states that used it, and starting over from scratch, I realized I wasn't actually making a game anymore, so I gave up. And by "gave up" I mean I'm working on the nth complete rewrite right now. The ironic thing is, it could have been done by the deadline - most of the gameplay was already there, if I'd just focused on the forest and not the trees. But in my defense, the camera is pretty darn smooth, and I seem to have gotten a lot of useful code out of the effort, but not an actual game yet.
- ggoerlich 10y agoFeel free to join me! I wrote a little article on how to come up with project ideas. You could start right away: https://medium.com/@gerji/12-months-12-side-projects-are-you-in-c395dbcd648e#.p8ir4pdl0 https://medium.com/@gerji/12-months-12-side-projects-are-you...
- exDM69 10y agoOne month projects sound great but with my busy schedule that would be only about 8-16 hours of butt in seat time, which isn't enough for a substantial project. I can think of some "toy" projects in that timeframe, though. And some peripheral utility projects that might be useful in the future. I've been at my "main" side project for more than 5 years with no end in sight. I wish I didn't have to have a day job. I'd have no issues keeping myself busy, but I'm a terrible businessman and I doubt I'd make any money.
- ggoerlich 10y agoThat's what it's all about: to get something done and learn new things instead of (or in addition to) those long running, never finished side projects. I have a long running project too, 1PPM are my side-side projects.
- Cyph0n 10y agoOne or two side projects is enough for me. Side side projects is taking it too far imo: there are other things I'd rather spend my time doing.
- exDM69 10y agoSounds like a good idea. What worries me a bit in this idea is that it takes a surprising amount of time to polish a project so that it is "done". Or at least left in a state where it is easy to pick up later, by yourself or someone else. I have tons of projects where the "beef" is mostly done but README, example code, tests, etc are lacking. Starting a project takes surprisingly long too. Setting up a build system, test framework, CI builds etc always take much longer than I anticipate. Keep these pitfalls in mind. Best of luck to you.
- ianai 10y agoCan you serialize your long term project into 12 smaller ones?
- exDM69 10y ago
- strictfp 10y agoExcuse my ignorance, but aren't we glorifying speed here at HN? I think one project per month is way too fast to acheive anything of substance. If you're spending one hour three days a week, you'll only have 12 hours to finish a project. Even if you quadruple that, 40h isn't all that much for completing anything interesting at all. I have spent more than a year off and on on my latest side project, and it's not finished yet. Having felt the pressure in the coding community myself, I've spend significant time improving my speed and I now find myself being on of the fastest coders in my company. Sure, that buys you a certain type of edge. But even if you're fast, a lot of time goes to thinking about problems, reading research and such. And someone who's constantly panicking trying to write as much code as possible will most likely find themselves digging a whole for themselves.
- ebbv 10y agoI think instead of thinking about 1 hour three days a week, think about spending most of your weekends on the projects. You can get a lot done in 2 weekends. It is a fast pace but I think the idea is to not set yourself up for huge projects that don't get done; work towards small projects that you can complete in a month.
- highCs 10y ago> Excuse my ignorance, but aren't we glorifying speed here at HN? I think one project per month is way too fast to acheive anything of substance. I think it's not about achieving anything of substance, it's about learning to code. Coding your own project from scratch is very hard and then effective for learning.
- joshux 10y agoKen Thompson wrote Unix in a month.
- preordained 10y agoWasn't that all he was doing? Also, could be mistaken, but pretty sure he was Ken Thompson.
- 10y ago
- gravypod 10y agoCode is useless if it is for nothing. Don't write code just to write code, write code to solve a problem you are having. If you're having 1 problem per month, then write 1 project per month. If you encounter 50 problems in one month write 50 projects in 1 month. If you encounter 0 problems in one month, write 0 projects that month.
- ebbv 10y ago> Don't write code just to write code, write code to solve a problem you are having. What if the problem I'm having is that I don't know Haskell? It's totally fine to code exercises that don't serve any useful purpose. Just like it's fine for me to make terrible songs on the guitar that nobody would ever want to hear.
- atonse 10y agoMy take with the analogy here is that you're still playing the guitar to make songs (an end product), instead of just learning how to pluck strings for the sake of plucking strings and testing how different strings of different materials feel for the heck of it.
- ebbv 10y agoBut that latter thing is still something guitarists do. You might throw some new strings on and noodle around for a day with no particular purpose in mind. Likewise it's fine to write code with no bigger goal other than to play with a library or a language.
- gravypod 10y agoThere is a different between prototype and project. If you're experimenting with features you're not making a project. If you're making a project (I hope) you're not experimenting with features. That should be done in a prototype.
- nickpsecurity 10y ago
- highCs 10y agoI really love to see that. I believe great programmers are the one who've started countless projects from scratch on their own (of course my opinion is oversimplified here). This, 1PPM, is really what you're looking for if you want to become a great programmer. Nothing else, just that. So go for it.
- preordained 10y agoI...don't know about that. I've worked with several programmers who were great at getting something up and running, but we're kind of crap at going deeper--adding depth, maintaining. I'd go as far as to say they typically had an attitude of "I got it up and running, mission accomplished!" Maybe they need to get closer to that 1000 mark to learn the value of planning for the long term, making something you can continue to build on, etc.
- arekkas 10y agoGood software, like wine, takes time.
- truth_sentinell 10y agoThe main idea I think is not to build quality software, but to actually get shit done. You can refactorize later if you feel like the project has future.
- davidwparker 10y agoI'm surprised by all the negative reactions. Of course you're not going to be making anything substantial in a month (most likely). Instead, you'll learn to actually finish (or semi-finish) projects and ship them regularly. This is very much like One Game a Month (http://www.onegameamonth.com/ http://www.onegameamonth.com/). The idea is that write, learn, ship. It's nice. If you find that one of your projects takes off, or you really like it, then continue to work on it. Edit: grammar
- jt2190 10y agoThe headline should be "The One Project Per Month Challenge." For me, the term "Side-Project" implies that the goal is to generate revenue, which is not the goal of this challenge. (Edit: phrasing)
- neogodless 10y agoIronically I think the meanings are the exact opposite! "Project" means billable to me, while side-project means "hobby" or practice.
- jt2190 10y agoI realize that this is becoming horribly pedantic, but the term "side project" is used a lot [1][2] to mean: "Someone who works full time but also builds a product on the side in the hopes that it will one day generate enough revenue that they can quit their day job." In the context of this thread (a complaint about negative comments) I thought I'd point out that the title had been changed from the original [3], and that the change could perhaps, for some people, cause them to think that this was about trying to generate income outside of their day job, when in fact it was about just doing some small projects on a timeline. [1] https://training.kalzumeus.com/newsletters/archive/do-not-end-the-week-with-nothing https://training.kalzumeus.com/newsletters/archive/do-not-en... [2] https://blog.asmartbear.com/working-startup.html https://blog.asmartbear.com/working-startup.html [3] HN doesn't generally allow for changes to the title. Why it was allowed in this case is unclear to me.
- 10y ago
- ensiferum 10y agoMy "side project" (or actually just one of them) has taken +10 years and thousands of hours. So I just wonder that what kind of things that produce value can you expect to create in 1 month (assuming you're putting like few hours every day) ?
- nickpsecurity 10y agoMySpace went from idea to launch in 10 days per the Wikipedia article: https://en.m.wikipedia.org/wiki/Myspace https://en.m.wikipedia.org/wiki/Myspace This project a month scheme is a crap shoot that will produce little of value in terms of tech released itself. A few valuables among a bunch of misses. Yet, decent ideas can be prototyped in a month or less with enough feedback to determibe if they're worth further action.
- adamqureshi 10y agoWe are building a MVP in 3 days. Long weekend! Its doable yo! Simple AS potatoes! Look MA no POLISH. ;-)
- notheguyouthink 10y agoI couldn't do this. My big thing is i always want to be working on personal projects that solve problems in my life. If that ends up with cool stuff, great! But i've been burnt out too many times on making things for other people. It's one thing if i set out to make a passive income, but that's work in my opinion. My side projects are open source commitments of mine, and assuming the "thing" works well and solves my problem, i'm contributing to it for years to come. Or at least until the problem is solved in another way. If i'm really lucky, side project can become passive income (ie, providing hosted versions, etc), but that has yet to happen, and i'm fine with that. I'm solving my own problems, which i find quite enjoyable! (not trying to be negative, just my take on it)
- morbidhawk 10y agoI like this idea, I've got a handful of side project ideas that I always go back and forth on having/losing steam on and I end up never finishing them. I also go back and forth on whether my side project should be open sourced or not. Why did you decide to open source all of your personal projects? What if it became something great that you later find out could be sold for extra income, would you regret open-sourcing?
- notheguyouthink 10y ago> Why did you decide to open source all of your personal projects? What if it became something great that you later find out could be sold for extra income, would you regret open-sourcing? I think that's a decision to be based off of what it is. If that's a concern, and if open source has limited inherent value to you or the project, perhaps it shouldn't be. For me, i highly doubt my currently projects will make any money. Primarily home automation, and home cloud-lite stuff, Storage, etc. Nothing ground breaking, and where it might be "ground breaking" (though it's not), i specifically strive to not have it be ground breaking - a pillar of my work lately has been simplicity, ease of use and ease of maintenance - being side projects and all, i don't want anything i write to confuse me in two years. So yea, i have no concerns about it being open source - and so i default to OSS. If it gains any adoption, i get contributors, testers, UX requesters, etc, all things i want. So OSS is purely a boon for me, in these cases. edit: Plus, i like being able to add a trail of work on my resume/site/etc that i'm proud of. For few side projects that i have left closed source, i split off as much code as i could making them into OSS libraries and such. Even if the core of it can't be OSS, some of it can i'm sure :)
- ilzmastr 10y agoHow do I submit ideas for other people?
- giancarlostoro 10y agoMy guess is fork and do a pull request? Or create an issue beforehand to ask if it's ok to do that.
- neovive 10y agoI might give it a try, but on a slightly less intensive schedule--maybe one project every two months. It doesn't sound as catchy, but a bit more realistic. Best of luck with this initiative.
- ianai 10y agoI didn't see anything in the premise requiring anybody to actually stick to the timeline. I doubt he/she is going to delink from someone for something like that.
- jmnicolas 10y agoPersonally I'd be happy with one project a year or even a decade really ;-)
- truth_sentinell 10y agoDo you have 3 lives? You can't afford that if you want to build stuff. We actually have 15 years (on average) of useful life from 20 to 70 if you're lucky.
- gooseus 10y agoI think this definitely an interesting idea, I have at least 1 new idea a month but usually just talk to close friends about them and move on with life. I agree that expecting to create 12 great projects next year is a stretch and odds are that 12/12 will become vaporware, however, the lessons learned and the potential (albeit small) for any one of them to actually become something makes this a worthwhile endeavor to me. Actually reminds me of something I read from Antifragile[1]: > Rule 4: Trial and error beats academic knowledge. > Things that are antifragile love randomness and uncertainty, which also means—crucially—that they can learn from errors. Tinkering by trial and error has traditionally played a larger role than directed science in Western invention and innovation... [2] Say what you will about NNT's writing style, but the guy makes a lot of sense to me. [1] https://www.amazon.com/Antifragile-Things-That-Disorder-Incerto/dp/0812979680 https://www.amazon.com/Antifragile-Things-That-Disorder-Ince... [2] http://www.wsj.com/articles/SB10001424127887324735104578120953311383448 http://www.wsj.com/articles/SB100014241278873247351045781209...
- franciscop 10y agoI've been publishing around 1 library (some small and some medium for 1 person) every other week. However, most of them are related around building front-ends using ES6[0][1] or building websites with Node.js[2][3]. I am also doing some experimentation with robotics/AI (voice/image recognition) but those are just side projects like [4], not publishing anything. [0] http://superdom.site/ http://superdom.site/ [1] https://github.com/franciscop/uwork https://github.com/franciscop/uwork [2] https://github.com/franciscop/loadware https://github.com/franciscop/loadware [3] http://github.com/franciscop/server http://github.com/franciscop/server [4] http://anchor.science/ http://anchor.science/ PS, I think all of those (and some more) were done within the last 2-3 months.
- navd 10y agoSeems to be some people that think you can't do something in 1 months time. First of all I think the biggest thing you'll learn is how to CUT features out of something that you're building. Since you have 1 month, you really need to think about what problem you're trying to solve and cut out all the fluff that isn't necessary. The second biggest thing you'll probably learn is HOW TO ship! A lot of people work on 'side projects' but no one ever really ships them. It's the hardest thing to do honestly. It helps you get over any insecurities you'll have building something. Especially when you release it to the world. Building and launching is more than just building a product. It's a learning experience.
- sigvef 10y agoWe do something similar at work. Here's two of the monthly side projects we've come up with this fall: https://www.zombocam.com https://www.zombocam.com https://www.musicvideodispenser.com https://www.musicvideodispenser.com
- baboun 10y agoMeh. This is more fun: https://levels.io/12-startups-12-months/ https://levels.io/12-startups-12-months/
- chrismorgan 10y agoHmm… I like the idea. I think I might take it up, focusing on finishing things I’ve already started but never published, with either prototype implementations or something for which I’ve made at least some progress. I’ll get through half the year on those alone!
- superquest 10y agoI made a resolution like this a couple years back because I had never completed any nontrivial software projects. For me, it worked better to start with much smaller projects and scale upwards. I started trying to do a project a day. Initially the scope would always be too large to complete in a day, but with this quick feedback loop I learned to narrow scope. Then I proceeded to week-long, month-long, and one multi-month project. It's a good method if a one month side project seems intimidatingly large to you — which was how I felt before this exercise, but no longer felt this way afterwards.
- bluejekyll 10y agoI don't like this. Seems like encouraging a lot of bad starter projects that are never useful. It would be better to do code challenges/exercises for practice and learning. Like write a hashmap one month, write a linked-list (in C then in Rust) another. If we want something useful, how about, contribute to a new open-source project every month. That challenge may end up with some major benefits to the community. It will also teach you how to work wth others, etc.
- ggoerlich 10y agoI added to the 1PPM README file, that a contribution to an open source project is a perfectly valid and highly encouraged project. Thanks for your remark.
- huherto 10y agoI like the idea. Sounds a good approach to get good at doing things fast. You could even significantly improve the quality of your work. Anyone remembers the pottery class experiment ? They partition the group in two. One partition would be graded on the number of pottery pieces. The other partition was graded on the quality of the best piece. The result was that the first partition no only got more pieces. They also made better pieces. They just practiced more.
- sjs382 10y agoI tried this about 2 years ago (or 3?) and man, it's a hard pace to keep up. I think I ended up with 4 projects out of the bunch before I needed a burnout break. One of the projects ended up supplying a bunch of mostly-passive income, so that was great.
- halis 10y agoThe valuable part of this article is to limit a startup idea to one month of initial effort. And don't continue the effort unless after a month you can gain some sort of useful validation that there is a market for your idea. This also means that you will have to stick to the basic core of your idea and skip lots of details, in order to have something that can be shown after a month. I've seen too many startup ideas that people started working on that weren't necessarily bad ideas, but their plan was to make an MVP, the scope of which would take a team of engineers at least a year to deliver.
- darkstar999 10y ago> I'm surprised by all the negative reactions. Welcome to Hacker News, where everything gets shit on!
- dang 10y agoPlease don't diss this community while participating in it. Your comment actually does the thing it is criticizing. That's indicative of how complex the problem you refer to is. We detached this comment from https://news.ycombinator.com/item?id=13284556 https://news.ycombinator.com/item?id=13284556 and marked it off-topic.
- mSparks 10y agoplease take your life somewhere else.
- xchip 10y agoJust added two projects: - A physics engine: https://github.com/aguaviva/Physics https://github.com/aguaviva/Physics - A Neural network: https://github.com/aguaviva/ArtificialIntelligence https://github.com/aguaviva/ArtificialIntelligence The point was to learn the basics by implementing everything from scratch, I also wrote a tutorial to make sure I understood the theory.
- kazinator 10y ago> 12 Months / 12 Side Projects - Are you in? Nope, busy 7.5 years into one side project; thanks for asking.
- dalacv 10y agoI'm just going to place this here: https://bubble.is/?ref=WDZ7KSFG https://bubble.is/?ref=WDZ7KSFG
- traviswingo 10y agoI really like this idea. There is a terrible tendency to over engineer the things we make as developers. The practice of finishing and shipping as actually much easier said than done. I'm in!
- freyir 10y agoI was thinking about doing something similar this year. I settled on one project per quarter, which would let me take on things slightly more ambitious. But in a way, I like the extreme constraints set by one project per month, which will likely force someone to approach projects completely differently than they're used to.
- pieterhg 10y agoDid this 2 years ago, radically changed my life: https://levels.io/12-startups-12-months/ https://levels.io/12-startups-12-months/ I was about to give up and get a day job.
- binarydivision 10y agoFound your post-project debriefings very interesting to read, thanks for documenting your experience so thoroughly. If you don't mind, I do have a question: what did you do in terms of the legal side? I.e. did you start a new company for each month, do each within an existing corporate umbrella, or just not worry about that until you needed to? Or maybe something else entirely?
- pcbje 10y agoFunny, I started the ggraph project (https://news.ycombinator.com/item?id=13283961 https://news.ycombinator.com/item?id=13283961) pretty much exactly one month ago.
- karimf 10y agoI remember quality vs. quantity story of ceramics class. [0] > The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality. His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the "quantity" group: fifty pound of pots rated an "A", forty pounds a "B", and so on. Those being graded on "quality", however, needed to produce only one pot - albeit a perfect one - to get an "A". Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the "quantity" group was busily churning out piles of work - and learning from their mistakes - the "quality" group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay. [0] https://blog.codinghorror.com/quantity-always-trumps-quality/ https://blog.codinghorror.com/quantity-always-trumps-quality...
- SonicSoul 10y agoI love this story and I want it to be true. I've tried to trace it in the past but seems every source tells a story without any details. So not sure if this is a parable or actually happen. I believe that practice/iteration is the way to improve, it just seems a little too black and white In a similar vein on producing quantity of work before trying to be perfect, I always refer to Ira Glass's video The Gap. Must watch if you haven't seen https://vimeo.com/85040589 https://vimeo.com/85040589
- 0xdeadbeefbabe 10y agoMakes you want to become a ceramics instructor just so you can have a primary source. P.S. I'd listen to Ira more if he didn't sound so annoying.
- hawkice 10y agoThe comments here are borderline nonsense. I kept up a pace of releasing a working web widget (didn't charge for them, but all meant to be useful) every four days for months. Last year I released at least three dozen without burning out and honestly probably would have been happier releasing more. One for-pay product a month would be pretty reasonable, as long as you set expectations well. Sound hard? "Costs $3" sets the expectations correctly. The amount of scaling back on ambition here is bizarre. This isn't shooting for the moon. Now, marketing, that's something that takes time. I have no words of wisdom there.
- rawoke083600 10y agoI just launched www.fibretiger.co.za an online fibre comparison site in South Africa, we got over 8 fibre networks and more than 20 fibre isps.
- wonjun 10y agoI just began https://pingtiger.com https://pingtiger.com
- orthoganol 10y agoThe most important outcome for me when I did this (for 6 months) was my own webapp generating infrastructure, modules for common things with a whole lot of scripting to integrate 50-80% of all features (payments, chat, onboarding flows, landing page templates, dashboard templates, checkout flows, profile creation, etc.) depending on the app. Of course, building this infrastructure took about 4,5 months to put together and is an ongoing project, but was only possible after building 7 webapps in a row. I'm confident I could get a serious looking prototype for pretty much any webapp idea in less than a month, and depending on the app maybe less than a week. (As an aside, if you're going to do this, you should also get Sketch and learn how to do graphics.) I built all my infrastructure, modules, and scripts on top of Rails, and I may be biased, but I do credit my success with this to the ease, simplicity, and maturity of Rails. Popularity debates aside, is there any better framework for rapid prototyping than Rails?
- SEJeff 10y agoWell if you're a Python person, Django is amazing, and if you're a golang person Gin Gonic is amazing. Not everything webapp is Rails, although Rails is wonderful for prototypes. The only two very large rails sites I was ever consciously aware of were Twitter (now all java) and Groupon (now mostly node).
- orthoganol 10y agoKickstarter, AirBnB, Github, Scribd, Bleacher Report, Hulu, Codeacademy, the 100+ startups that message me for interviewers every year, etc. I was only making claims for rapid prototyping. I still contend for prototyping there is no better framework than Rails. From the start DHH designed Rails specifically for prototyping of web apps, and your custom prototyping infrastructure will sit very nicely on top.
- SEJeff 10y agoNo better Ruby framework than Rails. We both agree there!