← All projects
01 / Ryab · personal project / 2026

Ryab — a living map of the city

Ryab turns local reports into a map of what is happening nearby. I define requirements and technical direction, validate user workflows, and own performance and deployment. A working development version is available at dev.ryab.io. I build the project with AI coding agents, combining AFK execution, human-in-the-loop review and multi-agent coordination.

Working development preview
RoleDeveloper & AI engineer
Company / productRyab · personal project
StackReact · MapLibre · Node.js · BullMQ · Qwen · WebGL

The system

The product combines React, React Native, TypeScript and MapLibre with Node.js, Express, PostgreSQL, Redis and BullMQ. I set up local text and media processing with Qwen, connecting Yandex Cloud to a GPU node through WireGuard. Media processing runs asynchronously through BullMQ.

Moving work to the GPU

I directed the move from JavaScript / CPU media processing to WebGL. Frame processing fell from 1,445 to 196 ms, and one-minute video processing from 349 to 138 seconds. The media benchmarks used identical hardware, inputs and models; these are development benchmarks, not production traffic metrics.

Keeping the map responsive

Caching and selective map updates reduced movement processing from 600 to 280 ms. The focus was reducing repeated work when interacting with the map.

AI development: AFK, HITL and multiple agents

I combine AFK (away-from-keyboard) execution for scoped implementation tasks with HITL (human-in-the-loop) involvement for requirements, architecture, review and product validation. Multiple agents work on defined tasks with clear boundaries. I coordinate their work, integrate the changes and remain responsible for the resulting software.

GitHub Issues and the agent harness

I track work through GitHub Issues, giving agents a concrete task, context and acceptance criteria. The harness brings together repository instructions, tools and feedback loops. Existing code examples provide reference patterns for implementation, helping agents follow the project’s conventions.

Quality checks and feedback

Typecheck, lint and tests form the automated quality checks in the development workflow. Their results feed back into implementation and fixes. I review the resulting code and validate user-facing behavior alongside those checks.