Skip to main content

§ masterplan.md

Dark Hacker News Board

A dark-premium link aggregation board for a niche tech community with comments, votes and tags.

All ideas
Dark Premium

01

App overview and objectives

A link-sharing board for a specific technical community: fast, text-first, ranked by a transparent algorithm, with moderation that is visible rather than mysterious. Small and high-signal by design.

02

The problem worth solving

General news aggregators drown niche communities. A board scoped to one domain, with published ranking rules, keeps quality high and arguments about moderation short.

03

Target audience

  • Primary — Practitioners in one technical niche who want a daily reading list.
  • Secondary — Authors seeking a knowledgeable audience for their writing.

04

Roles and permissions

  • Visitor — read-only public pages, can sign up.
  • Member — owns their own records, cannot see other users' data.

05

Core features

  • Submit links or text posts with tags
  • Ranking by votes decayed over time, with the formula published
  • Threaded comments with collapse and permalinks
  • Karma with rate limits that scale with account standing
  • Moderation log visible to everyone
  • Keyboard-first navigation and a text-only fast mode

Deliberately later

  • Personalised tag feeds
  • Weekly digest email
  • Full-text search over comments

06

Technical stack

Server-rendered React with heavy caching, Postgres for posts, votes and comments, Redis-style cache for hot lists.

Why: Ranking queries are the hot path; caching the computed front page for short intervals keeps the site instant under load.

Alternatives: Off-the-shelf forum software (instant, wrong shape) or a fully static aggregator (cheap, no discussion).

07

Conceptual data model

Post — author, title, url or text, tags, score, created_at

Comment — post, parent, author, body, score, depth

Vote — user, target, value

User — handle, karma, created_at, rate limit tier

ModAction — moderator, target, action, reason, public

08

Integrations

  • Link metadata fetching
  • Spam detection
  • Email for account recovery

09

UI design principles

  • Deep neutral background, one saturated accent, thin borders instead of heavy cards.
  • Monospace for data and code; tight, technical spacing.
  • Subtle glow and gradient only where you want the eye to land.

10

Security considerations

  • Vote-ring detection and per-account rate limits.
  • Sanitise all user content; render markdown through a strict allowlist.
  • Public moderation log to keep moderators accountable.

11

Development phases

Phase 1 — Prove the core

  • — Submit links or text posts with tags
  • — Ranking by votes decayed over time, with the formula published
  • — Threaded comments with collapse and permalinks
  • — Static content and design system in place
  • — Basic analytics

Phase 2 — Make it real

  • — Karma with rate limits that scale with account standing
  • — Moderation log visible to everyone
  • — Keyboard-first navigation and a text-only fast mode
  • — Accounts, sign-in and password reset
  • — Empty, loading and error states everywhere

Phase 3 — Polish and launch

  • — Performance, accessibility and SEO pass
  • — Legal pages, contact route and 404 handling
  • — Wire up: Link metadata fetching
  • — Wire up: Spam detection

Phase 4 — Grow

  • — Personalised tag feeds
  • — Weekly digest email
  • — Full-text search over comments

12

Challenges and solutions

Risk — Community culture decays as it grows

Solution — Invite-based growth phases, explicit norms, and a slow-mode on heated threads.

Risk — Vote manipulation by submitters

Solution — Weight votes by account age and activity; flag self-promotion patterns.

Risk — Ranking arguments

Solution — Publish the exact formula and a page showing why a given post ranks where it does.

13

Future expansion

  • Job postings section
  • AMA scheduling
  • Federated feeds with sibling communities

14

Page list (13 pages)

  1. 01 PUBLIC Top — Ranked front page.
  2. 02 PUBLIC New — Chronological firehose for early voters.
  3. 03 PUBLIC Tags — Topic slices of the board.
  4. 04 PUBLIC Submit — Post a link or a discussion.
  5. 05 APP (signed in) Profile — History, karma and settings.
  6. 06 AUTH Sign up — Create an account with email or a social provider.
  7. 07 AUTH Log in — Return to the account, with error and lockout states.
  8. 08 AUTH Reset password — Request a reset link and set a new password.
  9. 09 APP (signed in) Account settings — Profile, email, password, language and delete account.
  10. 10 PUBLIC Contact — Contact form plus real address, phone and email.
  11. 11 LEGAL & SYSTEM Privacy policy — What data is collected, why, and how to remove it.
  12. 12 LEGAL & SYSTEM Terms of service — Rules of use, liability and account termination.
  13. 13 LEGAL & SYSTEM 404 not found — Friendly dead end with search and links back.

15

Page map

PUBLIC      AUTH               APP (signed in)      LEGAL & SYSTEM
──────────  ─────────────────  ───────────────────  ───────────────────
├─ Top      ├─ Sign up         ├─ Profile           ├─ Privacy policy
├─ New      ├─ Log in          └─ Account settings  ├─ Terms of service
├─ Tags     └─ Reset password                       └─ 404 not found
├─ Submit
└─ Contact

key flows:
  Top ──▶ Submit
  New ──▶ Top
  Tags ──▶ Top
  Profile ──▶ New