-
Notifications
You must be signed in to change notification settings - Fork 6
Home
Jammer is a Rails 8 platform for hosting game jams and distributing indie games. It runs at jammer.website.
This wiki covers the internals: how the code is structured, how the domain model works, and how to deploy.
- Architecture - stack, key files, routing, background jobs
- Domain Model - all models and their relationships
- Development Setup - getting the app running locally
- Deployment - how to ship to production via Kamal
The app has three main areas:
Game jams - the core feature. Users create jams with a schedule (start_date, deadline, end_date), configure voting criteria, invite contributors with different roles (host, admin, judge), and accept game submissions. Voting can run in jury mode, audience mode, or both. Results are cached in Rating records.
Game distribution - users publish games and get ratings from the community, independent of any jam.
Social and moderation - friend connections, in-app notifications, admin/moderator dashboards with audit logging, content reports, and user freeze controls.
The tech is straightforward: Rails with Hotwire on the frontend, Sidekiq for background work, SQLite in production (with ICU extension for case-insensitive search), and Kamal for deployment.