# Deadfolio: An autopsy for the GitHub projects you left behind

Side project · Live · Jordão Qualho, Senior Software Engineer

> Finds abandoned GitHub repositories, scores them, and writes an evidence-based autopsy. The only thing a person adds is why they actually stopped.

Technologies: Next.js, TypeScript, Gemini, Vercel AI SDK, Zod, Vercel Blob, Tailwind CSS

Live: https://deadfolio.vercel.app · Code: https://github.com/jordaoqualho/deadfolio

## Overview

Paste a public GitHub username and Deadfolio scores every public repository for signs of abandonment. On the ones worth a look, it runs an AI autopsy built from the repository's own evidence. Nobody is asked about their stack, project age or activity, because the repository already knows. The one question a person answers is why they actually stopped. The app is available in English and Brazilian Portuguese.

## What it does

- Scan: a Dead Score from 0 to 100 for each public repository, from metadata only. No AI runs at this step.
- Autopsy: one Gemini generation per repository, validated against a strict schema and always ending with a “What We Cannot Know” section.
- Confirm: the creator says whether the inferred cause of death is right and can correct it in one sentence.
- Graveyard: published records, labeled UNVERIFIED because repository ownership is not verified.

## How it's built

- The Dead Score is deterministic and configurable: an inactivity ramp, archive status, and short bursts followed by silence. Forks, templates and experiments are kept apart, and the interface calls the score a heuristic, never a probability.
- The prompt treats repository text as untrusted data and keeps evidence, inference and unknowns separate. The model may not invent users, revenue or the real reason development stopped.
- Evidence collection ranks files deterministically, never fetches secrets, lockfiles or build output, and scrubs key-like strings before anything reaches the model.
- Reports are cached by repository and default-branch commit, so a repeat visit makes no AI call. A new commit triggers an offer to run a fresh autopsy.
- Abuse limits include a per-IP daily quota stored as a salted hash, one concurrent autopsy per IP, a global hourly guard, and a quota refund when the AI provider is at capacity.
- It is one Next.js app with no database: a key/value layer writes to the filesystem locally and to a private Vercel Blob store in production.

## Deliberate limits

- No accounts, payments, notifications or moderation, on purpose.
- Only public repositories are analyzed.
- Ownership is not verified, so every published record is labeled UNVERIFIED.

---

Canonical: https://jordaoqualho.com/projects/deadfolio/ · Full profile: https://jordaoqualho.com/llms-full.txt · Contact: jordaoqualho@gmail.com
