Hello Indie Hackers!
Been following everyone here for a while, as a lurker. Recently had some overwhelming success with a launch (for which I'm endlessly grateful), and wanted to share with the community :)
mmm.page (https://build.mmm.page) gives you a dead simple way to make drag and drop, personal websites in less than 5 minutes — works on both desktop and mobile. (I've heard anecdotally of a few people using it to build quick landing pages.)
Launched on Wednesday on Hacker News, and was fortunate to get to front-page. On the same day, sent out a tweet that did well. Then #2 on Product Hunt on Thursday.
Luck certainly played a huge, if not dominant, role for most of this, but I'll try to distill a few takeaways.
"Launching what you're embarrassed by" is not always good advice. I read countless times that "if you're proud of what you launched, you launched too late," but that way of thinking never fully sat right with me. Shouldn't I be proud of something I put out? It feels like -- and I'm speculating -- that MVPs are easier to come by now, and that many products have features that are so... "commoditized" that the differentiating factor often ends up being very polished UX & visuals. (Also it doesn't hurt to feel proud of what you've made.)
(...that being said) Launch early versions in small cohorts. Before this major launch, I launched an alpha version of just the frontend without backend to some early adopters (with local persistence). (I found these early adopters via a tweet I put out.) Then on month 2 I worked on the backend while the frontend was being tested and used. Then on month 3, I deployed the backend, and the frontend & backend were tested together while I polished the entire experience. That takes us to now — beginning of month 4 — when I launched with most bugs patched, and major issues resolved earlier, w/ lower stakes. (Also, fewer people had to see those Bad Early days.) I guess the TLDR is you don't need to start out of the gates with a Huge Big Bang Launch. (FWIW I had ~100 members and ~10 daily visitors before launch on Wednesday.)
Gauge interest (cheaply) first by tweeting out mocks. I tried a few different ideas (relatedly, I had tried a few B2B ideas I was genuinely unexcited by — I'm glad I ended up working on something I really enjoyed) by gauging interest via tweeting out nice mocks. This was the tweet that really helped gain early users — this was followed by a post to /r/SideProject that really bolstered the project's visibility (and my faith in the project lol).
Amazon Lightsail & CloudFlare on S3.
4.a. Lightsail doesn't autoscale (i.e. fixed cost), is very easy to deploy, almost Heroku-easy. My stack is a Postgres + Golang backend. (Important for when overpaying for servers == eating into my rent funds.)
4.b. Put CloudFlare in front of not just your React bundle, but also your images & user-uploaded images (if your product has those). This has saved cost dramatically w/r/t bandwidth costs on S3. (FWIW, frontend is TS/React.)
Make sure headline tweet is visually striking. I tried a few variants of both these tweets, and found that the ones that worked best had (a) medium-saturation, colored background, (b) nice aspect ratio (4:3), and (c) animations (a la GIF). They stand out on a timeline. Then after that attention-grabbing tweet, I stick in the longer, boring detail-oriented tweets.
Don't hide main features behind paywalls/sign-in. Something people have repeatedly commented on is how much they liked being able to try the builder functionality right from the homepage w/o logging first (try it out! you can edit the entire homepage!)
It's okay to start with writing code! (So long as the code is modular and easy to build upon.) A lot of this process was made drastically faster because I had tried a few projects earlier, and though the ideas didn't stick, the underlying frontend and backend stacks were reusable. (I raise this to counter the conventional IH wisdom [that is often correct, but not always] to not write a single line of code until you're sure of your idea.)
Upgrading accounts via Google Form. I saw this before and didn't think much of it — then I decided to try it this time when costs started mounting and was surprised by how many people signed up! I put out the form yesterday and 20 (very generous) people have already opted for the $5/mo (or $50/yr) plan. (I created these subscriptions manually via Stripe.)
Use Discord to manage a community. I'm not sure how generalizable this is, but I was able to keep in contact with many people during the early days of mmm.page — and also, built good friendships with quite a few! — by adding everyone to the Discord. Then, instead of emailing out updated, I'd @ an opt-in Insider group (so as to not spam everyone). (I also don't pretend I've done that great job at making a community.)
I'm sure there's something to be said also of <being genuinely excited about a project shows>, but I'm not sure I'm the best judge of that so I'll leave that out.
That is all! Hope to keep y'all updated.
Also, if you like the project, and would like to support it → http://forms.gle/XRzKUq7cRWxPKFLL7