Skip to main content

Project Graveyard

Failed projects, abandoned ideas, and valuable lessons. These didn't ship, but they taught me something.

5 projects15 lessons learned2021 - 2024

Why share failures?

Success stories are everywhere. Failures teach more. Every project here made me better at shipping the ones that worked.

Streakr

A habit tracking app with streak mechanics and social accountability features.

2022 - 2023
React NativeFirebaseExpo

What went wrong

Scope creep killed it. Started simple, then I wanted social features, gamification, analytics dashboards. The MVP became a monster. By the time I had something "ready", I'd lost interest and the market had moved on.

Lessons learned

  • Ship the smallest possible version first
  • Validation before building is non-negotiable
  • If you're not embarrassed by v1, you waited too long

Mise

Recipe scaling and meal planning app with smart grocery list generation.

2021
Next.jsSupabaseTailwind

What went wrong

Built for myself, but never actually used it. Turns out I just Google recipes and buy groceries ad-hoc. Solved a problem I thought I had but didn't.

Lessons learned

  • Build for a pain you actually feel regularly
  • Use the thing you're building throughout development
  • Interview potential users before writing code

TweetDeck Clone

Multi-column Twitter client with scheduling, analytics, and team features.

2023
SvelteKitTwitter APIRedis

What went wrong

Twitter's API pricing changes made it economically unviable. $100/month minimum for basic access killed the project overnight. Platform risk is real.

Lessons learned

  • Platform dependency is a existential risk
  • Have a backup plan for API-dependent projects
  • Consider what happens if your main dependency disappears

Dendrite

Roam Research clone with local-first sync and graph visualization.

2022
ElectronPouchDBD3.js

What went wrong

Underestimated the complexity of bidirectional links and graph rendering at scale. Performance tanked at ~1000 notes. Sync conflicts were a nightmare. The "simple" MVP needed sophisticated CRDT implementation.

Lessons learned

  • Some problems are genuinely hard for a reason
  • Research existing solutions deeply before building
  • Local-first sync is a PhD-level problem

LaunchKit

SaaS starter kit with auth, billing, teams, and admin dashboard.

2023 - 2024
Next.jsPrismaStripeNextAuth

What went wrong

Kept polishing instead of selling. Added feature after feature thinking "just one more thing" would make it sellable. Meanwhile, competitors shipped and iterated with real customer feedback.

Lessons learned

  • Done is better than perfect
  • Revenue validates, not features
  • Perfectionism is procrastination in disguise

“I have not failed. I've just found 10,000 ways that won't work.”

— Thomas Edison