Art Way booking app

Building Art Way: why I picked django-ninja over DRF in 2026

Context Art Way is a booking SaaS I built solo for a creative studio — dancers, musicians, and event organizers renting rehearsal rooms by the hour. The domain is narrow: rooms, bookings, users, notifications. Scale is modest — dozens of bookings a week, a single VPS running Django + Celery + Postgres behind nginx. Nothing that needs sharding or a gRPC mesh. What did matter: the frontend is Next.js 15 with React 19 and TypeScript, consuming the API from both client and server components. A typed frontend changes the economics of your API design. Type drift between backend response shapes and frontend interfaces is a constant source of bugs, and in a one-person project there’s no code-review safety net to catch it. OpenAPI wasn’t optional — I needed a machine-readable contract that the frontend could consume. And boilerplate is the enemy of a solo developer: every file I write to wire up DRF is a file I can’t spend on actual features. ...

April 15, 2026 · 6 min
SafeWay landing

Two years founding SafeWay, four years running it: lessons from a solo industrial-safety SaaS

The pitch SafeWay is a mobile-first incident-logging and safety-management tool for industrial sites — factories, construction sites, warehouses. The core loop: a worker spots a hazard or a near-miss, opens the app, logs it with photo and location, routes it to a supervisor, and tracks resolution. Safety officers get dashboards; supervisors get task queues; workers get a form that’s faster than paper. Development started in 2019. The product went into production use in 2021. It runs on a free / lite / pro tier model, available on iOS and Android. Four years of real production workloads, real users, real 3am pages. ...

March 20, 2026 · 7 min
LinkBridge architecture diagram

LinkBridge: bridging Ableton Link to MIDI clock for hardware sequencers

The itch My home DJ rig runs djay Pro, Mixxx, or Ableton Live depending on the session — all three speak Ableton Link, so tempo stays consistent across apps on the same machine. The problem is my Novation Circuit Tracks. It’s a hardware sampler and step sequencer whose only tempo input is MIDI clock: 24 pulses per quarter note over USB. It has no knowledge of Ableton Link. The gap meant tap-tempo every time I started a set, and then again mid-mix whenever the Circuit drifted a few milliseconds behind the laptop. Tap-tempo is the wrong solution — it trades a solved synchronisation problem for a manual one. What I needed was something that joins the Link session, reads the current tempo, and feeds it to the Circuit as a continuous MIDI clock stream. ...

February 10, 2026 · 4 min