Grzegorz Otto · Mobile + web engineer · solo game-engine author
Poland · compiled from src/
I build engines that respect the frame budget.
Polish software engineer building Flare, a modular 2D game engine for React Native and Web, and Pan Tvardowski — a vertical-scrolling shoot-em-up themed on Polish folklore.
I work solo with AI-directed agent infrastructure, shipping monorepo-scale output at team velocity. Architecture-minded (Clean Architecture · DDD · ECS · TDD) and rule-minded (SOLID · KISS · DRY · YAGNI) — as tools, not dogma.
Most recent shipped production work: the Polish national radio mobile app — custom playback service, CarPlay / Android Auto, and Chromecast.
Runs an AI-directed agent loop for solo monorepo development — local LLMs, custom skills, and instruction files instead of a team.
static-exported · zero runtime DB reads · 14kb gz
Flare — a 34-package React Native + Web 2D engine (in development). Showcase: Pan Tvardowski.
32% complete
- test(core): add unit tests for stream-refresh and storage managers
- feat(cli): add asset preprocessing CLI
- refactor(ecs): rewrite scheduler
- feat(cms): monorepo config
- posts
- 0
- flare packages
- 34
- engine tests
- 1582
- engine packages exercised
- 32/33
Featured projects
- ⌘ PINNED2026
Polskie Radio — national broadcaster app
Poland's national public broadcaster needed a single mobile app covering live radio (4 national + 17 regional stations), on-demand podcasts, offline downloads, and handoff to car head units and Chromecast. The previous stack was fragmented across platforms, and playback state drifted between the UI, lock screen, CarPlay/Android Auto and cast targets. The app had to keep playing reliably through network drops, app backgrounding, OS process death, and transitions between local audio, cast, and car surfaces — without the UI and the native media session ever disagreeing about what is playing.
React NativeExpo SDK 55TypeScriptKotlinSwiftExpo ModulesTanStack QueryMMKVUnistyles 3CarPlayAndroid AutoChromecastFirebase AnalyticsGemiusSentry - ⌘ PINNED2026
Pan Tvardowski — Polish-folklore vertical shmup
Flare engine needed a production-grade showcase — one that exercises every layer, tells a coherent story, and is genuinely shippable. The genre (vertical shmup) is mechanically rich but small enough for a solo author. The setting (16th-century Polish folklore: Pan Twardowski, the Devil's bargain, exile to the Moon) is underused in games and culturally specific enough to stand out. The game also needed to answer a hard question for the engine: does Flare hold up across all 34 packages, including tier-2 platform services, IAP entitlements, i18n, a11y, and store-ready bundles?
TypeScriptReact Native@shopify/react-native-skiaFlare engine (34 packages)MMKVEASICU pluralsreact-native-gesture-handlerreact-native-audio-apiPolyForm Noncommercial 1.0.0 - ⌘ PINNED2026
Flare engine — React Native game engine
React Native has no real 2D game engine. `react-native-game-engine` is dead (last published 6 years ago, ~2 766 downloads/week) and renders through RN Views; Phaser/Pixi/Excalibur don't run on RN at all. Sprite sheets, tilemaps, particles, game audio, ECS — none exist as published RN libraries. Teams roll the stack from scratch every time.
TypeScriptReact Native@shopify/react-native-skiaCanvasKitplanck.jsbitmask ECSBunTurborepotsupBiomeChangesetsMMKVreact-native-audio-apireact-native-gesture-handler