Skip to main content

§ masterplan.md

Investigative Reports Hub

An editorial hub for student investigative journalism with long reads, evidence maps and downloadable PDF reports.

All ideas
Editorial

01

App overview and objectives

A hub for long-form investigations with the underlying data published alongside each story, plus a secure tip line. The objective is verifiable journalism, not just readable journalism.

02

The problem worth solving

Readers increasingly distrust conclusions they cannot check. Publishing the dataset, the method and the documents turns a story into something a reader — or another newsroom — can audit.

03

Target audience

  • Primary — Readers of serious investigative journalism.
  • Secondary — Researchers, other newsrooms and NGOs reusing the data.

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

  • Report pages with chapters, embedded charts and document viewers
  • Data page per report with downloadable, documented datasets
  • Methodology section explaining collection and limitations
  • Secure, anonymous tip submission
  • Topic hubs grouping related reports over time
  • Subscription or donation to fund the work

Deliberately later

  • Collaborative cross-newsroom projects
  • Interactive data explorers
  • Podcast companion

06

Technical stack

Static-rendered articles, object storage for datasets and documents, a separately hosted anonymous tip intake.

Why: Static delivery survives traffic spikes when a story breaks; isolating the tip system limits the blast radius of any compromise.

Alternatives: A standard CMS newsroom platform (mature, weak on data publishing) or a data portal plus blog (good data, disjointed reading).

07

Conceptual data model

Report — title, chapters, authors, published, topics, status

Dataset — report, file, schema description, licence, collection method

Document — report, scan, ocr text, redactions applied

Topic — name, description, linked reports

Tip — encrypted payload, received_at, triage status

08

Integrations

  • Object storage with CDN
  • Charting library
  • Anonymous intake service
  • Payments for donations

09

UI design principles

  • Reading experience first: 65-75 character measure, strong serif headings, real typographic hierarchy.
  • Images are captioned and credited; pull-quotes break long passages.
  • Navigation stays out of the way while reading and reappears on scroll-up.

10

Security considerations

  • Tip line runs on a separate origin, strips metadata, and stores nothing that identifies the sender.
  • Documents are redacted before upload and re-checked for hidden text layers.
  • Strict access control and audit logging on unpublished investigations.

11

Development phases

Phase 1 — Prove the core

  • — Report pages with chapters, embedded charts and document viewers
  • — Data page per report with downloadable, documented datasets
  • — Methodology section explaining collection and limitations
  • — Static content and design system in place
  • — Basic analytics

Phase 2 — Make it real

  • — Secure, anonymous tip submission
  • — Topic hubs grouping related reports over time
  • — Subscription or donation to fund the work
  • — 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: Object storage with CDN
  • — Wire up: Charting library

Phase 4 — Grow

  • — Collaborative cross-newsroom projects
  • — Interactive data explorers
  • — Podcast companion

12

Challenges and solutions

Risk — Legal pressure and takedowns

Solution — Pre-publication legal review, mirrored archives and a documented corrections process.

Risk — Source exposure through metadata

Solution — Automated metadata stripping plus a manual checklist before every publication.

Risk — Data downloads are expensive

Solution — CDN caching and dataset versioning rather than regenerating files.

13

Future expansion

  • Grant-funded investigation series
  • Public records request tracker
  • Data journalism training

14

Page list (13 pages)

  1. 01 PUBLIC Reports — The investigations themselves.
  2. 02 PUBLIC Topics — Ongoing beats and related coverage.
  3. 03 PUBLIC Data — Downloadable datasets and documentation.
  4. 04 PUBLIC Subscribe — Funding and email updates.
  5. 05 PUBLIC Submit — Secure tip line.
  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
────────────  ─────────────────  ───────────────────  ───────────────────
├─ Reports    ├─ Sign up         └─ Account settings  ├─ Privacy policy
├─ Topics     ├─ Log in                               ├─ Terms of service
├─ Data       └─ Reset password                       └─ 404 not found
├─ Subscribe
├─ Submit
└─ Contact

key flows:
  Reports ──▶ Data
  Topics ──▶ Reports
  Reports ──▶ Subscribe