🔶 HN Redesign

A Modern Hacker News Experience

Project Presentation · Agent Product Team

March 2026 · Presented by Steve (PM)

The Problem

Hacker News hasn't meaningfully changed since 2007.

📐 Table-based layout with zero visual hierarchy

👆 Tiny tap targets hostile to mobile browsing

📱 No responsive design — same layout on every screen

🧠 Power users have Stockholm syndrome. Everyone else bounces.

We're building a modern, read-only frontend that reimagines
the HN experience while respecting its mental model.

Who Is This For?

User TypeDescriptionKey Needs
Daily HN Reader Checks HN 3-10x/day Fast scanning, clear hierarchy
Casual Browser Visits via shared links Intuitive nav, no learning curve
Mobile-First Reader Browses on phone during commute Touch-friendly, responsive, fast

What We're Validating

✅ HN's information architecture can be reskinned without losing usability

✅ A 6-page React SPA exercises real architectural & design complexity

✅ Mock data with relational structure (stories ↔ users ↔ comments) enables realistic cross-page navigation

✅ An autonomous agent team can ship a complete product end-to-end

V1 scope: multi-page web app, client-side routing, mock data only — no backend

6 Pages, One App

🏠 Home / Story Lists

Top, New, Best, Ask HN, Show HN — tab-based switching with URL-driven state

💬 Story Detail

Full story header + nested comment tree (4+ levels deep with color-coded depth)

👤 User Profile

Username, karma, bio + tabbed view of submissions & comments

✏️ Submit Story

Link/Ask toggle, client-side validation, live StoryCard preview

🔍 Search

URL-driven query params, filter by type/date/points, story + comment results

🔖 Bookmarks

Save stories via localStorage, dedicated page with empty state & remove action

Why These 6 Pages?

Stories + Comments — The core HN flow. Proper routing, URL state, breadcrumbs.

User Profile — Second entity type, cross-linking navigation, different layout pattern.

Submit — Form page in a feed app. Exercises validation, form design, different interaction model.

Search — URL query params, filter controls, connects to every other page.

Bookmarks — Only feature with persistent client-side state (localStorage). Spans multiple pages.

Each page adds unique architectural complexity — not padding.

Key User Flows

1. Browse → Read → Explore
Home → Story → Comment author → User profile → Their submission → Story detail

2. Search → Discover → Save
Search bar → Results → Filter by points → Click story → Bookmark it

3. Submit → Preview → Browse
Submit page → Fill form → Live preview → "Submit" → Toast → Home

4. Curate → Revisit
Browse → Bookmark several → /bookmarks → Click saved story → Read

5. Filter by Type
Home → "Ask HN" tab → Thread → "Show HN" tab → Different stories

Global Features

🧭 Sticky header — Logo, story tabs, search, bookmarks badge, submit link

📱 Responsive layout — 375px (iPhone SE) through 1440px desktop

🔙 Browser history — Back/forward works across all routes

Page transitions — Subtle CSS fade between routes (200ms)

👆 Touch targets — Minimum 44×44px on all interactive elements

🚫 404 page — Styled catch-all with navigation back home

Design Principles

1. Scannable over decorative — Content density is a feature. Visual hierarchy accelerates scanning, not slows it down.

2. Warm neutrality — Cream, soft orange accents as a nod to HN's identity. Modern contrast, not cold/corporate.

3. Generous touch, tight grid — 44px+ tap targets, breathable spacing, but information-dense on desktop.

4. Progressive disclosure — Essential info first. Comments collapse, metadata is secondary.

5. System-native feel — Native font stack, feels like a well-built tool — not a marketing site.

Design System

🎨 Color Tokens

--color-primary #FF6600

--color-secondary #6366F1

--color-background #FAFAF8

--color-text-primary #1A1A1A

🔤 Typography

Inter + system font stack

15px base · 18px titles · 24px headings

📐 Spacing & Radius

4px → 48px spacing scale (8 tokens)

6px buttons · 10px cards · 16px modals

🌈 Comment Depth Colors

L0 — Orange

L1 — Indigo

L2 — Cyan

L3 — Purple

Component Library

ComponentPurposeVariants
HeaderGlobal nav — logo, tabs, search, bookmarks, submitdesktop / compact
StoryCardStory in list views — title, domain, metadatadefault / ask / show
CommentTreeRecursive nested comments with depth colors
CommentSingle comment with author, time, collapsedefault / op
StoryFormSubmit form with validation + live previewlink / ask
FilterBarSearch filters — type, sort, date
ToastTemporary notificationssuccess / error / info
EmptyStateNo content placeholderbookmarks / search

All components spec'd with responsive behavior, states, and acceptance criteria

Why CSS Modules?

🚀 Zero runtime cost — styles resolved at build time, no JS overhead

🔒 Scoped by default — no naming conflicts, no BEM gymnastics

🎨 Design tokens as CSS custom properties — Natasha defines tokens in variables.css, components consume them naturally

📦 Co-located filesHeader.jsx + Header.module.css live together

🧹 Clean JSX — no utility class clutter like Tailwind

Alternatives considered: Tailwind (config overhead), styled-components (runtime cost), vanilla CSS (naming conflicts)

Tech Stack

LayerChoiceWhy
FrameworkReact 18Mandated, stable, well-understood
RoutingReact Router v6Nested routes, URL params, query strings
StylingCSS ModulesZero runtime, scoped, clean JSX
BuildVite 5Fast HMR, zero-config, modern ESM
StateContext + useReducerSufficient for bookmarks — no Redux needed
DataStatic JS modulesRelational mock data, easy API swap later
IconsLucide ReactLightweight, tree-shakable

QA Results

PASS
Verdict
7/7
Pages Tested
45/48
Spec Items
0
Critical / Major Issues

✅ All 5 user flows tested end-to-end

✅ Responsive layout verified on mobile + desktop

✅ Design system tokens correctly applied throughout

✅ Clean build — 291KB JS, 20KB CSS

⚠️ 4 minor issues: file organization deviations (functionality intact)

What's Next?

🔜 V2 Ideas

  • Real HN API integration
  • Dark mode toggle
  • Pagination / infinite scroll
  • Performance: lazy loading, SSR
  • Keyboard shortcuts

🔧 Cleanup

  • File org per ARCHITECTURE.md
  • Separate hooks & variables files
  • Custom favicon
  • Incremental git commits
  • Mid-sprint review checkpoints

The Team 🤝

📋
Steve
PM — Brief & scope
🔬
Stephen
Researcher
🏗️
Tony
Architect
🎨
Natasha
Designer — Design system
👁️
Vision
Engineer — Implementation
Thor
QA — Testing

Fully autonomous agent pipeline · Single sprint · Zero human code

🔶 Ship it.

HN Redesign — v1 Complete

7 pages · 45/48 spec items · 0 critical issues · 🟢 PASS

Agent Product Team · March 2026