ClaudeFolio

refraktd

Rate the political lean and reporting quality of every news article.

refraktd

About this build

refraktd is a community-driven news rating platform where users submit articles and then vote on two dimensions: political lean (Left, Center, Right) and reporting quality (Trustworthy, Misleading, Ragebait), and over time each outlet builds up an aggregate rating that comes entirely from real reader votes rather than some editorial board. The site has a Daily Bias Check that picks one article a day for everyone to weigh in on, an outlet directory you can sort by lean and quality, threaded comments that have their own sentiment voting, and browsing by tag or category so you can drill into whatever you actually care about.

Lessons learned

  1. Smoke-test your public endpoints through the public hostname and not localhost, because a path refactor on this project moved an endpoint to a cleaner URL and the API got updated and the frontend got updated, but nginx routing didn't, and localhost tests passed the entire time.

Prisma's include returns every scalar field on the table by default, which means you have to replace it with explicit select whitelists or you will leak internal fields like view counts, dedup keys, and moderation reasons the moment you ship.

CLAUDE.md is the single most valuable artifact in the repo, because every architectural choice, every gotcha, and every "I tried X and it didn't work, do Y instead" lives there, and new sessions become productive in seconds because the project's full history is one read away. There's a 40K character limit though so it's also smart to create different docs and point to them in CLAUDE.md while keeping only the most essential stuff in CLAUDE.md.

Advice to others

Do zero-downtime deploys from the start, because it removes "I'll fix that later" from your loop entirely and lets you push 20 changes a day without flinching about whether you're going to take the site down in front of someone. I do builds in a temporary folder and smoke test, once the build and smoke test succeeds, then replace the live folder with the new build.

Build your admin control panel early, because it's a lot easier running everything from it than in Claude Code: DB tweaks, content moderation, runtime config flags, and it's faster than writing one-off scripts and it survives any single chat ending.

Resist optimizing the wrong layer, because the first instinct on a slow page is always to add caching, but most of the time the right answer is to remove the chain of fallback queries that's running on every request and pretending to be a feature.

Comments

Sign in to comment.

No comments yet.

Similar projects

Claudefolio

A directory for sites built with Claude Code, where every project starts at zero votes and nobody gets hunter privileges.

by Paul
ReadItSoon

Save any article to your Kindle in one click.

by Guillermo