Streetvers is a single-player roguelike on mobile and desktop, wrapped in a card-driven growth engine: every playable character has a collectible card - portrait, stats, rarity, lore - that doubles as social-media content for influencer drops and as a player's unlock for that character. I own all three pieces end-to-end: a FastAPI backend that's the canonical source of truth, a TanStack Start admin panel where staff author cards and seed drops, and a Unity 6 client targeted at iOS, Android, Windows and Mac - plus the hardened Ubuntu VPS they deploy to.
Today the backend and admin panel are live in production at api.streetvers.com and admin.streetvers.com, with role-based staff auth, server-verified JWTs, image upload, and a full content-management surface. The Unity client is a single-player roguelike prototype at version 0.4 built on the MoreMountains TopDownEngine - playable end-to-end with wave combat, a buff-card economy, a territory base layer, raids, and a meta-progression skill tree, but not yet wired to the backend. The next build is the owned-roster lookup: log the player in, read which cards they own from the API, and gate the character-selection menu to those.
The project spans 29 HTTP endpoints, 5 database models with 3 alembic migrations, 16 admin routes across 6 domain forms, and 190 C# scripts across 9 Unity scenes - running on a self-hosted, hardened Ubuntu 24.04 VPS rather than a managed PaaS.