forskjeller.naiv.no/CLAUDE.md
Ole-Morten Duesund 44c8fe26bf Initial commit: forskjeller.naiv.no
Interactive salary gap calculator (public/lonn/) showing how
percentage-based raises amplify absolute salary differences over time.
Includes landing page, README, and CLAUDE.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 13:09:04 +01:00

38 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
Interactive web application that visualizes how percentage-based salary increases amplify absolute salary differences over time. Norwegian-language UI ("Lønnsforskjellen vokser" = "The salary gap grows").
## Architecture
Hosted at `forskjeller.naiv.no`. Static site in `public/` — no build system, no package manager. Serve `public/` as the site root. Each topic gets its own subdirectory (e.g. `public/lonn/`).
- `public/lonn/index.html` — Page structure: header, 4 range-slider controls, 4 stat cards, 4 chart canvases, explainer section
- `public/lonn/style.css` — CSS custom properties in `:root`, CSS Grid layouts, responsive breakpoints at 560px/480px/360px
- `public/lonn/app.js` — All logic:
- `fmtKr(n)` / `fmtShort(n)` — Norwegian locale number formatting (nb-NO)
- `getData()` — Computes compound growth arrays from slider values
- `baseOpts()` — Shared Chart.js config factory for all 4 charts
- `update()` — Reads sliders, recalculates, updates DOM and charts (called on every `input` event)
**External dependencies** (loaded via CDN, no install needed): Chart.js 4.4.1, Google Fonts (Fraunces + DM Sans).
### Key Design Decisions
- All 4 charts share `baseOpts()` — modify this for consistent chart styling changes
- Charts update with `'none'` animation mode for responsive slider interaction
- Mathematical model: gap = `(B₀ A₀) × (1 + r)ⁿ`
## Development
```bash
python3 -m http.server 8000 -d public
# open http://localhost:8000/lonn/
```
## Language
All user-facing text is in Norwegian Bokmål (nb-NO). Use Norwegian for UI strings and `nb-NO` locale for number formatting.