Sunflower GamesSocial CasinoAug 2025 – Jan 2026
Full-stack delivery across admin surfaces, animated game UI, and Node services for a dual-currency social-casino platform.
Primary contributor on several parts of a live social-casino product: NestJS services, Prisma schema and migrations, React admin dashboards, and a Rive-driven game surface. Shipped missions and assignment systems, a bulk ops-import pipeline, a zero-to-production roulette admin, and cross-layer features (jackpot sharing, free-rounds, i18n) that required touching data layer, API, and UI in the same pull request.
Full-stack
Real-time UI
State machines
Role
Senior Full-Stack Engineer
Scope
5.5 months
Highlights
- Built a real-time roulette admin from zero: drag-and-drop chip placement, Rive state-machine animation, and a diff-driven chip-identity model (unique IDs in a map, reconciled against the state machine) that eliminated animation jitter during merge and split.
- Shipped a missions system end-to-end: backend CRUD, admin UI, nested rewards/goals/conditions, and immutability constraints on economy-critical identifiers post-creation. Prevented a whole class of data-corruption bugs across the player lifecycle.
- Bulk spreadsheet-import pipeline for ops with layered validation (schema, business rules, asset ratios, currency classes) and per-row error mapping back to source cells, turning a multi-hour manual onboarding flow into minutes.
- Jackpot image generation + social sharing: Web Share API with clipboard fallback, dynamic Redis TTL based on amount, and locale-aware currency formatting across markets.
- Free-rounds feature wired from wallet API through cache invalidation on mission start to the UI layer with auto-play support; replaced a class of ad-hoc timing bugs with an explicit state model.
- Assignment management with server-side overlap validation and conflict detection; centralized the authoritative date for assignments server-side to eliminate cache-vs-derivation drift.
- Paved path work the rest of the team still uses: AWS SSO shell helpers with credential caching and database utilities, reducing multi-step ops workflows to single-line commands.
Outcomes
- Primary contributor across admin, game UI, and several backend services. Delivered missions, roulette, free-rounds, jackpot sharing, and the bulk-import pipeline end-to-end.
- Three iterations on chip-identity handling converged on a pattern the team has re-used for subsequent animated game components.
- Bulk-import pipeline turned an ops workflow measured in hours into one measured in minutes, validated both client- and server-side.
Stack
- TypeScript
- React 18
- Vite
- TanStack Query
- NestJS
- Prisma
- Sequelize
- PostgreSQL
- Redis
- Rive
- AWS
- Turborepo