Back to home

Twenty & Oak

Room Visualizer Suite

An AI imagery pipeline for a national flooring brand: three apps that generate photorealistic room scenes and composite flooring products into them across the product catalog.

Role
Solo engineer
Timeframe
2025–2026
Stack
ReactTypeScriptFastAPIExpressAzurePrompt EngineeringAzure SQL

The problem

Twenty & Oak, a flooring brand, needed affordable marketing and sales imagery showing every flooring product in realistic room settings. Traditional photography doesn’t scale: with hundreds of SKUs and dozens of room styles, shooting even a fraction of the combinations is cost-prohibitive, and every new product line restarts the problem. They also wanted sales reps and customers to preview any floor in a real room photo on the spot.

The build

A suite of three production web applications that share one product catalog and storage backbone on Azure, each covering a stage of the pipeline:

  • Room Scene Creator generates photorealistic empty room scenes from blueprints, 2D layouts, or templates, with a per-user gallery and hand-off into the next stage.
  • Bulk Room Generator is the internal production tool. Operators upload product textures, pick room scenes, and submit batch jobs that fan out to an image generation batch API to composite every SKU into every room, with job monitoring, retry triage, and a branded export gallery.
  • Floor Visualizer is the customer-facing tool. Upload a photo of your room, pick a product, and get a photorealistic render with the new floor applied while furniture and lighting are preserved, with a before/after slider.

How it works

The RSC and the BRG authenticate through Microsoft Entra and all three share an Azure SQL product catalog and Azure Blob Storage, so a SKU imported once is available across the whole pipeline. Front ends are React + TypeScript on Azure Static Web Apps. Back ends run on Azure App Service (Express for the batch tooling, FastAPI for the image services), deployed through GitHub Actions with OIDC across dev, stage, and prod environments.

Image generation runs on frontier image models behind a provider façade, so the scene generator can switch between cost effective models per deployment. The bulk path uses a frontier batch API with a background worker that tracks job state, surfaces failures for retry, and files finished images into the shared catalog. The consumer app handles real-world inputs: HEIC photos from iPhones, deterministic aspect-ratio mapping, and client-side caching so reps can flip between renders instantly.

Outcomes

The suite is live on Azure and in production use for catalog imagery. Running real operator and customer traffic has meant real operational work: a production incident around image-generation failures led to a hardening pass across the pipeline, and regular production audits, security fixes, and performance passes are part of the ongoing engagement. This is forward-deployed work in practice: understand a client’s workflow, ship tools into it, and support them in production.