Client
Nightingale
Industry
Commercial furniture
Scope
Brand · Platform · Data · AI
Engagement
Sept 2025–Present
At a glance
At a glance
Nightingale has made excellent seating since 1928. Its digital presence was a generation behind the product. We rebuilt everything, the brand, the platform, the product data, and the tools on top.
Brand identity & design system
Site architecture & Shopify build
Product database (full catalog)
Textile library & Digital Textiles program
SKU-aware search
Real-time 3D configurator
Nightingale Studio (AI imaging platform)
Government & contract infrastructure
The situation
The situation
A flat 2D configurator with broken images. Textile swatches that didn't load. No pricing anywhere. A search bar that couldn't find products, a rep locator whose map wouldn't load, and a footer form that showed an error on every page. Decades of product knowledge locked in paper catalogs, spec cards, and PDFs. Buyers judged the company by its website, and the website was costing it business the product had earned.


The work
The work
Brand & Platform
The brand came first. We wrote Nightingale's new brand guidelines from scratch, typography, color, layout, voice, and built them into a working design system that carries every page of the site, from the homepage to the government contract pages. The brand isn't a PDF sitting in a drawer; it's running code.
Then the platform. The new nightingalechairs.com is a fully custom Shopify build, over a hundred purpose-built sections and components, designed around how contract furniture is actually bought. Buyers choose their market and see live CAD or USD pricing everywhere. Lifestyle imagery is shoppable, tap any chair in a scene to see it, price it, and quote it. Category navigation, mega menus, editorial and lookbook layouts, resource libraries, and product pages with galleries, models, and full option breakdowns, all on one design system, all maintainable by one person.
Shopify · custom theme · design system

Product Data Infrastructure
None of it was in a database when we started. Chair specs, textile spec sheets, pricing grades, supplier certifications, dimensions, mechanism options were scattered across hundreds of physical documents, vendor PDFs, printed spec sheets, and hand-maintained Excel files. We built the first structured database the company had ever owned by reviewing those documents one at a time and encoding what we found.
The result is a Postgres source of truth with roughly 10,000 rows across 11 tables. On top of the raw catalog we wrote scrapers and enrichment pipelines that pull directly from supplier websites and reconcile that data against the configurator's internal codes, so the database stays current as vendors update their lines.
Textiles: about 1,000 colorways across 7 supplier brands (Mayer, J.Ennis, Momentum, Arc-Com, Duvaltex, CTL Leather, Geo Sheard), each row carrying its full spec sheet. Abrasion ratings (Wyzenbeek double rubs), flammability certifications (Cal 117, BS 5852), lightfastness, fiber content, cleaning codes, sustainability attributes like PFAS-free, LEED, and Red List Free. All of it reconciled to Mimeeq configurator variants through 22 iterations of matching logic to handle the mismatched naming conventions between suppliers and the internal system.
Chairs: model numbers, dimensions, price grades, configurator options, product photography, and market-aware USD/CAD pricing in one place. Price lists that used to be assembled by hand in Excel now generate automatically, driven by a Mimeeq to Shopify sync that writes variant prices and metafields on demand.
The data feeds three surfaces at once. The Shopify storefront pulls it live for the textile drawer, product cards, and market-aware price badges. The AI image generator uses it for chair-reference lookups that inform prompt context. A standalone catalog application on Vercel gives the internal team a single searchable view of the whole database with full specs, pricing, and options together.
Supabase / Postgres · edge-function scrapers + enrichment · Next.js dashboards on Vercel · standalone catalog app · AI-queryable schema

The Textile Library
We took textiles from a wall of unlabeled thumbnails to a filterable library: every fabric with its grade, collection, content, and certifications, every swatch opening into a full spec drawer. We built the Digital Textiles program alongside it, digital sample books and COM support with partner mills. What used to be a dead end is now a selling tool.

Search Built for the Trade
Nightingale's buyers search by model number, so the site speaks SKU. Type a model code and search renders an interactive builder with the product, its grades, and options. Predictive search surfaces products and resources as you type, and the most-searched panel is driven by live customer behavior.
SKU recognition · predictive search · live search analytics

The 3D Configurator
Every chair in the catalog was rebuilt as a fully configurable 3D product. Buyers pick model, back, seat, arms, casters, textile, headrest, and finish, spin the chair through 360 degrees, drop it into their own room in AR, and watch the price recalculate live in USD or CAD before adding the exact configuration to a quote. Underneath that experience sits a product data model of 12+ option sets per chair driven by dozens of visibility rules (hide the mesh color picker when upholstery is chosen, restrict backrest options by model tier, and so on), a pricing engine resolving over 8,000 market cost and list price codes across two currencies, and a Mimeeq to Shopify sync that keeps every variant priced correctly on the storefront in real time. The result: any buyer, dealer, or rep can configure a chair to exact spec, see what it will cost in their market, and hand the same configuration to the factory as a build-ready quote.
Real-time 3D · live pricing · quote flow
Nightingale Studio
The first AI imaging platform built anywhere in the commercial furniture industry, now a permanent piece of Nightingale's technology stack. Configure a chair in 3D and Studio captures it, reads its exact SKU, options, and price, and generates photorealistic lifestyle imagery on demand: executive office, boardroom, healthcare, hospitality, and more. Packshot mode, multi-chair scenes, a personal library with saved sessions, and AI inpainting to refine any shot without regenerating the whole image. Under the surface, a serverless generation queue on AWS Lambda coordinates Gemini requests through DynamoDB, stores every finished image in Supabase, and runs each output through a dual-judge evaluation harness (Claude Vision + Gemini) that scores chair fidelity and scene quality before the image reaches the customer. Over 1,200 lifestyle images generated to date. Every user is captured by name and email at generation time, so the tool that serves customers also feeds qualified leads straight into the sales pipeline.
AWS serverless · generation queue · AI inpainting · lead capture
A selection of lifestyle images generated with the Nightingale Studio I built—each one created from a configured product, its exact materials, and the context it needs to sell.
Capabilities demonstrated
Brand systems
Identity and design language applied across every surface
Commerce platforms
Shopify architecture built for contract furniture
Data infrastructure
Catalogs digitized into structured, AI-ready databases
Product tools
3D configuration, live pricing, and quoting
AI platforms
Custom imaging and intelligence built on your data
Ongoing operations
We maintain what we build
Artifacts
Selected interface details from the new Nightingale site.


















