A premium, terminal-themed dashboard that visualizes Hacker News sentiment toward AI coding tools. Built with Svelte 5, SvelteKit 2, and Tailwind CSS 4, featuring rich animations, dynamic theming, and a unique "verdict reveal" experience.
Is AI “Good” Yet? tracks Hacker News to see what developers actually think about AI coding tools.
It runs a multi-stage Python pipeline that:
- Collects AI-tagged submissions via Histre
- Resolves them using Algolia's HN API
- Scrapes all possible article links
- Uses an LLM to filter out noise, then performs sentiment analysis
- Ranks articles based on utility and trajectory scores, weighted by engagement and recency
The frontend you're looking at is the pretty face that makes all that data digestible.
"I kept seeing waves of AI-hate that just didn't match my experience, and as I don't jive with vibes or tribes, I built this to find out if HN's hivemind shares similar sentiments."
is-ai-good-yet/
├── src/
│ ├── lib/
│ │ ├── components/
│ │ │ ├── landing/ # Landing page components
│ │ │ │ ├── verdict-veil.svelte # Initial "question" overlay
│ │ │ │ ├── verdict-display.svelte # Main answer reveal
│ │ │ │ ├── details-section.svelte # Themes, methodology, stats
│ │ │ │ ├── articles-table.svelte # Sortable article explorer
│ │ │ │ ├── history-chart.svelte # Sentiment over time
│ │ │ │ └── ...
│ │ │ ├── ui/ # Reusable UI primitives (bits-ui based)
│ │ │ ├── app-header.svelte # Global header with nav
│ │ │ ├── app-footer.svelte # Global footer with links
│ │ │ └── ...
│ │ ├── composables/ # Svelte 5 composables (e.g., useTokenStream)
│ │ ├── data/ # Static JSON data (from pipeline export)
│ │ │ ├── articles.json
│ │ │ ├── themes.json
│ │ │ └── verdict.json
│ │ ├── server/ # Server-side utilities
│ │ └── types/ # TypeScript type definitions
│ ├── routes/
│ │ ├── +page.svelte # Landing page
│ │ ├── +layout.svelte # Root layout (fonts, analytics)
│ │ └── details/ # Article detail routes
│ └── styles/ # Global CSS & design tokens
├── static/ # Static assets (favicon, OG images)
├── convex/ # Convex backend (visitor counter)
└── package.json
- Bun v1.3+ (or npm/pnpm)
- Node.js 20+ (for SvelteKit)
# Clone the repo (if standalone)
cd is-ai-good-yet
# Install dependencies
bun install
# Start development server
bun run devThe app will be available at http://localhost:5173 (or port 3050 if configured).
| Command | Description |
|---|---|
bun run dev |
Start Vite dev server with HMR |
bun run build |
Production build |
bun run preview |
Preview production build locally |
bun run check |
TypeScript + Svelte type checking |
bun run lint |
Run Prettier + ESLint |
bun run format |
Auto-format with Prettier |
Built with ☕ and curiosity — @ilyaizen