The Graveyard of Good Ideas

Every developer has a folder of abandoned side projects. I had seventeen. Seventeen half-built apps, started with enthusiasm, abandoned when the dopamine wore off.

Then something changed. In the span of three months, I shipped:

  • Shadow — a privacy utility for screen sharing
  • ThoughtStream — a thought-capture tool for developers
  • Two ML models — published on Hugging Face
  • Multiple codelabs — published on my portfolio

Here's the framework that made the difference.

The Rules

Rule 1: If You Can't Describe It in One Sentence, Kill It

"Shadow keeps your notes invisible during screen sharing."

That's it. One sentence. If your idea needs a paragraph to explain, it's too complex to build alone.

This isn't about dumbing things down — it's about clarity of purpose. When you know exactly what you're building, every technical decision becomes easier.

Rule 2: Ship in 7 Days or Kill It

Not "finish" in 7 days. Ship in 7 days. Put it on the internet where humans can use it.

Why 7 days?

  • Short enough that you can't scope-creep
  • Long enough to build something real
  • Forces ruthless prioritization

If you can't get a working version out in a week, either the scope is too big or you're building the wrong thing.

Rule 3: Build What You'd Use

Both Shadow and ThoughtStream solve my own problems:

  • I was paranoid about showing private notes during screen shares → Shadow
  • I wanted a place to dump thoughts without friction → ThoughtStream

When you're your own user, you don't need user research. You don't need surveys. You know the pain because you feel it daily.

Rule 4: Choose Boring Technology

My stack for shipping fast:

Layer Choice Why
Frontend Next.js / React I know it cold
Desktop Electron Cross-platform, JS-based
Backend Supabase Zero backend code
ML Sentence Transformers Best docs, easiest API
Hosting Vercel Git push to deploy

No Rust rewrites. No custom build systems. No "I should try this new framework." Boring tech ships fast.

Rule 5: Marketing Is Not Optional

Building a product nobody knows about is the same as not building it. My minimum marketing checklist:

  • Landing page with clear value prop
  • One tweet thread explaining the problem + solution
  • One LinkedIn post
  • Submit to relevant communities
  • Add to portfolio

This takes ~2 hours. If you can't spare 2 hours to tell people about something you spent a week building, you didn't care about it enough.

The Process

Day 1: Design the API, Not the UI

Start with the core logic. What does the product do? Write the main function first. For Shadow, Day 1 was: "detect screen sharing → hide specified windows."

Days 2-4: Build the Core Loop

The main feature, working end to end. No settings page. No onboarding flow. No edge cases. Just the core loop, working.

Days 5-6: Ship-Ready Polish

Make it not embarrassing. Good enough UI. Error handling for the obvious cases. A landing page.

Day 7: Ship

Put it on the internet. Tweet about it. Move on to the next thing.

What I Cut (Every Time)

  • Settings pages — hardcode sensible defaults
  • User accounts — local storage or anonymous until proven necessary
  • Analytics — add after you ship, not before
  • Perfect error handling — handle the top 3 errors, log the rest
  • Custom design system — use an existing one or inline styles
  • Tests — controversial, but for v1 of a side project, manual testing wins

You can add all of these later. But only if people actually use the product.

The Agentic AI Multiplier

Here's where it gets interesting. Agentic AI tools like Antigravity compress the timeline even further:

  • Day 1 tasks that took 8 hours now take 2
  • Multi-file refactoring that took a day takes 20 minutes
  • Landing page creation goes from 4 hours to 30 minutes

But the framework stays the same. AI makes you faster at execution, not better at decisions. You still need to:

  • Choose the right problem
  • Define the right scope
  • Know when to ship vs when to polish

The Hard Part

The framework is simple. Following it is hard. Every atom of your developer brain screams:

  • "I should add dark mode first"
  • "This code needs refactoring"
  • "I should write tests before shipping"
  • "Let me just add one more feature"

Ignore all of it. Ship the ugly thing. Get it into people's hands. Then improve based on real feedback, not your perfectionism.

Results

Since adopting this framework:

  • 4 products shipped in 3 months
  • 2 ML models published and being used
  • Multiple codelabs written and published
  • 1,000+ community members engaged

vs. the previous 18 months: 17 abandoned projects, 0 shipped.

The framework works. Use it.


See the products: Shadow · ThoughtStream · Models