TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Joy of Small Projects

398 pointsby dschroerabout 3 years ago

30 comments

simonwabout 3 years ago
One tip I&#x27;ve picked up from experience: avoid projects that have user accounts.<p>If your project has user accounts, you&#x27;ll get users who you have to take responsibility for. Then it&#x27;s not a side-project any more, it&#x27;s a part-time job.<p>These days I much prefer side projects which have no user accounts at all (like <a href="https:&#x2F;&#x2F;www.niche-museums.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.niche-museums.com&#x2F;</a>) or that are open source tools where the end user installs and uses the software without me having any involvement at all (like <a href="https:&#x2F;&#x2F;github.com&#x2F;simonw&#x2F;shot-scraper" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;simonw&#x2F;shot-scraper</a>)
评论 #30982337 未加载
评论 #30984020 未加载
评论 #30983944 未加载
评论 #30986935 未加载
评论 #30983726 未加载
评论 #30982640 未加载
评论 #30983647 未加载
评论 #30983041 未加载
评论 #30991835 未加载
评论 #30983816 未加载
评论 #30991721 未加载
评论 #30986035 未加载
评论 #30983157 未加载
评论 #30989250 未加载
评论 #30983319 未加载
eternityforestabout 3 years ago
Trouble is... I don&#x27;t think I could build anything that I&#x27;d actually have a use for in less than 1-3 months, except for extremely ad hoc things that you can&#x27;t really predict in advance, like a file convert and rename script.<p>I can think of 4 projects on my own, lifetime total, that I would consider ready for a &quot;Version 1.0.0&quot; tag, and far more that regret ever spending time on, some that required more time on top of that to disentangle myself one(Especially with hardware, where you&#x27;ve now got physical stuff to deal with).<p>The only small projects I&#x27;ve been happy with are the pure toys and decorations. One was a replacement for fortune, but it generates them dynamically using a MadLib style text replacement engine. Another was a candle flicker simulator.<p>Anything tool or infrastructure or library-like has usually become a regret, save for one multiyear megaproject, and a few things with zero reasonable alternatives.<p>I think the best small projects are the ones that are purely self contained, that will never have anything else depend on them, that will never be part of you &quot;personal baggage&quot; to maintain.
评论 #30985110 未加载
cersa8about 3 years ago
For me it works best to start a project in such a way that it is easy to get back to. Fully expecting and embracing getting bored and leaving it gathering dust for a while.<p>For this to work I have docs folder with a todo.txt, architecture.txt, questions.txt and features.txt. I push it early to a private gitlab repo and use a language like TypeScript that makes it easy to come back to and make changes without fear of braking things. It won&#x27;t be the first time that I get excited (again) by something and can continue on an existing project.
评论 #30984455 未加载
评论 #30982328 未加载
levmiseriabout 3 years ago
One such simple project for me was <a href="https:&#x2F;&#x2F;kvak.io" rel="nofollow">https:&#x2F;&#x2F;kvak.io</a>. A weekend crafting for a need I had and couldn&#x27;t find anyone offering - a simple online notepad where I can share the note by just copying the url and the &#x27;sharee&#x27; continues writing.<p>The process itself is indeed very fulfilling and joyful.
评论 #30988756 未加载
评论 #30987619 未加载
评论 #30993372 未加载
评论 #30982196 未加载
评论 #30981287 未加载
alin23about 3 years ago
I’ve created the rcmd app switcher (<a href="https:&#x2F;&#x2F;lowtechguys.com&#x2F;rcmd" rel="nofollow">https:&#x2F;&#x2F;lowtechguys.com&#x2F;rcmd</a>) in 2 days, going from statically assigned hotkeys in my BetterTouchTool config to a real menu bar app with dynamically assigned hotkeys for my most used apps.<p>A big part of that time was spent creating the icon, and copy pasting boilerplate code from my other app for the menubar UI.<p>Coding the main functionality of the app took little time and it still remains one of the most fulfilling projects I’ve completed.<p>Of course, I have invested a lot more time since then, especially in handling edge cases with odd keyboards, only because I wanted the app to be useful to as many people as possible.<p>But it could have stayed the way it was as well, where a 2-day project was still solving a problem thousands of people had.
ransom1538about 3 years ago
My last projects were controversial. lol. Finished it in 3?ish days. Ruby&#x2F;Rails&#x2F;mysql. The elevator pitch: &quot;You place your github project on the site, you rate atleast 5 people&#x27;s github project, people will view and rate your github project &quot;. It was a fun way to view rando github projects and share feedback.<p>Github security reached out. Banned. All accounts locked. Creepy lawyer emails. Threats. Then i remembered we are in a closed garden now. It isn&#x27;t 1998.<p>Then I was like oh! I will try another one. What if we allow people to automatically delete comments under 0 points on HN. I had a simple script anyone could run on their laptop. Posting was Flagged. Removed from front page in 10 minutes.
评论 #30985230 未加载
评论 #30983165 未加载
评论 #30983527 未加载
tbrownawabout 3 years ago
This sounds like it about doing projects <i>for the sake of saying they&#x27;re completed</i>?<p>My projects tend to be because I want something from them (explore a new toolset; have a working dish disposal; make my car able to play audio from bluetooth; not have to care about network filtering on random wifi aps; get a history of just how bad the temperature difference between rooms at home really is). They&#x27;re &quot;done&quot; when either I have (enough of) what I want, or I lose interest and decide it doesn&#x27;t matter that much anyway.
评论 #30990430 未加载
sideprojectabout 3 years ago
I think it&#x27;s important to define what it means for you to &quot;finish the project&quot;.<p>Is your project &quot;finished&quot;, when you see an MVP that you can release to the world? Your project now has a minimum set of features that delivers the initial value you thought it would deliver?<p>Is it worthwhile to do a Show HN on it? (and risk no one clicking on it because HN receives so many submissions? :)<p>Is it worthwhile to release on PH? (and so many products launched in PH thesedays are... pretty much well-polished, revenue ready - if not funded etc)<p>What comes after you &quot;finishing&quot; your projects? Will you continue? or move on to something else?<p>For me, one of the ways to define &quot;finishing&quot; was to make sure that it launches with some type of payment plan. It is an MVP, but it also has monetization in it so that should anyone else wish to pay for it and use it, they can do so immediately.<p>Sure, not all projects are about payment and those projects are fine (which is why I said &#x27;one of the ways&#x27;...) but if I know that this is something that I&#x27;d like to continue to work on because I enjoy it and I know it has legs, I try to find some way of generating revenue to see what the response would be.<p>Thoughts?
评论 #30981931 未加载
not-my-accountabout 3 years ago
This is great. The fact that there is an incredibly low marginal cost for software projects has been on the front of my mind for a while. Compared to working on something mechanical or electrical, you can get from &quot;fuzzy idea&quot; to &quot;workable-ish code&quot; with incredibly low cost in time and money.<p>I&#x27;ve learned a lot about browsers, for example, chugging away at a little toy website[0] with a buddy. I know it is simple, but it blew me away that I could dig into webkit to see why stuff worked the way it did. We are incredibly lucky to be digging into such an accessible field.<p>[0] <a href="http:&#x2F;&#x2F;legomosaicdesigner.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;legomosaicdesigner.com&#x2F;</a>
评论 #30981654 未加载
评论 #30997003 未加载
pronlover723about 3 years ago
I know this will probably not be well received but there are many frameworks that are force multipliers. I see people whip out nice hobby crud sites in a few days with rails. I kind of made one with meteor once though meteor is sadly dead.<p>Another example is Unity and Unreal. Go to any game jam and see how amazingly productive the people are that have learned them and know where all the easy to use assets are as well.<p>Of course the problem with the frameworks (and game engines) is that it&#x27;s a many month upfront investment to learn them and get comfortable so that when you do want to bang out a new hobby project in a weekend you can.
评论 #30985496 未加载
la_fayetteabout 3 years ago
Last year I participated in the advent of code challenges. I remember a puzzle from day 16 [1], which took an afternoon or more .<p>The idea is really great, however it seems quite hard to solve interesting problems in this short timeframe.<p>[1]: <a href="https:&#x2F;&#x2F;adventofcode.com&#x2F;2021&#x2F;day&#x2F;16" rel="nofollow">https:&#x2F;&#x2F;adventofcode.com&#x2F;2021&#x2F;day&#x2F;16</a>
评论 #30982339 未加载
评论 #30981180 未加载
rickdeveloperabout 3 years ago
Great read.<p>I think this is a good place to reference Tiny Projects [0], which to me are a manifestation of what is described here.<p>[0] <a href="https:&#x2F;&#x2F;tinyprojects.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;tinyprojects.dev&#x2F;</a>
m_herrlichabout 3 years ago
I can barely finish a leetcode hard in a few hours, let alone something I would call a project. Still, this is an inspiring approach to tackling day to day work in incremental micro-projects.
评论 #30980967 未加载
dimkr1about 3 years ago
For me, the best small side projects involve some kind of porting (between protocols, OSs or CPUs), contribution of a fix for a visible but mysterious bug, or revival of codebases in bad shape, especially when they&#x27;re unfamiliar and written by others. You can learn a lot from a software engineering culture that&#x27;s different from yours or small, feasible projects that allow you to understand the bits and bytes of something unfamiliar in a fun and useful way. These projects are great to develop flexibility and general problem solving intuition. And getting familiar with the 20% of an idea, a protocol, a programming language, etc&#x27; that&#x27;s used 80% of the time in real-world use cases, is often enough.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;dimkr&#x2F;gplaces" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dimkr&#x2F;gplaces</a> (Gopher -&gt; Gemini port)<p><a href="https:&#x2F;&#x2F;github.com&#x2F;dimkr&#x2F;paho.mqtt.embedded-c" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dimkr&#x2F;paho.mqtt.embedded-c</a> (revival of an abandoned library, WebSocket+TLS+Windows+Meson porting sub-projects)<p><a href="https:&#x2F;&#x2F;github.com&#x2F;dimkr&#x2F;loksh" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dimkr&#x2F;loksh</a> (OpenBSD -&gt; Linux)<p><a href="https:&#x2F;&#x2F;github.com&#x2F;dimkr&#x2F;locwm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dimkr&#x2F;locwm</a> (OpenBSD -&gt; Linux)<p><a href="https:&#x2F;&#x2F;github.com&#x2F;puppylinux-woof-CE&#x2F;woof-CE&#x2F;projects&#x2F;1" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;puppylinux-woof-CE&#x2F;woof-CE&#x2F;projects&#x2F;1</a> (a bunch of GTK+ 2&#x2F;X11&#x2F;X.Org -&gt; GTK+ 3&#x2F;Wayland&#x2F;wlroots porting sub-projects)<p><a href="https:&#x2F;&#x2F;github.com&#x2F;dimkr&#x2F;gtk" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dimkr&#x2F;gtk</a> (x86_64&#x2F;ARM64 port of a 90&#x27;s library)
dysocoabout 3 years ago
I like the ethos behind this post; I&#x27;ve been struggling to finish projects for years, I get desmotivated, jump into another thing, don&#x27;t finish it, come back after months now lost again, advance a little bit, drop it after a weekend, repeat, etc.<p>I will try to use the framework presented here but I&#x27;m not sure exactly how to apply it, for example the project I&#x27;ve been meaning to finish is what I call a very dumb compiler (parse a very simple language and emit x86_64 assembly code but without any optimizations, the most naive thing that will work).<p>It&#x27;s hard to think how to reduce this problem to something I could do over a weekend; I have to do a lot of research, thinking and trial and error because I&#x27;m not an expert in writing parsers or anything like that.<p>I feel like this might only work in certain occasions.
评论 #30989992 未加载
评论 #30981192 未加载
评论 #30982921 未加载
cjohnson318about 3 years ago
I was between clients for a few weeks and I wrote some apps for practicing musical scale patterns in different keys, and something to automate voice leading from chord to chord. Best three or four weeks in the last few years.
评论 #30991923 未加载
thundergolferabout 3 years ago
I shipped my &#x27;smallest&#x27; side project last week[1]. It was someone DM&#x27;ing me on Twitter trying to engage with my half-finished website that encouraged me to spend most of my weekend getting it to MVP.<p>It is annoying to ship something that isn&#x27;t as polished as I want it to be (order fulfilment is a bit janky). But this annoyance is certainly outweighed by the joy of actually delivering something. The polish can come later is a decent amount of people start engaging with the digital project.<p>1. <a href="https:&#x2F;&#x2F;ddiaflashcards.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ddiaflashcards.com&#x2F;</a>
jatinsabout 3 years ago
Probably works for a certain class of projects, but not for many.<p>For example just recently Zas editor[0] was on HN whose developer spent &gt;1 year building it. How do you restrict that to a weekend?<p>Similarly the creator of bun.sh[1] (Javascript build+runtime) has been working 80 hour weeks on it for 6+ months.<p>Ambitious projects like those _will_ take time.<p>[0] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30952084" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30952084</a> [1] <a href="https:&#x2F;&#x2F;bun.sh&#x2F;" rel="nofollow">https:&#x2F;&#x2F;bun.sh&#x2F;</a>
评论 #30990498 未加载
lambdasquirrelabout 3 years ago
Meh... someone of us like the depth that comes from longer-term projects.<p>Don&#x27;t get me wrong, I&#x27;ve taken art classes that taught me to appreciate smaller, shorter things. And I think it&#x27;s important to take that spirit into longer-term projects. But I think there&#x27;s just a lot more &quot;small&quot; projects these days, what with the combination of APIs, funding, hackathon culture in engineering, and prototype culture in design. The pendulum has gone all the way to the end. Which is fine too, but some of us are going to want to go the other way.
评论 #30981559 未加载
bambaxabout 3 years ago
Ok, maybe. Examples would help, though. Specifically: describing the process that goes from the big dream to the smallest implementation feasible in an afternoon.
评论 #30981225 未加载
FunnyLookinHatabout 3 years ago
Short projects are an excellent way to learn a new tool or framework. Want to learn Next.js? Looking for an excuse to try that new Golang game engine? Pick an obscenely small goal and you&#x27;ll likely have more fun exploring the docs and learning the tool than getting stuck in the weeds of the myriad requirements not helping you learn that new tool.
评论 #30982818 未加载
stazz1about 3 years ago
This is delightful and well-stated. I don&#x27;t think a timeline is necessary, but I do think a sense of urgency &quot;get the prototype done as cleanly and quickly as possible&quot; is helpful. Create an exhibition of the smallest novel component. And there you have it, progress.
aabbcc1241about 3 years ago
A small project [1] that I use often on projects and teaching is a text-based ERD editor. Being text-based means I can write it with minimal tooling (with vim or vscode) and in git-friendly format. Since the students (and myself) requested more functions, I keep enhancing it occupationally but it is already useful since day-1 :)<p>I think the key motivation is being able to see the actual users (ideally also being the active user yousrelf)<p><a href="https:&#x2F;&#x2F;erd.surge.sh&#x2F;" rel="nofollow">https:&#x2F;&#x2F;erd.surge.sh&#x2F;</a>
bkqabout 3 years ago
I&#x27;ve worked on simple projects, but nothing I would consider small in the sense that I had them done in a matter of hours. But it is satisfying having a project come together in terms of completion, even more so when you reap the benefits of its use. The one that comes to mind for me would be the static site generator I built for my site, something I spent some time working on as I continued to use it, and tweak it for my needs.
rhubarbcustardabout 3 years ago
I agree with this and I haven&#x27;t done enough of these kind of projects but I did create this parkrun map as the one on the parkrun website was not very good.<p><a href="https:&#x2F;&#x2F;www.moreofless.co.uk&#x2F;map-of-parkrun-5k-running-events" rel="nofollow">https:&#x2F;&#x2F;www.moreofless.co.uk&#x2F;map-of-parkrun-5k-running-event...</a><p>It&#x27;s really simple but I use it often myself and other people are finding it too, which is nice.
Voklenabout 3 years ago
&gt;Make your projects small and finish them every time.<p>The only part I would disagree with. It&#x27;s also important to know when to kill a project that&#x27;s not going anywhere, where finishing won&#x27;t provide any value. Yes, finish <i>almost</i> all your projects, but there are those few that are not worth reluctantly dragging out (especially if you&#x27;ve now found another tool that does the job).
ChrisMarshallNYabout 3 years ago
I do small projects all the time. Most are modules for integration into larger ones, but I develop and publish them as standalone projects. In fact, I’m working on one right now. I’ll probably publish it tomorrow.
mtoddsmithabout 3 years ago
One of my more useful tiny projects was simple command line search until for the windows registry. It helped a lot back when I was making installers and apps that used the registry a lot.
didipabout 3 years ago
So, how do you balance between small projects that bring joy vs projects that can make tons of money?
评论 #30982779 未加载
arvindrajnaiduabout 3 years ago
What does “finished” even mean?
评论 #30985659 未加载
评论 #30996920 未加载