Who wants to run a B2B SaaS startup?

A friend of mine has been bootstrapping a business-to-business software-as-a-service startup that's seeing serious growth. It needs someone who can put dedicated effort into scaling it, but my friend is near the end of their career and looking to retire. What do people do in this situation?

More details: they were running a traditional labor-limited small business and they automated some of the work. This automation was a huge improvement and they realized it could be useful to other companies. In early 2019 they had a web app ready and started taking external customers. In late 2020 they started to see serious growth, which has continued. They let me share some numbers:

This is a run rate of ~$340k/y, up from ~$100k/y a quarter ago, ~$52k a quarter before that, ~$12k/y a quarter before that, and ~$7k a year ago. That's growth of ~50x in a year, or 7.8% a week, which is extremely good. Expenses are servers ($40/m), plus the time they have been putting into it (~20hr/wk).

more...
Walking to School

Last week Lily (7y) decided she wanted to start walking to school by herself. It's not very far, she knows the way, and if anything happens she has pretty good common sense. The main problem is cars: while we've been practicing crossing the street, she's not good enough at it do it completely on her own. We realized, though, that if she went a slightly longer way she would only need to cross two streets: one right by our house and another that has a crossing guard.

We went out and practiced: she walked the route with me staying well behind. When she got to the second crossing I pretended to be the crossing guard. She seemed ready to do it on her own.

more...
Alarms Are Better Than Chivvying

Lily recently told me that she wanted to be a big kid, and we talked about what that could mean. She decided she wanted to be fully responsible for getting ready and going to school in the morning. The biggest challenge was going to be timing: normally I walk her through the process, reminding her to do various things, getting her out and ready for school in time. Lots of "if you don't finish up soon you're going to be late" sorts of reminders. This didn't work especially well, and neither of us liked it.

We thought together of how this could work, and the standard approach of glancing over at the clock every so often to see how much time you have left didn't seem like something she would be able to do yet. We decided to use alarms. I set up three on her tablet: start getting ready (7:15), leaving in five minutes (7:55), and time to leave (8:00). I don't give her any additional timing reminders; everything is up to her now.

more...
Better Whistle Synth

A couple years ago I got really excited about the idea of controlling a synthesizer by whistling. I came back to this recently, figured out a much better algorithm, and it's much more musical now!

(Short version: go try my new program, in your browser!)

In my original version, I counted zero crossings the estimate the current pitch (detailed explanation). Then I fed this into simple additive synthesis code. It worked, but it had a few issues:

  • Sometimes it would detect whistling when there wasn't any, and make clicks (or beeps in a later version).

  • If you whistled too quietly or not clearly enough, it would failed to detect the whistling and you get silence, or drop outs.

  • It was very sensitive to a "gate" parameter: set it too high and you get the first problem above, too low and you you get the second. In noisy environments that was often no good setting.

  • It was not steady enough to feed into an existing synthesizer, because those expect the precise input you get for my keyboard.

  • My simple custom synthesizer didn't sound very musical.

My new version is much better on all of these dimensions. The key idea is that because the input signal is very close to a sine wave, we can directly use it for synthesis. Here is a short snapshot of whistling:

more...
Wrist Update

It's been about a year now since my wrists got really bad. Unfortunately, it's no longer limited to just my wrists: I'm having similar issues with my hands. Last time I wrote about how my doctor thought that this was likely due to ganglion cysts, but since then we've done more imaging and that looks like it probably isn't the problem. After talking to a rheumatologist, it looks like [1] it's probably a kind of inflammatory arthritis, which is a chronic autoimmune disease.

So far, the only things that have helped have been minimizing use and icing (flexible wrist packs are nice!). I've tried two nonsteroidal anti-inflammatory drugs (NSAIDs), Ibuprofen and Naproxen Sodium, without effect. I'm about to start on the immunosuppressant methotrexate, which I have mixed feelings about, but positive on balance.

I'm still doing lots of dictation, but I haven't needed to continue with voice control. When using the computer/phone, as long as I dictate words, I've been able to still use my hands for navigation. The biggest problem is when I have substantial tasks that aren't just reading and writing, such as spreadsheet work or green-field coding. Luckily this is only a very small portion of my regular work, and I've been doing fine there, though I'm not sure what dictation will look like once I'm back in the office. I'm back to playing music, which I'm really happy about, but no jammer or fast melody.

more...
Why Prefetch Is Broken

When coding a webpage, sometimes you know something is very likely to be needed, even if it's not needed yet. You can give the browser a hint:
<link rel=prefetch href=url>
The browser will take a note, and then when it doesn't have anything more important to do it might request url. Later on, if it does turn out to need url, it will already have it.

more...
More Posts