A proof-of-concept exploring how current disease outbreaks map against vaccination status, and a test case for using Claude to rapidly prototype a data project. Sources include the Australian Immunisation Handbook and WHO Disease Outbreak News alerts.
- Next.js 14 (App Router, TypeScript) — the web app
- Drizzle ORM + Neon (serverless Postgres) — the data layer
- Tailwind CSS — styling, using the design tokens from the original scaffold
- Python — separate ETL scripts for pulling from WHO and ClinicalTrials.gov
-
Create a free Neon database. Sign up at neon.tech, create a project, and copy the pooled connection string from the dashboard.
-
Install dependencies
npm install
-
Set your database URL
cp .env.example .env # then paste your Neon connection string into .env(Drizzle Kit's CLI looks for
.envby default, not.env.local— Next.js itself is happy with either, so.envis the simpler choice here.) -
Push the schema to your database
npm run db:push
-
Seed example data
npm run db:seed
-
Run the dev server
npm run dev
Visit http://localhost:3000