I spent more than a month shipping, launched today and it failed.
Here are my reflections.
What did I build
- General Paper examples, podcasts, mindmaps, flashcards
- AI GP tutor: AI question analysis, AI essay planner, AI teacher
Why did I build it
I convinced myself that the best product I could build is english / GP with AI
- I saw data that users were using math 3x more than GP
- Users were trying to hack math AI to answer physics and chemistry questions
- But despite all that, I told myself that I could get a perfect product with GP. Since AI can “solve” GP questions perfectly but not math questions, the product can be “perfect”. But users want to get rid of their pain, not have a perfect product
What went wrong
I can’t even triage the root cause well because my launch was bad. I don’t know if it was because of a bad offer during launch or if users are just not interested in the product.
- User demand is weak. Especially since I targeted high intent users who already use my telegram tutor for GP
- Launch message was really confusing. I directly them to a page with “Content library” as the title and 100 GP examples without further instructions
Learnings
- Launching is feedback. The faster I launch, the less painful the feedback. Cliche, but failing fast is actually really good advice.
- My product mindset is lacking. Most of the time is spent:
- Focusing on things that don’t matter (probably 80% or more)
- Building things that creep in scope
- I should be super strict about time-boxing
- Being “confident” about building something just because I have a “good explanation” of why it’ll work is so dangerous. This is obsessing over the solution rather than the customer’s problem
- I neglected users which is a deadly sin. I missed replying to users because I was shipping. Reply to users fast!!! Treat them like a god. Treat what they say as gold.
- Time and energy are 0 sum so treat it as such. There is no such thing as “perfect”. Time is finite, I have to prioritise. Time and energy is also money. I spent too long building without reflecting. I was simply heads down building
- I’m really bad at monetising. This is a skill in itself. I have to think about the offer and make it unresistible
- Dumb down the message and dumb down the product. I’m not advertising to sophisticated users. I’m advertising to NPCs. Put myself in the user’s shoes. My landing page was too complicated. On hindsight I should have used videos to simply demonstrate the product
- I launched too hastily. Don’t rush future launches
- The danger is putting in months of work, but presenting the offer so poorly.
- Did not have Google Analytics implemented
- Did not have a suitable landing page that made it clear what the offer was. I directly them to a landing page with no other indication of what it meant
- Don’t rush future launches
Actions > Words
Rule of thumb: think about customers/users more than I think about anything else. Don’t be enamoured with my shiny solution. Obsess over the user’s problem
- Validation is users’s giving me feedback on what they want
- I’ve had many users telling me they want more subjects for the telegram bot
- I have users trying to hack the bot by asking the bot science questions for a math bot
- If this isn’t a signal of what users want, I don’t know what is
- Actions speak louder than words
Reflections
Could this have been prevented?
- Unlikely. Because my initial belief that GP was better was flawed. I believed this as I was more focused on my solution than on users. All building was downstream of that. Shipping fast and learning from my mistakes (and other people’s mistakes) is the only way to minimise this.
Could this have been mitigated?
- YES. Big time. I could have launched much faster by just launching GP examples and seeing the repsonse. Instead, I allowed scope screep by creating GP essay.
Open questions
Should I double down marketing this product? Or should I start obsessing over the user’s problem instead?
- Obsess on users not my solution
Should I pivot this product’s audience to teachers?
- Market is much smaller (1 teacher to 40 students). Teachers also not that used to paying for this unlike students. But teachers have spending power and they’re already using tools like this.
Maybe the quality of my telegram user base is low. Maybe I don’t have a lot of quality users there
- Should I kill this / start charging? Don’t get fixated on this just because I have some users there. I need to validate
How do I codify my approach to ship the right thing?
- Assume that I don’t know what will work
- Analyse user BEHAVIOUR to give me a good explaination on what something will work
- Use the pre-build checklist (below) prior to building
How do I ship fast?
- Timebox to prevent scope creep
What went well
- Implemented payments
- Have landing page in Vue (same as app)
What will I do differently
- Look more at user behaviour to see what they want
- Ask them what they want
- If they give feedback, PAY ATTENTION. They are literally telling me what more they’d like to see
- Should I start “building in public”? How do I get the community involved?
Pre-build checklist
- Did I do a premortem before I chose what to build? (use checklist below)
- What signals did the user give me to indicate the problem is a real one? (pay attention to what users proactively tell me, or how users use the product instead of what they say or what I think the problem is)
- Did I put myself in the user’s shoes and feel their pain?
- What is the time-boxed scope for this idea? Build and launch by time, not by scope. Cut scope if I can’t finish it in time. Show this through action not words
- Does shipping this move the curve? Not the curve in my mind, the MRR curve in reality. Read this tweet.
Launch checklist
- Have I implemented analytics
- Do I have a special offer page
- Is the message super clear that an NPC can understand
- Have I checked payment flows?