Skip to content
Mohammed Tahir
Writing4 min read

Six months, one product, one exit

I built Portflix in July 2024 and sold it in December. Most of what I learned wasn't about building. It was about reading the shape of a market early enough to act on it.

  • Founding
  • Product

Portflix turned a résumé into a personal website in seconds, with a chatbot that could answer a visitor's questions on your behalf. I started it in July 2024. By December it belonged to someone else.

Six months is short. Short enough that people assume either luck or failure, and it was neither. Here's what I'd actually take to the next one.

Ship the output, not the editor

Every competitor in the space sold "build your portfolio in minutes", and every one of them delivered a blank template plus a form. They had automated the rendering and left the user with the part that was actually hard: deciding what to say, structuring it, writing it.

That's why people don't finish their portfolio. Not because building a website is difficult, but because writing about yourself is.

The whole product was one decision: never show a blank state. Upload the PDF, get a finished site. You could edit it afterwards, but you were editing something that already existed and already looked good.

The generalisation I'd defend anywhere: find the input the user already has, and give them the output before you ask them for anything. Almost every tool with a bad activation rate is asking for input before it has demonstrated value.

The differentiating feature fell out of the boring one

The chatbot was what people remembered. A recruiter reading at 11pm could ask a follow-up question and get a grounded answer from your actual history. No static page does that.

But it wasn't the feature I set out to build. It existed because I'd already had to solve document parsing properly: turning an arbitrary PDF résumé into typed, structured entities. Once you have a clean structured record about exactly one person, you have an unusually good retrieval setup, and the chatbot is nearly a consequence.

I now assume this is normal. The memorable feature is usually downstream of the unglamorous one. The moat wasn't the chat endpoint, which anyone can wire up in an afternoon. It was reliable extraction from documents that are secretly two-column layouts and text boxes.

The market shape decided the outcome, not the code

Job seekers are a hard market, and I knew this before I knew it. High intent, low willingness to pay, and, structurally, they churn the moment the product works. Success means your user gets a job and stops needing you.

You cannot engineer your way out of that. No feature fixes retention when retention is inversely correlated with the product working.

Once I could see that clearly, the options were: spend 2025 grinding a business with a bad shape because I was attached to it, or take an exit and carry the learning forward. I took the exit.

I don't think this is defeatism. Recognising a structural constraint early and acting on it is the same skill as recognising a good market early. It's just less fun to exercise.

Distribution was half the build

I did the engineering, the design, the copy and the growth. That sounds like a story about being stretched thin. In practice it was the opposite: the parts stopped being separable.

I'd spent years running paid acquisition across seven platforms before I ever shipped my own product, and the single most useful thing that background gave me wasn't campaign skill. It was an instinct for whether a feature could be explained, because a feature that takes a paragraph to explain cannot be advertised, and a feature that can't be advertised doesn't get used.

"Upload your résumé, get a website" fits in an ad. That's not a marketing observation, it's a product constraint, and it should be applied while you're deciding what to build.

What I'd do differently

Charge earlier. I learned the willingness-to-pay problem later than I should have. It's the cheapest possible experiment and I delayed it.

Instrument the first sixty seconds obsessively. Everything that mattered happened between upload and first render. I had a general sense of it; I should have had numbers on every step.

Say the thesis out loud sooner. The fastest way to find out you're wrong about a market is to state your assumption publicly and let someone who's already been there tell you. I sat on mine for too long, which is, incidentally, why I'm writing this one down.

Building something where this is relevant? Write to me.