The biggest lever for my retention wasn't a feature. It was the empty state.
New users opened to a blank screen and 70% never came back. I added one pre-filled example and a single line of copy explaining what to do next. Retention doubled. No new code, just less confusion.
Look at your empty states. First thing every user sees, usually the last thing we design.
The best feature I shipped this year was deleting features.
My onboarding had 6 steps. Cut it to 2. Signups up 40%. Every step you add is a door someone closes. Complexity is the default; simplicity is the work.
PSA: your Postgres can do way more than you think before you need anything fancier.
Full-text search, JSON queries, even basic queues. I've removed two services this month by just… using the database I already had.
Made a blog engine for people who just want to write markdown and have it look good.
No database, no admin panel, no CMS to maintain. Drop .md files in a folder, push, done. Fast by default because it's just static HTML.
→ Write in any editor you like
→ Built-in RSS, sitemap, OG images
→ Themes that don't look like every other dev blog
It's how my own site runs now. Open source if you want to self-host.
