← All work

The Forge.
Run daily by people who did not build it.

Custom operations software that turns a single artwork into finished, publishable output: photographic room mockups, print-ready files, product descriptions written from supplier records, and tracking through to publication.

Role
Sole engineer
In daily use by
Three across two continents
Template library
2,800 room mockups
Assets managed
7,100 files
Overview01

The Forge is an internal platform that runs a production line end to end: preparing and upscaling artwork, compositing it into photographic room mockups with perspective-correct frame mapping, producing 300 DPI print masters, writing product descriptions, and filing every asset to cloud storage in the exact structure the downstream tools expect.

Around that sits the operational layer the business actually runs on. Work is handed to remote staff as tasks, reviewed through a quality-control screen with annotations pinned directly onto images, and tracked to completion. Notifications reach people on their phones. Access is role-based, so staff see only their own work.

It replaced a manual desktop workflow. The interesting problem was never any single feature: turning one piece of artwork into a finished, publishable set involves dozens of steps across several external systems, and the value is in removing the manual work between them.

The calls I made02
01

Perspective mapping, not a paste-over

Artwork is composited into real room photographs using corner mapping in OpenCV, so a print sits on the wall at the right angle under the room's own lighting rather than floating flat on top of it. One artwork becomes seventeen finished images in a single run, which is the part that would otherwise be hours of manual work per design.

02

The model writes the sentences, never the facts

Product descriptions are generated, but paper weight, framing, production and delivery times are read from a supplier record rather than produced by the model. That separation is the difference between copy that can be published and copy that has to be checked line by line before it can be.

03

Files on a volume, not a database

The workload is document-shaped and single-tenant, so state is structured files on a persistent volume with atomic writes and per-file locking. A race condition surfaced under real load and was fixed by making the writes concurrency-safe, which is the kind of thing a database would have hidden and a file store makes you face.

04

Measured the cost, then cut it

Running AI costs came down by roughly sixty percent through prompt caching and removing work that nothing consumed. That number is measured against the bills before and after, not estimated from what the changes ought to have saved.

Built with03

Framework

Next.js 16
App Router · Turbopack
React · TypeScript · Tailwind

Deployment

Single Node container
Railway · persistent volume
Atomic writes · file locking

Image pipeline

Python · OpenCV
sharp
LaMa ONNX worker

AI services

Anthropic Claude
Replicate Real-ESRGAN
Product copy · upscaling

Background job runners with progress polling and cancellation. Built solo, still extended and maintained in production.