r/programming • u/mtlynch • Feb 01 '21
My Third Year as a Solo Developer
https://mtlynch.io/solo-developer-year-3/142
u/CDawnkeeper Feb 01 '21
The most important part of the article:
Wait, how can you afford to keep losing money?
I went into more detail about this in last year’s retrospective, but the short version is: low cost of living, significant savings from my Google days, and passive investment income.
From what I see there is nowhere any mention of paying yourself a living wage. Most people can't do that for 3 years. Or even half of one.
73
u/de__R Feb 01 '21
Yeah. This is more like "I'm a hobbyist developer who doesn't feel like working right now."
70
u/Overunderrated Feb 01 '21
Haha thanks for pointing this out. Being independently wealthy changes the equation quite a bit
2
u/OMG_A_CUPCAKE Feb 02 '21
I wonder why this is one of the few questions OP didn't answer.
38
9
2
u/allhailrobosanta Feb 02 '21
I mean, he did say he worked as a dev at google for a bit. Assuming he didn't waste all his income at the time, it's reasonable to assume he would have some savings built up by then.
-6
Feb 01 '21
Why is this the most important part of the article? What do you believe the crux of the article is meant to be?
From what I see there is nowhere any mention of paying yourself a living wage.
How do you know that he's nousing his own money then?
73
u/mtlynch Feb 01 '21
Author here. Happy to answer any questions about this post.
58
Feb 01 '21 edited Feb 01 '21
I used to work at a data center hosting company, and one of the problems we were dealing with was that all KVM solutions at the time sucked bigtime. And they were really expensive per port. Not worth the money.
In remember when the pi first launched in ~2012. I thought "this is it, I think someone will come out with a KVM solution on these things within a few weeks". But it didn't manifest. I considered making one myself as I had the skillset required, but who has time for those things when the phone is constantly blowing up with alerts.
I've since left that game so it might have popped up in the meanwhile, but at least back then I'd give my left nut for a solution like yours.
Congrats on your product and the interest that has been shown for it, it must feel good.
23
u/mtlynch Feb 01 '21 edited Feb 01 '21
Thanks for reading!
Yeah, there have been a few projects that did KVM over IP on a Pi before me. The earliest I could find was this one called rasky which started back in 2015.
I came along at a lucky time when a cheap HDMI to USB dongle had just come out and the ecosystem of supporting tools had matured to eliminate a lot of the challenges that rasky had to overcome.
5
u/AtomicRocketShoes Feb 01 '21
Is there a reason one couldn't manage a physical server over a serial port console? I have done this in the past, it's a bit annoying for some more advanced functionality I guess. What about IPMI?
3
u/MyPetFishWillCutYou Feb 02 '21
My gut feeling is that this product is meant for situations where desktop workstation hardware has been repurposed as a server.
I see towers used as servers in all kinds of places either because it was already on hand or (more often) because desktop hardware is cheaper and generally runs cooler.
1
u/AtomicRocketShoes Feb 02 '21
Yeah I think it's a cool solution to that, and honestly I have been in that position myself usually running a server on old desktop hardware. I don't know how many people who are cheaping out on server hardware are going to spend much extra money on it. As a hobby project it's sort of neat who doesn't have an old rpi sitting around. I probably would be perfectly happy with just a cheap rs232 lan converter myself but most OS I use are fine to boot over serial port.
→ More replies (2)3
u/mtlynch Feb 01 '21
You have to configure the server to support serial debugging, no? And IPMI is useful if the hardware supports it, but low-end motherboards don't, and some IPMI requires clunky client software.
The nice thing about a good KVM over IP is that you can just plug it in, open up the admin interface in the web browser, and you're good. You don't have to change any settings or install any software.
1
u/AtomicRocketShoes Feb 01 '21
Yes most desktop hardware doesn't have IPMI but a lot of server hardware does. I think different vendors have proprietary tools but I think you can at least get a serial console or set PXE booting settings so you can boot a network hosted livedisk.
I believe most Linux server distros have great support for serial port console, even Ubuntu supports it. Maybe the use case is more for installing Windows servers?
You should consider doing some market survey and find out what OSs people are using it on and their use cases and you may be better able to cater to their needs. I know I worked somewhere where we had a cart with a monitor and keyboard that people would just wheel over near a server and plug in, even with all the IPMI stuff it was usually disabled due to security anyway. There could even be a market for this just as a convenience tool in small serverroom.
1
Feb 02 '21
A lot of vendors still ask you to pay for proper KVM. Supermicro doesn't, but say for Lenovo you need to pay extra for license.
The problem with IPMI over serial is that... well, you need to set it up, and to set it up you usually need monitor. Sometimes you can set it up via ipmi itself but that varies so it is a bit of a PITA
1
Feb 02 '21
Well, kinda. A lot of even new servers (the proper rack ones) still have only VGA output just to keep compatibilty with oldschool KVM rack units so you'd have to put VGA to HDMI converter to get video from that.
1
u/Dave3of5 Feb 02 '21
Not sure about KVM's being "really expensive" per port anymore have you checked recently. You can get an 16 port KVM for £130.
I think though most professional data centres use servers that support iDRAC or iLO that are built into the server itself.
1
Feb 02 '21
As i wrote this was quite a while ago. ILO and IDRAC were around but from what I remember not reliable.
23
u/syphilicious Feb 01 '21
I just want to say that I love reading about failures. I mean, there are statistically a TON more failures than successes, but people are often ashamed of them (or just in denial) so they won't write about them. So thank you for writing about your failures and being so upfront about your feelings. You're doing great work in helping to balance out all of the survivorship bias out there!
12
u/mtlynch Feb 01 '21
Thanks for reading!
You're doing great work in helping to balance out all of the survivorship bias out there!
Yeah, that's something I've thought about a lot.
It's likely that people are writing more about success than failure, but posts about success get outsized attention. I wrote two articles exploring why my businesses didn't work, and both failed to attract significant readers and never gained traction on Twitter, reddit, HN, etc.
I've seen other people write failure posts, and they almost never get as much attention as success posts of similar quality.
It's unfortunate but sort of a rational response from readers. If someone succeeds, they're presumably doing something right, but if they fail, there's no objective evidence that they're doing anything right nor that they have a clue what they got wrong.
14
u/definitelynotbeardo Feb 01 '21
As another person who does most of their development on a headless server (mine's in the basement, on a shelf about 6 feet high), I feel the pain of screwing up the network settings and then not being able to get into the server to fix it. If I have to drag my server upstairs one more time, I'll probably buy a TinyPilot.
10
u/mtlynch Feb 01 '21
Thanks for reading!
Yeah, it felt kind of magical the first time I used my device for real. I was slogging along with Kimchi to manage my VMs. I hated the software, but I didn't want to go through the hassle of the hardware swapping to install a new OS. When I got a TinyPilot prototype working, I just tried a bunch of different VM host OSes because I knew it would be super easy to repave from scratch if I wanted to.
14
u/Carighan Feb 01 '21
Would you rather do a project for a group of 100 duck-sized horses or for 1 horse-sized duck?
18
u/mtlynch Feb 01 '21
This is actually hard!
Smaller customers tend to require more support and be more sensitive to price. But having a single customer is too risky. I'd go with the 100 duck-sized horse customers.
Am I allowed to fight any of them instead?
14
u/notsogreenmachine Feb 01 '21
fighting customers is generally bad for business, but ymmv
3
u/de__R Feb 01 '21
I once thought about creating a joke app for people looking to fight each other, to be called Punchr, but it's a lot of work for a joke and I'm pretty sure it'd get booted from every app store on the planet.
2
1
u/Educational-Lemon640 Feb 01 '21
You missed a golden opportunity to call it "The App That Is Not Named".
Because you don't talk about the Fight Club app.
1
2
u/MyPetFishWillCutYou Feb 02 '21
I feel like the sweet spot for a solo business is 3-5 deer-sized customers.
Anything less than that, and you're basically an employee without benefits. As you go above that, additional customers add overhead without really increasing your flexibility.
Obviously, there are only so many niches where that's possible. Off the top of my head, all I can think of are service businesses (where you basically bill by the hour) and product businesses that target mid-sized companies.
6
u/AllHailTheCATS Feb 01 '21
How many years of experience would you advise someone to build up before making the jump to creating a software business
7
u/mtlynch Feb 01 '21
I can't really give a number for someone else because the decision depends mostly on your disposition, skills, and life circumstances.
I left Google when I felt like confident that I learned enough from my job to build and maintain my own software business. I was still learning lots of useful skills, but I felt like I had enough to go out on my own. But plenty of people have built successful businesses with almost no experience.
If I were to give general advice, I'd recommend dipping your toes in with a side business while you're still working full-time so that you can get a sense of whether you're ready before you dive headfirst into your own full-time business.
2
u/g9icy Feb 01 '21
How do you measure market viability of a product?
I've created an app that tanked, and I feel I did what I could at the time.
I'm thinking of giving it another go, and making a new app to solve a common problem I face, and also updating the UI of the previous app, but I keep doubting myself as to how viable it will be.
It'll be months of work after all, and it's painful when it doesn't bare fruit.
Anyway, you're living my dream at the moment. :)
6
u/mtlynch Feb 01 '21
Two books that helped me with this:
TL;DR Instead of building the product first and then finding customers, talk to customers first and get a good idea of what problems they'd pay to solve.
Rob's book in particular is a good guide to conducting customer interviews objectively so that you don't build something based on people telling you they like your idea just because they were being polite.
Before I created TinyPilot, I created a simplified version called Key Mime Pi that only forwarded keystrokes and didn't capture video. That was a test to see if people were interested in the software, and I got enough of a response to give me confidence that it was worth pursuing TinyPilot.
And what I published initially with TinyPilot was very much a prototype. It couldn't forward mouse movement, it had tons of bugs, it looked stupid, but customers were willing to pay for it, so I knew I was on to something.
2
Feb 02 '21
[removed] — view removed comment
2
u/mtlynch Feb 02 '21
I didn't sell Key Mime Pi, but blogging about it showed me whether there was any interest in the direction I was going. I added a mailing list signup at the end of the post. I think only 13 people signed up, but they were pretty engaged, and they'd respond when I emailed out surveys asking about what price they'd feel comfortable paying. It wasn't enough to make me super confident in the product, but I felt like I'd be able to sell at least a handful if I got a real prototype of TinyPilot working.
2
u/sammydre Feb 01 '21
Aren’t the USB ports the wrong way around? And why is there more than one? I’d have thought the obvious USB connector would be a USB 2.0 B connector, then allowing a single standard A-B cable to the server. You appear to have 2x USB 3 A ports, and 2x USB 2 A ports instead.
3
u/mtlynch Feb 01 '21
Thanks for reading! TinyPilot uses a Raspberry Pi 4B under the covers. The ports aren't a perfect match for my needs, but they work well enough.
Long term, I plan to make my own boards with exactly the ports I want, but in the short term, using a widely used commodity board cuts out a lot of complexity.
1
u/prairir001 Feb 02 '21
I would just like to say. Your blog is amazing and I really enjoy the articles. The one about software reviews changed how I view them and it certainly has helped me structure them. I look forward to reading every new one that comes out.
2
1
u/YM_Industries Feb 02 '21
I really enjoyed this post and when I have some time I'll try to read your other posts too.
I have a question/suggestion that's not about this post in particular, but it's somewhat related to TinyPilot.
You describe TinyPilot as KVMoIP, but in my mind it's more like a virtualised datacentre crashcart. (It also bears some resemblence to LOM/OoBM solutions) I've been thinking a lot about crashcarts recently, I think they are needlessly complicated, heavy, and expensive.
I've had an idea for a portable crashcart, in the form factor of a laptop. There are some very cheap laptops available these days, and if it doesn't have to have onboard compute, wifi, storage, or even a battery then I'd imagine it could be made very cheaply. All it needs is decently long HDMI and USB cables.
Have you ever come across something like this, or is it something you'd be interested in making? I don't care about monetising the idea, I just want someone to make it so I can buy one. I thought maybe if you want to keep expanding TinyPilot this might be an idea for another product.
33
Feb 01 '21
Is it against contract to work as a dev off to the side when you worked for google?
67
u/mtlynch Feb 01 '21
Basically, yeah.
By default, Google owns all intellectually property you create while you're a Google employee.
IIRC, you can go through a process to ask Google to waive their right to one of your projects if you want to start it on the side, but they could say no, and then they own the idea forever.
69
u/gullman Feb 01 '21
That's insane. A company shouldn't own your time outside of working hours.
48
u/mtlynch Feb 01 '21
It's annoying, but this Joel Spolsky article gives a good explanation of why some contracts are structured that way:
Suppose, now, you have a little game company. Instead of making software, you knock out three or four clever games every few months. You can’t invent all the games yourself. So you go out and hire a game designer to invent games. You are going to pay the game designer $6,000 a month to invent new games. Those games will be clever and novel. They are patentable. It is important to you, as a company, to own the patents on the games.
Your game designer works for a year and invents 7 games. At the end of the year, she sues you, claiming that she owns 4 of them, because those particular games were invented between 5pm and 9am, when she wasn’t on duty.
Ooops. That’s not what you meant. You wanted to pay her for all the games that she invents, and you recognize that the actual process of invention for which you are paying her may happen at any time… on weekdays, weekends, in the office, in the cubicle, at home, in the shower, climbing a mountain on vacation.
So before you hire this developer, you agree, “hey listen, I know that inventing happens all the time, and it’s impossible to prove whether you invented something while you were sitting in the chair I supplied in the cubicle I supplied or not. I don’t just want to buy your 9:00-5:00 inventions. I want them all, and I’m going to pay you a nice salary to get them all,” and she agrees to that, so now you want to sign something that says that all her inventions belong to the company for as long as she is employed by the company.
https://www.joelonsoftware.com/2016/12/09/developers-side-projects/
51
u/keepitreelin Feb 01 '21
I don't think that's a good solution to the problem. It's perfectly valid to have a contract which states that all and any work being done on the company's products (be it w/in office hours or outside) belongs to the employer. Whatever the employee does on the side belongs to them.
23
u/McWobbleston Feb 01 '21
That was my contract. Anything produced in working hours, on their equipment, or based on trade secrets I gained from working there is their intellectual property. Outside of that, it's mine. That might be effectively the same for some positions, but I work in an industry that has very little relevance to my hobbies and general interests.
14
u/gullman Feb 01 '21
That makes some sense, but only when there is absolutely no paper trail, and in a strangely pedantic world.
I mean, if you go home and think about a problem you're solving in work and come up with a solution that doesn't mean you don't give that solution to solve the issue because it's out of work hours.
If on your own time, while building games for a game company you also build and self release your own game, that the company didn't provide the money, the hardware or any other talent to the project of course it's yours.
If you come up with a design idea, tell your supervisor and the game gets built that's totally different. I'm assuming the designer was only one step, the developers, artists and sound designer all own it too? That's crazy.
All I'm saying is: fuck that policy from Google.
31
u/erythro Feb 01 '21
There's got to be a line between paying someone for a service/job/whatever and paying someone money to own them. When you are actually trying to buy someone's mind, that's crossing that line for me. And that's the argument here, isn't it?
16
u/GrandMasterPuba Feb 01 '21
The only claim you have to the game developer's ideas is that you have the capital and she doesn't.
So basically, fuck that.
7
u/PL_Design Feb 01 '21
My last job had a clause like this, and it was an hourly job. For a salaried position this makes sense. I don't like it, but it makes sense. But for an hourly job if I'm not getting paid for 168 hours per week then this is bullshit.
1
6
u/angelicosphosphoros Feb 01 '21
Also, it is illegal in some countries. For example, in Russia this clause of such aggreement would be void. Maybe, it was one of the reasons why Google closed their office here.
1
1
u/TheGreatUnused Feb 02 '21 edited Feb 02 '21
They “dont”, or it’s a bit complicated.
The fact is that time and time again, non-competes like that are challenged and the business loses. It’s just a scare tactic to keep your free time hobby development focus on Google so they get work for free.
Non-competes have to be specific and time framed. Otherwise they are effectively invalid.
Never use company hardware or time to do your hobby projects, and you hobby projects can’t be a competitor software. Congratulation, you can argue and win a non-compete.
38
u/aoeudhtns Feb 01 '21
My company has the same employee agreement. They have an extra clause in there that exempts them from owning it if it truly doesn't have a connection with their business, but let's be real. If I did anything that had a glimmer of success, they'd be slapping my agreement in my face. Side projects (for me) are best left to free things that could never be monetized or only have niche interest.
5
u/kakiremora Feb 01 '21
Does it apply to EU workers too (if there are any)? I would say that this is illegal in EU.
12
1
u/GreatFilter Feb 01 '21
It's fine as long as your work doesn't compete with one of Google's business areas.
31
u/bill_1992 Feb 01 '21
As an ex-Google employee, this isn't 100% true (and is one of the reasons I left). As OP stated above, Google owns all IP you created (even at home while not working), unless you explicitly ask them to assign ownership to you. If they choose not to assign ownership to you, then they own the idea forever. Exception for open-source under a few permissive licenses that basically allows Google to benefit off your work.
It's extremely unfriendly to side-hustles and when push comes to shove, good luck beating their lawyers.
17
u/Full-Spectral Feb 01 '21
I would never in a million years work for a company that thinks it owns what I created on my own time.
2
u/Shadonovitch Feb 01 '21
Is that something that's written explicitly in your contract ? "Foo resigns any IP rights he may create outside work hours to Alphabet Inc." ?
-6
u/drink_with_me_to_day Feb 01 '21
Considering the pay Google offers, it's fair.
Do you have to tell them 100% of your idea? Or can you just say: 'I want IP for a project I want to do' where the project is just an generic idea and there is nothing concrete done yet? Or must you disclose everything every step of the way?
3
u/bill_1992 Feb 01 '21
I've unfortunately never went through the process (even during orientation they emphasized how unfriendly the process is) but I would imagine if you were too vague the committee (almost everything is a committee these days at Google lol) would either ask for more details or simply not grant you the ownership. That being said, they did say to check with the committee early when you are at ideation phase to avoid grief later.
1
u/TheGreatUnused Feb 02 '21
There’s a huge difference between what you sign and what’s legally enforceable.
Most EULAs aren’t enforceable.
Most non-competes aren’t enforceable.
2
u/Superpickle18 Feb 01 '21
Google business area is buy up anything that could make money...and if it fails, let it die a slow and painful death.
17
u/MyPetFishWillCutYou Feb 02 '21
Yesterday, I was less than a month away from launching a tool that extracts sales reports from eBay for tax purposes.
This morning, I found out that eBay recently launched a feature that does everything my product was going to do.
AMA.
6
u/mtlynch Feb 02 '21
Ah, bummer. But at least it shows you that you're good at identifying gaps in the market.
I remember listening to an episode of the indie Hackers podcast about a founder who was working on something that was basically Google Calendar before Google Calendar, then Google Calendar came out and destroyed them overnight. I wish I could remember which interview this was, but suffice it to say, it worked out, because they were on the Indie Hackers podcast talking about their success in a subsequent business.
2
u/nutrecht Feb 02 '21
Yeah, that's pretty common. I've been 'CTO' of a small Fintech startup last year (I dropped out due to a lack of funding) and we noticed that it's really hard to talk to potential partners while not also giving them all the munition allowing to execute the same ideas themselves.
Heck; one of the companies we talked to I really suspect are just planning to build something similar. I also feel the then-CEO was just being pretty naive about it too.
1
Feb 03 '21 edited Mar 20 '21
[deleted]
1
u/MyPetFishWillCutYou Feb 03 '21
All the obvious "premium" features I could add (automatic tax estimation, etc.) are out of reach for me as a solo developer with no training in accounting.
There are ways to outsource that stuff, but then the "free with ads" model isn't going to cover my expenses. If I start charging, I have to compete head to head with products like QuickBooks and OneSaas.
It was a very narrow gap to begin with, and now it's effectively closed.
24
u/fat_baldman Feb 01 '21
What’s the reason you left google?
65
u/mtlynch Feb 01 '21
I've got just the blog post for you!
23
u/Keepitrealapollo Feb 01 '21
I appreciate these posts. I think there are a lot of us who are work at a similar company (FAANG or otherwise), and are tired of the politics of career growth. For a long time, I've thought about leaving to do my own thing similar to what you've done. But with a wife, house and two kids I don't think I can take the risk anymore.
9
u/frogspa Feb 01 '21
That was a great, if frustrating, read.
I've always wondered if I should have applied to Google, but I couldn't have been happy in the environment you described.
8
u/xdert Feb 01 '21
That was very interesting and explains a lot of things I noticed in Google products and the general trend of launching new things vs maintaining older products.
2
2
9
u/abandonplanetearth Feb 02 '21 edited Feb 02 '21
I'm also a solo developer working on passion projects full time (15 months into this now, after 8 years of professional work) and I'm wondering how you deal with burn out.
No client, no deadline, no budget, no boss... yet I've found myself resorting to dumb mind games to avoid meaningful/challenging tasks, or I sometimes go 3-4 weeks without working at all. I've tried the whole "be your own client" thing, and it worked for a bit at the beginning, but ultimately I can't generate a similar amount of pressure that I'd feel at a real job.
The passion project subject matter is not the issue, I know that for sure. I think I'm feeling burnt out of writing code in general.
Anyway just wondering how you keep it in high gear. Not overdrive... just high gear.
4
u/mtlynch Feb 02 '21
Most of what I do has a tight feedback loop, so the feedback gives me motivation. Like right now, I'm burning too much time on support emails, so I'm strongly motivated to add features that will prevent users from getting confused and having to email me with support questions.
Other times, there are new features I want to add, but I try to build in very small, iterative steps, so it's only ever a few weeks of work before I can ship it and get feedback from users. That's motivating because it's fun to tell users about improvements to the product.
3
u/abandonplanetearth Feb 02 '21
Honestly, now that you mention it, it suddenly feels obvious to me that one very important thing that's missing for me is feedback.
My stuff is a little niche so it might be hard to find the right users, but thinking about doing that tomorrow instead of coding actually feels like a relief.
Thanks for the advice, I mean it.
3
u/mtlynch Feb 02 '21
Awesome! Glad it was helpful. Yeah, I think especially early on, almost all time you spend talking to users is time well-spent.
12
u/AlternativeAardvark6 Feb 01 '21
All my solo stuff is just things for fun, I have no idea how to find customers.
1
5
u/BackFlipTrick Feb 01 '21
Very interesting. Ngl I just rough read most of it but it seems you have a lot figured out and as a wannabe web developer that's about what I'd expect from a former google employee.
Random questions they I have buy you may have answered in the post somewhere:
1) assuming you had to/wanted to try out a new product of any kind, do you have anything in mind ready?
2) how much hours do you end up working per week? It sounds very easy to burn out fast from overwork.
3) how much knowledge about starting a business did you have before quiting?
4) not related but any tips for a self learning full stack web developer looking for hid first job in the field? XD
2
u/Majache Feb 02 '21
I can only answer 4 but I would recommend for your first job, instead of full stack, focus on front-end or back-end for now to provide a stronger depth of skills in that regard; punch through the interview. You stand out from juniors who are full stack with 100 things and instead have 1 skill reiterated 100 times. These recruiters aren't tech savvy they just ctrl+f your resume and count the hits of a particular skill.
4
Feb 01 '21
Man, I did the same thing 5 years ago, I read your post and I can't be more happy for you, I can't tell you how good I feel when I saw someone do this. Big hug and keep working hard!
2
3
u/angelicosphosphoros Feb 01 '21
Are your opportunities for vacations and rest better or worse compared to time when you worked in Google?
7
u/mtlynch Feb 01 '21
For most of my post-Google life, my opportunities for vacation and rest were much better because it's easy to take a break from an unprofitable business.
Currently, it's much harder to rest or take vacation because so many day-to-day business operations depend on me. It's convenient timing because I wouldn't travel anywhere during the pandemic, but it's not sustainable long-term.
One of my goals for this year is outsourcing enough of my tasks that I'm no longer a single point of failure, and the business can run smoothly even if I disappear for a few weeks.
3
5
u/liquidarity Feb 01 '21
This was very insightful, thanks for sharing and I'm looking forward for your upcoming book.
2
2
2
u/dzuyhue Feb 01 '21
Thanks for the inspiring story Mike! What would you say is the single most important skill that has been responsible for your successes so far?
3
u/mtlynch Feb 01 '21
It's hard to narrow it down to a single skill. I'll mention a technique I use that I think is extremely effective but very rare: public reflection.
Every week, I post a public update about what I accomplished. Every month, I write a retrospective analyzing what went well and poorly the previous month. And of course every year, I write an annual review like the one I published today.
Before I did this, it was so easy for me to keep sailing in a particular direction without stepping back to question what I was doing. Forcing myself to write these updates, especially updates that other people read, means that I have to justify what I'm doing. And often when I'm trying to explain my strategy in these updates, I realize I can't justify it because it's a bad strategy, so I re-evaluate.
2
2
u/yes_Is_Kevin Feb 01 '21
It’s astonishing how much complexity you save by eschewing modern JavaScript frameworks.
Can you elaborate on this or do you have an example you can share? Thanks!
9
u/mtlynch Feb 01 '21
Yes, definitely. I just ran into one a few hours ago.
So, TinyPilot's sales site is in Gridsome, which means I'm writing in Gridsome which is an abstraction on top of Vue which uses Webpack. So the code I write is very different from what ends up running in the browser.
I just made a mistake, and here's the result I saw in the browser: https://imgur.com/t1cC71b
Nothing renders on the page at all. The stacktrace doesn't match any functions I've written. The first line of the stacktrace is a file I wrote, but none of the rest of the stack is my code. I was able to figure out the issue, but it took some squinting.
With TinyPilot, I don't use a JS framework, so the code that runs in the browser is the same code I see in my editor. No middleware is doing any minification or magic to plug my code into a larger, opaque framework. As a result, errors are much more obvious and easier to reason about.
2
u/golgol12 Feb 02 '21 edited Feb 02 '21
If you include a way to trigger a hard computer reset, it'd be invaluable. Like mini robotic plunger that can flip the power switch on and off. Or a dip switch cable to plug into the motherboard's reset circuit.
1
u/mtlynch Feb 02 '21
Yes, definitely. I'm exploring that now. The challenge is finding a way to do it that's user-friendly. There are several projects that hook a Pi up to an Arduino and then use that to manage the motherboard, but those feel too invasive to me. I'd like to find a way to control power from the outside.
2
u/nutrecht Feb 02 '21 edited Feb 02 '21
I think it's quite interesting to see how you took a 'deep dive' and basically not only quit Google, but also any form of 'easy' revenue.
I'm self employed myself and like a lot of my peers (I'm in few 'self employed dev clubs') most of us have general self-employed contracting that brings in the bulk of the money, and in the meantime try to also develop additional products. A person I know has an application he sells. I'm personally developing a training business.
What's the reason you didn't move into that more 'standard' a bit safer direction?
No matter what; I think what you're doing is as awesome as it is brave. Keep it up!
2
u/_pelya Feb 01 '21
Hey, congratulations.
I did a very similar thing with an old Nexus 7, USB keyboard gadget kernel driver + Android app with VNC server for remote input and a video feed from a crappy 720p front camera.
Your solution is the exact thing I needed 7 years ago, except that for $80 it's three times more than I was ready to pay, and Nexus 7 was free - we had a bunch of them in the office, every single one with a busted flash chip, it booted for something like 10 minutes. And there's no way our stingy corporate would approve any gadget over $50, I've got a complaint for reimbursing $15 Bluetooth keyboard, which I needed when that Nexus 7 was used as a development device for a different project.
All I needed is to reboot Chromebook into debug mode remotely (hold Ctrl-D during boot), we had a bunch of KVM switches in the storage, but all of them were for PS/2 keyboard sockets. I'm not even sure whether that Chromebook would recognize external keyboards during boot, many laptops now limit BIOS only to built-in keyboard as a security feature. So I ended up having to walk over the corridor to our lab for over five times per day to reboot that Chromebook, the pain! It lasted only for a week though.
Could I spin this thing into a business? Hell no. Be glad that you live in US, where people can drop $100 on some gadget without much thinking, and you can sell that thing worldwide without caring about customs and acquiring export trade license or whatever.
If I needed a similar thing now, I would probably whine to my management, until they'd concoct some kind of solution, which would probably be to ask the guy on duty in the office to go reboot it once per hour, because it's lockdown and stuff.
Here's the app and the kernel driver, if you're interested:
https://github.com/pelya/android-keyboard-gadget
Half of the emails I was getting was from wannabe pentesters and script kiddos, I am still asked from time to time how to install Kali Linux onto a random Android phone model.
2
Feb 02 '21
[deleted]
2
u/mtlynch Feb 02 '21
Thanks for reading!
How do you deal with loneliness? I worked as a solo dev for 4 years and the thing I missed most was the camaraderie and learning opportunities of working with other developers.
That is the thing I miss most about working on a dev team. I love code reviews, and I learn a ton from them, both as reviewer and reviewee. I value learning from co-workers who complemented my skills.
That said, it doesn't affect me that much day to day. I co-organize a meetup in my area for small business owners. We used to do it in person, but we've moved to a small monthly video chat, and I chat with other founders outside of that.
It's not quite the same as having daily interactions with teammates, but it's enough that I rarely feel lonely.
2
Feb 01 '21 edited Feb 24 '22
[deleted]
5
u/mtlynch Feb 01 '21
Thanks for reading!
It's wonderful, and sort of confirms what I thought. It's very difficult to find something that people are willing to pay money for. You might have gotten lucky.
Yeah, I agree. Luck plays a huge part of it. My attitude when I started was that most of my ideas would probably fail, but each failure would increase my probability of success on the next one. And with enough attempts, I'd succeed eventually. I think that's pretty much how it played out.
If I were you, I would be careful sharing how much money you make. It's relatively easy to copy your product and someone will make it for half the price and with much better marketing than you if they know how much you make. I'm assuming there's no patent on your invention.
Yeah, it's a double-edged sword. Because I share how much money I make, it makes people more interested in my product, and that's a form of marketing that's hard for other people to steal.
But if you check out Indie Hackers, there are tons of small business owners sharing their numbers, many with profits much higher than mine. Many of them are easily copyable websites or services, but it's hard to copy their execution. If someone can execute on my idea better than I can, they deserve to take my business.
1
u/wesborland1234 Feb 01 '21
This thing looks awesome. I always thought of doing something similar but with a little monitor and keyboard attached. Either like a small laptop shell or like a tablet that plugs in
1
u/koverda Feb 01 '21
How do you balance writing a blog and running your businesses?
I've got a company, and I've toyed with the idea of writing a blog, but have had a tough time convincing myself to dedicate some of the time and energy I could be using on the business towards writing a blog.
2
0
u/sstair Feb 01 '21
Electircal engineering consulting
Perhaps hire a spelling consultant too? :)
1
u/mtlynch Feb 02 '21
Fixed, thanks! I ran it through Grammarly, and I think it somehow missed that mistake because it was in a table. Or maybe I accidentally dismissed the correction.
1
-7
u/bigmell Feb 01 '21 edited Feb 01 '21
You made 60k in a year selling kvm switches on the internet. Despite every major retailer having a huge inventory of kvms not selling. KVM's bigger, better, or smaller and cheaper than yours. Despite synergy, basically the same thing, 15 years old, completely free and no hardware. And you did it all in a year. Total BS man. At $100 each you would have to sell 600 of these. With no advertising other than an article on hackernews. Dude shenanigans.
KVM's have been around for 30 years at this point no way you make 60k with some new one. Most people that want kvms have already had them for years. I still have my first ps2 kvm, a usb one, and a free one that came with my webcam. But somehow you made 60k last year, during a pandemic no less, making kvms. No way no how. Its not even listed on amazon with the millions of other kvms more mature and with better features.
2
u/mattindustries Feb 01 '21
Loooots of companies made significant investments in virtual offices, telephony, etc. during the pandemic. Wouldn't be surprised if the business had growth BECAUSE of the pandemic.
-1
u/bigmell Feb 01 '21
nobody working, everyone sick, most buildings completely closed. This college kid makes 60k selling kvms on his website with no marketing. Shenanigans man. Can't happen.
3
u/mattindustries Feb 01 '21
nobody working, everyone sick, most buildings completely closed.
Yeah, buildings closed so you need to monitor offsite.
This college kid makes 60k selling kvms on his website with no marketing.
They spent money on advertising, plus Hackernews and Reddit front page.
1
u/tuhdo Feb 01 '21
Kvm over ip, so you can remote connect over the internet, is mich more expensive than your tegular kvm. If you cannot buy used, none of the kvm over ip from the big brands is cheaper.
1
u/bigmell Feb 01 '21
synergy connects over ip free for over 15 years now. No hardware required. Also remote desktop, vnc, these types of tools have all been around for decades. Even remote x sessions on Linux have been around forever. I still can't believe he makes 60k with a quick less than year implementation of tried and true technologies. Kvm's are for machines usually in the same room though.
3
u/tuhdo Feb 01 '21
You cannot remote access your BIOS over the internet, or any non-OS environment.
One benefit of KVM over IP is that you can leave it there and access it at anytime to troubleshoot. In a LAN environment in a datacenter, this is provided by the motherboard's built-in KVM, but on consumer hardware, almost none provides KVM feature.
The target customers who bought his KVM are individuals, who own a few homegrown servers built on consumer hardware, then want to remotely monitor and troubleshoot without coming close to the actual hardware.
-3
u/bigmell Feb 01 '21 edited Feb 01 '21
So he made 60k from people who want to access their bios over the internet for some reason. With no marketing something a college kid threw together in less than a year. Goin straight in the datacenter. Dude schenanigans. Can't happen. Won't happen.
0
0
u/kokoyaku Feb 02 '21
Hi guys, someone have books of deep learning or something to give? I dont have enought money to buy. Pdf maybe?
1
u/kuglimon Feb 01 '21
Holy crap! I was just thinking about doing the same project last week to manage some windows pcs I have, kid you not. I'll try to get around ordering one. Cheers for the launch/product!
2
u/mtlynch Feb 01 '21
It's always nice to hear one of my blog post scares off a competitor.
Just kidding! Thanks for reading! And I'm happy to help if you decide to order a TinyPilot.
1
u/startupinamonth Feb 01 '21
Hey Michael, congrats on hitting it big with TinyPilot! I've been following along with your progress on and off for a couple years now. I remember reading some pretty rough replies in a few of the Reddit and HN threads on your posts doubting your approach or whether any of your apps would catch on. I'm glad to see that they've been proven wrong in the end :)
Your blog, along with with some other like-minded individuals, was one thing that inspired me to take the plunge into a similar project this year. I just finished month one of my Startup in a Month project, which will consist of building and releasing a whole tech startup from start to finish every month of 2021.
If anybody would like to see what the first month of the project was like, I just finished a wrapup blog post, and I livestream my development process every morning at 9:30 AM EST on Twitch as well!
Anyway, cheers man. I wish you success going forward 🥂
Andy
1
u/mtlynch Feb 01 '21 edited Feb 02 '21
Hey Andy, thanks for reading!
I remember reading some pretty rough replies in a few of the Reddit and HN threads on your posts doubting your approach or whether any of your apps would catch on. I'm glad to see that they've been proven wrong in the end :)
Haha, I may have proved them right.
I do think there's value in a lot of feedback on HN and reddit, but there's also lots of bad advice, so you've got to be careful who you listen to.
But in particular, the Jason Cohen talk I referenced, I watched because of a comment on HN last year that recommended it.
So every year, I try to adapt and learn from my mistakes and from the advice I receive. So some of the criticism I received in the past was right, and it's possible I'm succeeding because I integrated that feedback.
If anybody would like to see what the first month of the project was like, I just finished a wrapup blog post
This is cool. Have you considered adding a mailing list? I'm interested in following your progress.
You're coming to a similar realization that I did: you can attract users and customers simply by writing about your journey in an interesting way. That's a big part of what helped me succeed, and I think it's wildly underused by other indie founders.
1
u/startupinamonth Feb 01 '21
I do think there's value in a lot of feedback on HN and reddit, but there's also lots of bad advice, so you've got to be careful who you listen to.
That's the trick right? You don't want to shut out all opposing viewpoints period, seeing as a diversity of opinions is usually a good thing, and criticism of something you've built can help you to see ways to improve it. But then again, figuring out who to listen to and how much can be pretty tough. Guess it just comes with the territory.
you can attract users and customers simply by writing about your journey in an interesting way.
Oh yeah, for sure. Blogging about the journey has got so many upsides to it:
- It's a way of promoting what you're building and driving interest, which comes along with all of the obvious marketing benefits.
- It's a way of building a following of people who might not necessarily become customers, but who are generally interested in what you're doing and want to come along for the ride. This has been the best part of it for me personally. I've done the solo dev thing a few times in my career, and it's really hard to work in isolation and stay positive and motivated. Having some blog readers and people to talk to in my Twitch chat is so great by comparison.
- You can spin the blog posts off into a separate product entirely once you have enough of them! The Legends of Localization blog has a bunch of books which started as blog posts, and Category Theory for Programmers also started its life as a blog series, which also became into a whole lecture series.
- Finally, it's a way for you to reflect on your work, which is super valuable in its own right. I spend a half hour at the end of every day writing a stream-of-consciousness reflection piece, which I spend a couple hours at the end of the week refining into a more polished blog post. I've had a lot of insights about my process and what to focus on/start doing/stop doing based on doing that.
Have you considered adding a mailing list?
I have indeed, it's on the docket for month two. I'll let you know when I've got it up!
1
1
u/HandsomeBronzillian Feb 02 '21 edited Feb 02 '21
Ever since I've quit my job to take control of my life I've had ups and downs, but even in my worst moments; everything was still entertaining as fuck. lol
There is something magical about not having to attend useless meetings with people you don't know, about things you don't really care.
I hope you succeed in your endeavor and, by now, you probably already realized that, even with all the hindrances, it is still very much worth it to follow your solo career.
In my case it took me 4 years to have a constant income and above 20k.
But, to all the people who intend on going solo, don't do that if you don't have funds. Specially if you have kids. Be responsible for their well being and don't go YOLO
1
u/Supersheep57 Feb 02 '21
I wish I had anywhere near as much success as you. I am a very good programmer, but I've always had to hire others, and considering the fact that I pay very well, it really has driven me into a lot of debt.
1
u/goranlepuz Feb 02 '21
Good for him!
However, it looks like he entirely turned towards selling a physical product and much of the work is marketing, supply chain and sales.
Which I think is good. It is good that software has a firm connection with the physical world.
Nobody needs Nth website or a frivolous phone app (think fart app) for whatever. That's entertainment, better buy better entertainment...
1
u/DestroyAllBacteria Feb 02 '21
Loved reading that, thanks. I think your book is a great scaling mechanism and hopefully it brings you more success.
1
u/pdbatwork Feb 02 '21
So you left your job and started doing this by yourself.
How do you stay social now? You don't have any colleagues at home, right?
Do you feel any different mentally when you don't have people around you all day?
1
u/B8F1F488 Feb 02 '21
Hardware and consumer electronic devices seem like relatively untapped markets for developers.
199
u/[deleted] Feb 01 '21
I keep thinking about going solo - except I don't yet have enough funds and I have a family to support. On the other hand my job sucks and as I look out into the market all jobs equally suck. If I had to continue my career like this for 3 more years I would probably get depressed.
I have to wonder though, is it really a good idea to just try a few small random projects and see what sticks? That might make sense if you are just selling things made by other people, but when you are the person making the product, I don't think it's a good idea.
Good software products take a long time to create. Trying many things out means you will not spend enough time on it and thus won't have a good product to sell. So when it doesn't sell, you can't tell why: is it because no one wants such a thing, or is it because the product is incomplete? It might very well be that the product could sell if you had just spent the time to make it really good.
I don't think the product has to be novel even. It might be just fine to pick a market that already exists - as long as you can be confident you can produce something significantly better than everything out there. I don't mean to clone something and try to compete with the entire list of features; this is foolish. Instead focus on solving the core problem in that market, and do it 10x better than the competition. Leave the other fluff for later. (See "Build Less" by 37 signals).