Skip to main content

Rekindle

Your abandoned side project misses you.

Paste a dormant GitHub repo and get an honest diagnosis, a plan, and a cornerman speech · TypeScript · built for the DEV Weekend Challenge: Passion Edition.

The problem

Every developer has a side project whose flame went quiet. The repo is still there, the README still describes something you believed in, and the gap between that ambition and the last commit is exactly the thing nobody wants to look at directly. So it stays dormant.

Paste a dormant GitHub repo. Rekindle reads its README, recent commits, and top-level files, then delivers three things: a diagnosis of why the flame died, read honestly from the commit cadence and the gap between README ambition and reality; a rekindle plan of three steps, the first small enough to finish in under fifteen minutes tonight; and a corner speech, roughly ninety words about your project by name, spoken out loud like a cornerman between rounds.

Run it locally

Two API keys and one command. The voice override is optional.

Clone, configure, run (Needs GEMINI_API_KEY and ELEVENLABS_API_KEY):

git clone https://github.com/OrionArchitekton/rekindle.git
cd rekindle
pnpm install
cp .env.example .env.local
pnpm dev

Command surface

  • diagnosis: Why the flame died, read from the commit cadence and the distance between what the README promised and what shipped.
  • plan: Three steps back to momentum, where the first is deliberately small enough to do in under fifteen minutes tonight.
  • speech: Roughly ninety words about your project by name, voiced out loud, in the register of a cornerman between rounds.

Why this is different

  • It reads the cadence, not the pitch: The diagnosis comes from commit history and the gap between README ambition and what actually exists, which is where the real story of an abandoned project lives.
  • The first step is deliberately tiny: A plan whose first move takes an evening is a plan you might actually start. Fifteen minutes is the constraint, not an aspiration.
  • Spoken, not printed: The speech is voiced rather than rendered as text. Hearing something said about your own project by name lands differently than reading it.
  • Model output is clamped, not trusted: The model runs at temperature 0 with thinking disabled and strict JSON output, and the server parses defensively and clamps the result rather than rendering whatever comes back.

Links