Ask HN: What do I do with my side projects?
Even if I don’t make any revenue, I think they will help me stand out in the job market. I think some of them would be a better fit for open source than others. Most of them would probably be more useful to power users than general users. I would be a little upset with myself if I give them away and get nothing when there is a chance to make some income.
Either way, I’ve heard that marketing is important. Now that they are mostly done, this will probably be what I work on next. For some advice, I've been in contact with a successful independent developer. They attribute their success to hard work, and a large portion to luck and timing.
If you also have any personal experience with side projects you can share that might relate to my situation I would appreciate it. Did you release the project as open source or closed? What went well? What mistakes did you make? Etc.
Some more background information for those interested. There are a few bigger projects that I have worked on. The first is a goal management app with a focus on habit creation that uses the Beeminder API. The next is a tool to help learn more advanced keyboard shortcuts. A couple are related to window management and window switching, sort of an alt tab enhancement. One is educational content for having a better relationship with your screen based devices.
I graduated from college close to four years ago. After I graduated I was struggling to find a job related to my degree (Applied Computing Technology) so I took on a job to get by and I started to work on my side projects more. Before I knew I it I was working on them a lot. It has gotten to the point where I have finished most the major work on them. I want to do something with at least a couple of them as I get more serious about applying for jobs related to my degree again.
67 comments
[ 3.5 ms ] story [ 138 ms ] thread- All software is derivative. Yours included. Putting it out there is like planting a seed for more to grow, even if it’s just an AI ingesting your work.
- The last two points aren’t mutually exclusive.
Put your work out there in the clear for free, as in freedom, but paid, as in you can get paid. Just don’t expect much.
I think the key here, is that when you buy a coffee, you're reasonable sure of what you'll receive. You know coffee, you probably know the store, and although not all coffee shops are great, it's likely going to be good enough.
When you buy a random one dollar app, you spin the wheel, and the odds of that wheel landing on anything useful to you is extremely low. You have no way of telling if the app is the result of honest hard work, or the result of a cookie cutter build made from some user on fiverr.
So for me, it's not existential crisis, but an exhaustion from past annoyances.
Apple really screwed up by not making subscriptions/fee apps visible up front until later in the same so the whole thing has a seediness to it.
Well, coffee does literally contain an addictive substance that needs frequent replenishing. Perhaps this is why companies like FB and TikTok try so hard to make their products addictive too.
Typically the marginal value of a better job in software dwarfs the revenue you could make from selling software.
"Applied Computing Technology" is not something I've ever heard of, however. It's a bit hard to give advice, because I can't tell what kinds of jobs you might be likely to get; going 4 years between degree and job suggests that your options might be somewhat limited. Having evidence of successful open source projects might make you stand out.
- If you strictly made it to make money, then release it as a paid product but assume it might not make any money at all or that it will take time to make money. I believe that there's a general advice to shut down a project that doesn't make money in a very short time but some projects take awhile to gain traction. You can also use this as a learning experience in marketing/sales. Play around with the pricing over time (starting with much lower rates than you'd planned for) and see what works. You'll learn from it.
- Another option is to shut down the project entirely. You still have your code and they might come in handy when you work on other projects in the future (this has happened to me with multiple side projects)
Have you gotten any feedback from people on these projects? If you get feedback from people that might give you a hit as to whether they might be willing to pay money for such things.
When you put a lot of time into something and are understandably pleased with the result it can be hard to look at it objectively and you are likely to overvalue your work relative to someone who isn't invested in it. Maybe just look at them as a stepping stone learning experiences to bigger and better things.
Here’s the recipe for success, as far as I can tell: 1. You’re not going to make any money from your side projects. Internalize that, and believe it. 2. Do everything in your power to try to make money from your side projects.
Both parts are important. Step one means that you won’t take it personally if you fail. You won’t be disappointed because you weren’t hoping for anything to begin with. Step two means you’ll actually put in effort where it counts, by analyzing the situation dispassionately. Do those things that people say are important. Market your work. The best marketing I’ve found is to make entertaining HN and Twitter posts (seriously; 100% of whatever small amount of notoriety I have stems from these two sources). More importantly, design your apps to be gathering money. That means doing something that most people would call "a dick move". Perfect example: I just tried a 3d scanner app called prodAR. There was no tutorial, some of the interface was broken, it didn’t support screen rotation, and it demanded $30/yr before it allowed me to save my scan. I paid the $30. Why? Because it yields the best scans of any app I tried. It delivers quality where it counts, and wastes zero time anywhere else. This is the essence of being effective.
Personally, I’m terrible at step two. I can’t bring myself mentally to be ok with shipping a 3d scanner that doesn’t e.g. support screen rotation. That’s also why I haven’t shipped anything that generates passive income, and why I’m trying to steer you the other direction. It’s really ok to ship crap, as long as it’s crap in areas that aren’t the core value proposition of your product. It’s arguably necessary to ship crap if you ever intend to make money. Even pg would admit his initial v0 of startup news was (very) slightly crappy in areas that didn’t get in the way of the essence of what became Hacker News.
That’s the best I’ve got. Good luck, and I hope you make a nice passive income stream for yourself. Don’t underestimate the effects of growth; even $30/mo should impress you, not disappoint you, as long as you focus on exactly one thing: make that number go up over time, superlinearly. https://paulgraham.com/superlinear.html
Imagine fighting with a keyboard AI to let you sling a fuck-you when you feel it’s warranted. Yet it’s easy to imagine the whole paragraph getting reworded by the AI to remove the whole basis for you saying fuck-you in the first place. I don’t know whether to feel grateful it toned me down, or upset that it’ll get in the way of what I originally wanted to say, bad idea or not.
Sorry for the tangent. It’s just interesting to imagine the weird world we’ll be in ten years from now. It takes about a decade for huge effects to become apparent, and the battle for language itself is one that I don’t think many people realize is coming. Being prevented from swearing vs prevented from voicing improper thoughts is too close for comfort.
But, market forces will prevail in the end. I still have faith that we’ll see a pushback from people fed up with safety filters, and that a startup can capitalize on this as an initial target market. Grok was the first of hopefully many.
Like the Stockdale paradox:
https://www.jimcollins.com/concepts/Stockdale-Concept.html
I didn’t say anything for many minutes, and we continued the slow walk toward the faculty club, Stockdale limping and arc-swinging his stiff leg that had never fully recovered from repeated torture. Finally, after about a hundred meters of silence, I asked, “Who didn’t make it out?”
“Oh, that’s easy,” he said. “The optimists.”
“The optimists? I don’t understand,” I said, now completely confused, given what he’d said a hundred meters earlier.
“The optimists. Oh, they were the ones who said, ‘We’re going to be out by Christmas.’ And Christmas would come, and Christmas would go. Then they’d say, ‘We’re going to be out by Easter.’ And Easter would come, and Easter would go. And then Thanksgiving, and then it would be Christmas again. And they died of a broken heart.”
Another long pause, and more walking. Then he turned to me and said, “This is a very important lesson. You must never confuse faith that you will prevail in the end—which you can never afford to lose—with the discipline to confront the most brutal facts of your current reality, whatever they might be.”
To this day, I carry a mental image of Stockdale admonishing the optimists: “We’re not getting out by Christmas; deal with it!”
It's great that you have written the projects, but: realize that there are dozens, hundreds, maybe thousands of similar apps out there. Unless you actively enjoy marketing, don't try to sell your apps.
But to sell software to someone else, you need to know that the benefit you’re offering to potential customers is something that they actually want or need.
For example, the tool to learn keyboard shortcuts. How many customers want that? How many customers have a pain point with being unable to learn keyboard shortcuts? Of those people, how much are they willing to pay for the solution? How will you find those prospects and convert them into paying customers?
Your ideas haven’t really been validated by anyone (unless they actually have users and you haven’t mentioned it)
The other part of this equation is that having a business with customers is way often far more work than the time spent building the technical solution.
You say that these solutions are basically done but that’s the easy part. If the goal was to make these projects into a business you might as well have pitched the ideas before you even built them…because if prospective customers showed you their disinterest you could have spared yourself the time and effort actually building them in the first place.
If you have a thousand people who gave you their email for a waiting list for beta access to a product you haven’t even started building that’s way better than having a finished product with no interested parties.
All of that said, my advice would be to put those projects in your portfolio for your resume for your industry job. They can be the projects you talk about when interviewers ask you about your experience (but you also need to convince employers that you can work well on a team team others).
If you want a job in the industry you need to focus more on the quality of your resume and your job application process than any of your actual coding work. The task of getting a tech job is almost entirely detached from everything you’ve done to this point. You are working a numbers game where less than 10% interview rate is normal and expected, so your job now is to be as efficient and effective as possible, putting on the best show for prospective employers.
I would get more eyes on my resume to hone it and make sure it is one that will get you a high interview percentage. I wouldn’t waste my time on the side project stuff unless one or more of them was something I was confident in enough to dedicate a significant effort into making selling and supporting that product.
I don’t know if junior devs have a different experience but I don't find projects help you stand out at all. Third party recruiters are going to find you, via linked in if you have the right keywords in your profile, and they will get you interviews.
Getting a “call back” may be a champagne popping moment in other professions, but not in software engineering, getting interviews isn't the problem its passing the random af broken af technical interview, system design, behavioral/culture interview.
but everything youre optimizing for is the “call back”, which your projects wont help with
speaking of junior dev, that really just means lack of validation from a company for several years. so all you gotta do is form a company say you worked for them and point to their product. literally just do a wyoming llc for $120 online, make a website about the product, say you worked for that now real company. congratulations you're a senior engineer now, you’ve already done the software work just transpose it on the dumb uncalibrated ways employers try to identify competence
I’ve hired a bunch of people and any whiff of dishonesty or things not quite adding up is one of the biggest red flags you exude
a. Open sourced software is immediately found and used
b. Getting money from software is as easy as placing it online
Neither one is true, nobody will give you money without you putting it some effort, whether it’s through advertising or if you already have a sizable following ready to buy your products. If you’re neither, feel free to open source it and expect zero user and zero income, just have it as a showcase if you’d like.
I tried both. Selling small apps is an uphill battle against Apple updates forcing you to buy and recompile. And even if people only paid $1, they will expect professional support. Nowadays, niche apps on iOS don't work financially.
And my experience with releasing useful tools as open source was that companies started linking to them in tutorials, and then their customers sent me unfriendly email and demanded that I provide support for the tool and solve their problems (for free). Most useful open source tools have companies paying the core crew.
For your CV, a video of the app working is probably just as valuable as actually releasing it. And then you can always link to a private copy of the source code in your CV.
EDIT: I focused too much on the negatives at first. What did work well for me was $10/month SaaS and $100+ professional desktop apps. But going there requires lots of polishing, marketing, and I hired support employees.
Out of curiosity, what sort of tool were you offering? I’ve always heard about this but it’s never been my experience, so it really depends on the type of end user you have imo.
OP is currently trying to find a job and I think any attempt at open-sourcing his tooling (especially if it is useful) allows potential employers to review him in a better light. Abandoning it all seems wasteful when more and more companies try to find more reasons to filter out candidates.
With that said I think there is some value in putting stuff out there without any marketing. Even if you don't have plan to monetize it can be rewarding in itself. The trick for me is to have a good way to minimize maintenance, which means use the same scripts and mgmt utils for several projects so you don't have any snowflakes that require special configuration.
Its better than nothing, better than others without projects, but it wont carry much weight unless its some widely used thing
Only exception is if your project matches the company's market or their products very closely. That may get you a meaningful advantage
For example, how to backup a running Linux server with rsync while using hard links to deduplicate files that didn't change.
On the one hand: yes, it's short and it's snarky
On the other hand: I feel like this is a legit use case for AI. ChatGPT is polite to the edge of obsequiousness and there has definitely been times when I wanted to say "No" but didn't want to lash out at the person - getting an AI to put together a first draft of a polite "No" is incredibly useful and a great starting point. If nothing it reduces the amount of time I spend agonizing over "Is this email ok? Is it at least reasonable?"
CLV for a free game can easily be $5+ and that means when you market your niche app you compete for ad slots against people who are happy to pay $1-2 per install. But for a $1 app you can at most pay $0.7 per install after the store tax and then you're not making any revenue to pay for support, development, and the devices you need to buy for testing.
Which license did these tools have? AGPLv3 scares away most of the companies, especially stupid ones like those you described.
Hey, I recognize that name. https://github.com/hiAndrewQuinn/anki-zero
Put yourself in the shoes of a person looking to recruit someone for a job. What is more important to you: Getting the best possible talent you can, or getting talent that won't fuck things up? Most of us need to hire for the latter.
>I would be a little upset with myself if I give them away and get nothing when there is a chance to make some income.
Putting well-developed projects on Github creates a hard to fake signal that you at least kind of know what you're doing. You are aware not only of how to program, but of several of the other things around how people build modern software nowadays. If you get some stars or whatnot, even better - that shows you know how to create software other people are actually interested in using.
In other words, if your projects end up being even 10% of the reason you manage to land a job in the industry, then they will have been worth many hundreds of thousands of dollars over the course of your life. That's how I have always seen it, at least.
It's OK to abandon your side-project
https://news.ycombinator.com/item?id=39500386
it's unlikely you will be able to live on the income from your side project, particularly in what seems to be very niche.
Having made actual useful things would put you above at least two-thirds of the grad candidates I've interviewed (though that is in a South African context).
I think a trap for software creators is to think that making the software is the hard part about making a successful product that generates income. The hard part of any business is the part you do not like doing, have little experience with and don't really know how to approach. For Marketing majors, the hard part is creating an actual product. For CS folks, the hardest parts include marketing, client acquisition, sales.
I would say: either you give your products / efforts away (possibly in some hobbled form for upselling like https://news.ycombinator.com/item?id=39492618), or you treat the "other side" as actual work and put in the effort to make it profitable. The latter also includes educating yourself on how to go about it, also using professional sources where necessary.
The critical mistake many devs make is making something that just isn't very marketable. It might solve the problem, but say, the screenshots don't look very appealing. The marketer has to sit the customer down for 40 minutes to explain it. If it needs a video to explain, it's probably poorly designed.
Say, you're making a Pomodoro Technique app. It looks like a tomato. Color theme is tomato-like. It makes a ticking sound and a bell sound. There's an indicator of time left. You don't even need words on a page to market this to the target audience.
You can have a Pomodoro app that looks like a spreadsheet and plays some music instead of having a visual indicator. This is both harder to develop and harder to sell. It might do the same thing, maybe better! But it's hard mode.
The latter step means if someone is willing to provide any improvements then they must publish it, which allows you to point at it as being the one now up to date.
I choose AGPL for mine.
I am tempted to completely not mention them in mine, even though I have hundreds of thousands of users
Why? Because they distract from the "clean track record" of working for big corp, and perhaps the hiring manager will think less of me because of them ("not devoted to big corp enough"). Worse, they might think I will quit my job as soon as I am able to make a living from them, which isn't true but not entirely false either
There’s your problem. You see the side project as sunken cost. Something you need to recoup. And yet, it’s already given you more than you asked for.
Hundreds of thousands of hours can go into something and be open source and free. Because the value gained is far greater.
If it helps you rationalize the choice to open source, or "give away for free" as you put it, maybe go through the list of open source software you daily drive, or that has repeatedly helped you out, and consider this "giving back". I did this a few years ago with a dozen mostly unfinished, smaller projects. Nothing blew up. The most successful one has 8 stars. Zero comments or issues. Still, maybe someone found some part of it useful, copied a class or two, something along these lines. I know that it has happened to me before that some weirdo on GitHub somewhere solved a problem I had and I just sneakily copied a couple functions and bent them into shape for whatever I was doing at the time.
I’ve fallen into the trap where I was building a side project with a glimmer of hope that it will turn into a viable venture. I really enjoyed building them, but did not appreciate how much I enjoyed it at the time. I now try to be more aware of how much I really enjoy them while I work on them.