CASE STUDIES
The systems, constraints and decisions behind the projects — not just screenshots.
Shop Management System
Business flows before demo screens.
The platform is built around connected business domains: products, SKUs, pricing, inventory, customers and orders.
The backend is designed as a modular monolith, with the management dashboard as the first client and additional clients planned as the system matures.
Inventory changes should have a reason.
Goods receipts and inventory movements make stock changes auditable instead of silently overwriting a quantity.
Purchase cost belongs in the receiving transaction.
The receiving flow records quantity and purchase cost, supporting weighted-average inventory costing.
Repeatable infrastructure matters early.
Docker, Flyway and Testcontainers keep the local environment, schema and integration tests predictable.
CircleChat
Features became architecture once they started interacting.
CircleChat grew from private messaging into groups, media, replies, reactions, presence, storage policies and moderation.
The interesting problems were keeping authorization, storage cleanup, account restrictions and UI state consistent with each other.




Stable message pagination.
Loading older messages above the current viewport without a visible jump required careful list-state handling.
Authorization belongs in the backend.
Active membership and roles affect messaging, media access, invitations and group administration.
Moderation has to survive a modified client.
Suspended and banned account restrictions are backed by database behavior rather than hidden UI alone.
NightClock
The display itself changed the implementation.
NightClock is meant for long-running landscape use on an OLED device, so fullscreen behavior, pure black rendering and burn-in mitigation are part of the product — not visual extras.
V1 also includes five clock styles, quick timers, dim mode, sound/vibration and persistent settings.