Four shapes that almost any brief fits into. The clock starts when the scope is agreed, not at the first message.
A ticketing system for an iiko dealer, covering both service and retail. Tasks with deadlines, owners, discussion and attachments all live at one address — and the same address opens as a mini app inside Telegram. There is no separate messenger build.
A ticket can be dictated in a single sentence: the speech parser picks out the assignee, the deadline, the priority and the project — from rules and dictionaries, with no external LLM and no per-request fee.
Read the case studyAbove is the idea as a mockup; here is what grew out of it. These are screenshots of systems that run, not drawings. Tap any of them to open it large.
A shopfront for luxury interior pieces: catalogue, seller accounts, listing moderation, sourcing requests. In this trade the photograph does the selling, so the whole layout serves a large frame and a calm grid.
The catalogue is served as static pages and reindexed on an event — a category page opens in a fraction of a second even with thousands of listings.
Read the case study
A coffee shop with three locations. The morning queue was eating the takings: someone off a train will not wait eight minutes. It started as a shopfront page with pre-ordering behind it — and half the orders began coming through it.
The next step is an app of its own: pick a drink, size and time, pay, collect by code without queueing. The iOS and Android concept is below.
Read the case studyBooking padel courts inside the messenger: a week, four courts, ninety-minute steps. Taken slots are obvious at a glance and your own are highlighted — the club never had to install a separate app, since the players already live in a shared chat.
The organiser books and everyone else pays their quarter by link. The slot is held in Redis for the duration of the payment: no double bookings even when three people tap the button in the same second, and if it does not come together within an hour the slot goes back into the grid.
Read the case studyStock control for a small warehouse, without an ERP and without paper ledgers. The storekeeper scans a barcode with a phone camera and the level changes that same second; the manager panel and the phone look at one database.
Every line has a minimum: drop below it and the buyer receives a ready-made list rather than a bare warning. Once a month an export goes out in the format the accounts department already knows how to open.
Read the case studyAn invented app for importers: where the shipment is, what is missing from the paperwork and when it arrives. The route is shown as stages, and a missing document is pushed to the top and named as the reason the shipment will sit in a warehouse.
A concept rather than delivered work: it shows how I frame a problem from nothing — who needs it, what people pay for and what would genuinely be hard to build.
Read the concept

An invented app for shift teams: the rota, a swap board and hours worked, instead of a photo of a spreadsheet in a group chat. Hours follow whoever actually turned up — that is exactly where trust in an informal arrangement breaks.
Built to Material 3: colour roles, generous corner radii, a bottom navigation bar with a pill indicator.
Read the conceptSend one message: what the business is and what is getting in the way. I answer the same day, and I will say plainly if it is not my kind of job.