Live site: anthemworld.net Anthem World lets you click a country on a map and hear its national anthem, see who composed it, when it was adopted and what it means. A sortable, searchable table answers questions like which country has the youngest anthem. In Anthem Battle, visitors hear two anthems and vote; votes feed an ELO rating, the same method used for chess, to build a community leaderboard. Votes count for more the longer you listen.
Tech stack
- Frontend: Hugo static site, Bootstrap 5, Leaflet.js with GeoJSON for the map, vanilla JavaScript (about 60% of the repo)
- Data CLI: Go with SQLite, which discovers, health-checks and formats data from open sources: REST Countries, Wikidata SPARQL and Wikimedia Commons audio
- Backend for voting: AWS SAM stacks for the game and leaderboard APIs, plus a WAF and GitHub OIDC deploy role
- Testing: Go tests for the CLI and Playwright end-to-end tests for the site
- Dev workflow: Taskfile, pre-commit hooks, tmuxinator session, docker-compose, observability setup
Source: aallbrig/anthemworld