Skip to content

Repository files navigation

Italian Death Clock

An Italian and English one-page data story about the Italian pension system. It combines official projections, observed demographic data and a clearly labelled purchasing-power example. The countdown points to the projected 2036 spending peak, not to a collapse date.

Six scroll-driven scenes use transparent cut-paper illustrations, accessible HTML and SVG data. Motion follows reading progress, never hijacks scrolling, and falls back to a static presentation when reduced motion is enabled.

Run locally

The project uses Vite, React and TypeScript.

pnpm install
pnpm dev

Useful checks:

pnpm test
pnpm lint
pnpm build

The site loads the archived Italian data pack from public/data/italy.json at runtime. src/lib/auditedEvidence.ts adds reviewed Istat base-2025 demographics and a separate RGS 2026 spending update. The timer and chart retain the dated EC 2024 scenario. The international pack remains in the repository but is not required by the published story. Interactive inputs stay in the browser and are not submitted anywhere.

Analysis review

The 1 October 2026 audit records verified numbers, source pages, implemented corrections and issues in the frozen research files. The source-link audit preserves HTTP results, including access restrictions that must not be treated as broken links.

The four-control personal example uses an explicit editorial adjustment of average replacement rates by contribution years. It assumes work to age 67, constant real pay and 13 payments. It does not calculate individual pension entitlement. Results stop beyond the official 2070 horizon or below 20 projected contribution years. Increasing assumed inflation changes the nominal amount while preserving the example's purchasing power in 2026 euros.

Deploy on Railway

Railway builds the production image from Dockerfile. The build stage compiles the Vite app, then Caddy serves the generated dist directory on Railway's assigned PORT. The service exposes /health for deployment checks and falls back to index.html for client-side routes.

Live site: italian-death-clock-production.up.railway.app

Deploy the public GitHub repository and select the branch to publish:

Zer0codestuff/Italian-death-clock

No runtime environment variables are required.

Structure

  • src/App.tsx composes the six scenes, scroll choreography and interactive example.
  • src/styles.css owns the responsive black, warm-white and signal-red visual system.
  • src/lib/statementCopy.ts contains the complete Italian and English narrative.
  • src/lib/storyMath.ts contains bounded interpolation, the editorial contribution adjustment and inflation conversion.
  • src/lib/auditedEvidence.ts contains supplemental reviewed evidence, named source references and shared spending checkpoints.
  • src/lib/i18n.tsx owns the persistent language state and document metadata.
  • src/lib/language.ts exposes the language context and hook.
  • public/assets/ contains six transparent editorial illustrations.
  • src/lib/data-integrity.test.ts and related tests check data, sources, localization and story calculations.
  • The original three research notes and two JSON packs are frozen inputs. The dated audit documents their limitations without rewriting them.

The header language control switches all public copy, chart labels and number formats between Italian and English. The selection stays in browser storage. Source links, truth labels, years, units and scope notes remain beside the claims they support.

About

Italian pension-system explainer with transparent local simulators and sourced data

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages