Origumo
Origumo · The Weaving Spider
Like a weaving spider in moonlight, each keystroke lays a thread, and thread by thread, speed becomes craft.
A native-first typing race platform. Play in the Rust + Raylib desktop client; use the Phoenix LiveView web platform for profiles, leaderboards, account management, text packs, downloads, and moderation. Rooms, chat, racing, ghosts, ranked ELO, practice, and code mode run through an Elixir/Phoenix server with OTP processes, Postgres, and a dedicated race WebSocket.
Technology
The Vessel
A native-first competitive typing race where speed meets craft. The Rust + Raylib client carries practice, rooms, real-time races, ghosts, ranked play, and code mode, while Phoenix LiveView keeps the web side close to accounts, profiles, leaderboards, text packs, and moderation.
Core Features
- Native racing; race from the Rust + Raylib desktop client
- Real-time competition; see opponents’ cursors advancing as they type
- Ghost Racer; race against your past self, beat your personal best
- Ranked Matchmaking; ELO-based ladder with animal ranks from Snail to Phoenix
- Code Mode; type real code snippets with syntax highlighting
- Practice Mode; timed tests, custom text, offline results, and sync
- Custom Themes; JSON themes with a full editor for everyone
Operational Capabilities
| Capability | Engine |
|---|---|
| Real-time rooms | Phoenix Channels + supervised RoomServer GenServers, with chat and spectators |
| Race orchestration | RaceServer processes with a dedicated binary race WebSocket |
| Low-latency play | Rust + Raylib native client with compact keystroke streams |
| Leaderboards + ranks | Ecto/Postgres-backed results, ghosts, and ELO history |
| Fair play | Keystroke replays in R2, statistical timing checks, server-side validation |
| Offline practice | Local SQLite results, text packs, ghosts, and sync queue |
| Background jobs | Oban for replay checks, daily challenges, exports, and deletion |