News AgentPLAYGROUND

One weekend, four data sources, and one ghost component — testing CopilotKit for real.

ROLE
Hacker
WHEN
2026
STATUS
Shipped
#Claude Code#React#CopilotKit#SQLite#Recharts#Cloudflare Pages#Railway

What it does

Every day the agent fetches tech content from four sources — Hacker News' top 5 (ranked by score, with comment counts and author handles) plus a "spread" from TechCrunch, Wired, and The Hacker News: the most recent, mid-day, and oldest article from the past 24 hours per source. Results accumulate in SQLite, so the dashboard shows patterns over time, not just today — score trends, format distribution (personal vs. product update vs. technical), comments per post, all rendered with Recharts. On top sits a CopilotKit chat layer: you can ask "what was the top post this week?" and get an answer from the actual data, not a hallucination.

The workflow — Figma first, then Claude Code

I designed the UI in Figma before writing a line of code — I want to know what I'm building before I build it. Then I handed the design to Claude Code and worked as creative director: reviewing output, catching drift, redirecting when needed. For the most part it's an exceptional way to work — Claude Code moves fast once the architecture is clear. Then came the chaos.

Everything that broke (a love story)

This is the honest texture of building with AI tools right now. Claude Code froze and commandeered my browser for ten minutes — literally — and I just watched it work. Vercel had a genuinely broken GitHub connection that no amount of redeploying or force-pushing could fix, so I switched to Cloudflare Pages, which worked immediately and made me a convert. Railway kept building from the wrong folder until I set the root directory. And a SpreadGrid.jsx that existed on my machine but was never pushed to GitHub became a "ghost component" that cost me an hour to diagnose. Fast and powerful — and you will absolutely spend 40 minutes fighting a deploy pipeline at 1am.

What I learned about CopilotKit

The docs make setup sound simpler than it is — CopilotKit v2 routes through your own backend rather than a plain API key, so you have to understand the agent architecture before the abstraction pays off. But once it's wired up, the chat interface drops in cleanly and feels native, not bolted on. The most compelling use case is internal tools — dashboards where people need to ask questions about data rather than click through filters manually. For ops dashboards and non-technical user populations, it's worth the setup cost. I'll use it again.

→ Live: news-agent-v2.pages.dev.

Field notes