Stan Runge a10585a4d2
All checks were successful
Test and deploy staging / staging (push) Successful in 18s
add game tracker with owned pokemon data and call of duty mastery
Fold catchemall into /projects/game-tracker (old URL redirects) and add
Call of Duty tracking for Black Ops through WWII.

- Pokémon catalog is now owned: locations, encounters and per-game
  evolution methods are built from the pinned PokéAPI snapshot and seeded.
- Pokémon you can evolve or breed in a game count as obtainable; mythicals
  without another route are marked event-only.
- Detail dialog with evolution chain and where to find it, location pages
  with admin notes and pictures, and admin corrections that survive reseeds.
- Call of Duty weapons, milestones and Steam achievements per game, with
  derived Diamond / Dark Matter / Solar / Black Sky / Chrome tiers.
- New migration (db:migrate:game-tracker), seeds (db:seed, db:seed:cod) and
  deploy preflight checks for them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 17:36:18 +00:00
2026-09-23 04:16:50 +00:00
2026-09-23 04:16:50 +00:00
2026-09-23 04:16:50 +00:00
2026-09-23 04:16:50 +00:00
2026-08-26 03:57:15 +00:00
2026-08-26 03:57:15 +00:00
2026-09-24 16:24:40 +00:00
2026-08-26 03:57:15 +00:00
2026-09-23 04:36:58 +00:00
2026-09-23 04:16:50 +00:00
2026-09-24 17:34:56 +00:00
2026-09-24 16:24:40 +00:00
2026-09-23 04:16:50 +00:00
2026-08-26 03:57:15 +00:00
2026-09-24 17:34:56 +00:00
2026-08-26 03:57:15 +00:00
2026-08-26 03:57:15 +00:00
2026-09-23 04:16:50 +00:00

Stan Website

This is my personal website, including:

  • Contact info / social links
  • About me
  • Blog posts + comments
  • Projects like Animaldex, CatchEmAll

Language learner

/projects/language-learner teaches Dutch and Korean (explained in English) and English (explained in Dutch), from A1 to C1. Korean starts with a Hangul level. It runs entirely in the browser: no database tables, migrations or API keys.

  • Course content lives in src/lib/language-learner/courses/<lang>/<level>.ts as compact target | translation | note lines, plus markdown notes and multiple-choice grammar questions (prompt | answer | wrong; wrong | explanation). Exercises (choice, typing, sentence building, fill-in-the-blank, listening, matching) are generated from that data. content.test.ts validates every lesson.
  • Endless drills are generated by code in src/lib/language-learner/drills/: number words, Dutch/English clock times, de/het, plurals, Dutch and Korean conjugation (a rule-based Korean conjugator handling the ㅂ/ㄷ/르/ㅅ/ㅎ irregulars), Korean particles and counters, Hangul reading, English irregular verbs, comparatives and a/an.
  • Challenges: a seeded daily challenge (first score of the day counts), 60-second sprint, survival with three lives, mixed practice, level tests that mark a level as done at 80%, and spaced-repetition reviews (simplified SM-2).
  • Audio uses the browser's speech synthesis, so listening exercises appear only when the device has a voice for the language. Romanization of Korean is approximate Revised Romanization.
  • Progress, streaks and settings are stored in localStorage (language-learner-v1), per browser. Export/import on the overview page moves them between devices.
Description
My personal website, including a blog and projects
https://stanrunge.dev
Readme 45 MiB
Languages
TypeScript 51.1%
Svelte 35.5%
HTML 7.6%
Python 3.2%
CSS 1.8%
Other 0.7%