August 2024

My super secret spaghetti business plan

I’m going to let you in on a secret, if you promise to not tell anyone. Are you ready? Sitting comfortably, ready to not fall off the chair? Maybe even clutching the edge of the table?

Okay, here goes.

I’m going to try to build as many plausibly good products as possible, and see what sticks.

I believe it’s actually called the Spaghetti Business Plan™. You throw spaghetti at the wall, hope that maybe just one tomato sauce-covered spaghetto will stick to the wall, and… eat it, I guess. Hmm. The metaphor breaks down easily.

Okay, dear reader, at this point you may already be thinking, “that’s all well and good, but it sounds a bit stupid and not very original, so why should I care?”. And you would be right.

Luckily, I’ve been giving it a bit more thought.

I have thought about constraints

I think the spaghetti method is a viable one if you add some constraints to it. (Spaghetti constraints? Something about the recipe? It’s a terrible metaphor.) If I just build whatever comes to mind first, I’m probably going to set myself up for swift and deserved failure. All things creative, including product ideas, need constraints.

But adding constraints too early is also an idea generation killer, in my experience. It’s good to get the wild ideas that are definitely not viable in our real world, but which may contain a grain of something good. Something that sparks a new idea, or can be combined with grains from other weird ideas to create something worth making.

“So what are those constraints?”, you may be interjecting right about now, “Could you please get to the point?”. To that I would answer, yes, I will get to the point, but there’s something we need to get out of the way first.

I have thought about my values, too

The world is absolutely stuffed with sh*t software no-one really needs, or worse, which is actively making the world a worse place, burning time, money, and energy in the process. (I’m looking at you, blockchain technology. Go read some Molly White if you’re not convinced about that one. But it’s not just blockchain. There’s a lot.)

I want to create something useful, valuable, maybe even beautiful, something that brings joy and a bit of silliness to the table. I’m not going to create the next realtime ad auction platform, or something that will suck people so close to their phone screens they have an outline of the frame on the skin of their face. We, as software developers, have a responsibility to not add another poo to the pile of bullshit.

Does that make me sound like some dirty love-and-harmony hippie? That’s okay. I have long hair.

Back to the constraints: idea matrix

Phew, okay, thanks for sticking with me after that short rant. Where were we? Constraints. Right.

I have something I call an idea matrix, because it sounds way cooler than a spreadsheet with ideas. (CALL IT THE SPAGHETTI GRID!) But that’s essentially what it is. The first column is a short description of an idea, just long enough so I can recall what it’s about. Then there are five additional columns, which each get a rating from 0 to 3, where 3 is best.

  1. Profitability: Do I think I could make money building this? I love building things for fun, but I also like living somewhere, and eating, and buying the occasional eurorack module1 or guitar pedal. And having toilet paper. Love that stuff.

  2. Demand: Do I think many people would actually want this, or would it be just for a tiny niche, or maybe even mostly for myself?

  3. Buildability: Is that even a word? I don’t think so. But it’s my matrix, so I don’t care. Basically, how hard is it to build? Is it something I can pull out of my brain and fingers in a week, or does it sound more like a multi-month effort? Do I even have the skills?

    Faster is obviously better here when I’m going for many projects. As Dan Luu puts it: “I spend time on things that are high ROI, but those things are generally only high ROI because I've spent time improving my velocity, which reduces the “ I ” in ROI.

  4. Goodness: We’re back to the values here. Does it bring something good to the world?

  5. Fun: Would this be fun to build? If I won’t enjoy it, I’m unlikely to stick to it long enough to see it go anywhere, so I might as well not bother.

This is where my ideas go; the good, the bad, and the plain old stupid.

But wait, there’s more!

More constraints: the concrete ones

The above constraints are fairly fluffy and high-level, and although filtering out the worst offenders, they’ll only give me a baseline of ideas to choose from. But there’s still plenty of room for shooting myself in the foot, which I have done multiple times already. Oh my Goat I’m so glad that’s only a metaphor.

I’m a solo developer, and I like it that way. But there are certain types of problems I will not be solving, even when I think they would fit all of the above criteria. Although partly encapsulated by the buildability above, some solutions would be too big and time-consuming to run alone as part of a business.2

And of course, I could just be plain wrong with my ratings. A popular bias is to wildly overestimate both profitability and demand, mostly because so many (myself included) are too shy and/or lazy to talk to customers, and do it the wrong way if they do.3

So, I have some additional constraints, or at least guidelines, that help me remember the right direction to go:

  1. It has to be for an international audience. The world is so incredibly big, it is hard for our small brains to fathom. I used to think that I would really like to build software for people in my home country, Denmark. But it’s a tiny country of just five million people, with our own tiny language, and although possible, I find it unlikely to succeed if I limit myself to roughly 0.0625% of the world population. The internet is a wild, worldwide invention, I should take advantage of that!

  2. It has to be self-signup. I’m not going to start spending literally months on sales processes for B2B software to land customers, however lucrative. I would not enjoy it, I would be bad at it, and it would mean a lot of risk. Let people self-select for my product instead.

  3. Closely related to point 2, I have to decouple my time spent from value added to the world. That’s my main gripe with software consulting, which I also do: I get paid for the time I put into something, and when I stop putting time in, I stop getting paid. I want to create something that can grow and prosper without being linearly tied to my working time. (Every business person reading this will probably laugh at this “insight”, but it’s actually something I have to remind myself of. I’m just a nerd.)

  4. There’s a massive amount of luck involved. Probably more than I think. So I need to get more lucky. Not sure how I’m going to solve that one yet, but it may involve the ceremonious sacrifice of a Llama3 model on my computer.4

Writing about it

Even if nothing I build takes off, I have a fallback plan. You’re looking at it. I want to write about the things I do: my successes, my failures, hopefully some insights along the way. If nothing else, I’ll be your singing and dancing software & business clown. (Weird circus employing that one.)

I’ve been convinced that writing is a high ROI activity, and it can just be about things learned and things built, and still be quite valuable to readers. You never know what posts take off and which don’t. We’re back to the spaghetti method, this time of blog posts. My first post on this blog, Go is my hammer, and everything is a nail, got 25.000 visitors in the first few days. I did not expect that.

And that, dear reader, is my business plan. Do you like it? Do you hate it? Are you indecisive but intrigued? And most importantly, do you have any good constraints to add? Feel free to send me an email, I’d love to hear your thoughts.

Spaghetti with oil, garlic, chili, and parsley

A parting gift if you’ve made it this far: my favorite spaghetti recipe.

You’ll need:

  • Olive oil

  • 2-3 cloves of garlic

  • 1-3 chilis, depending on strength

  • A handful of flat-leaf parsley

  • Parmesan or Pecorino cheese

Boil the pasta. You can do it.

Chop the garlic, chili, and parsley. Fry the garlic and chili in a pan in olive oil, but don’t let the garlic turn brown! Add the parsley and fry it together for a couple of seconds (!).

When the pasta is ready, turn it in the olive oil mixture and add some grated cheese. Serve immediately and enjoy!

Goes well with some freshly ground black pepper as well.

Footnotes

  1. Don’t go there. I warn you. It’s ridiculously expensive. But also endless fun.

  2. Maybe some day, I’ll be part of a team again. I miss that. Working with other brilliant developers is just a great experience in every way, and it’s easily the thing I miss the most since going off on my own.

  3. Check out The Mom Test if that applies to you.

  4. For the people and sentient computers coming from the future, Llama 3 is an LLM which we basically think is pure magic in a 50 GB file you can talk to.

A picture of me, Markus.

I’m Markus, a professional software consultant and developer. 🤓✨ Reach me at markus@maragu.dk.

Podcast on Apple Podcasts and Spotify. Streaming on Youtube. Subscribe to this blog by RSS or newsletter: