A 150-SKU Furniture Catalog, Built Solo in Under a Month
Built a 150-plus product Shopify storefront end to end as a single operator. Full theme, every product tile, every hero and lifestyle scene. No product photographer. No outside designer. No agency PM layer. Kickoff to public launch in under a month.
01 The numbers
- 150+ Products live in catalog
- 0 Outside hands on the build
- 0 Product shoots commissioned
- Under a month Time from kickoff to launch
02 The breakdown
The Setup
A premium home furnishings brand on Shopify. Statement furniture in the $999 to $7,500 range. Sofas, dining tables, vanities, media cabinets, mirrors, lighting. Built for buyers who care about how the room reads, not how good a deal they got.
The traditional path to launching that brand is straightforward and expensive: a brand photographer to shoot hero imagery, a product photographer to shoot 150-plus SKUs against white, a Shopify designer to build the theme, and a project manager keeping the three of them in sync. Twelve to sixteen weeks. Mid five figures, easy.
The brief I took was different: ship the storefront in under a month. Solo. The bet was that image generation in 2026 had crossed the line where it could carry a $2,500-furniture brand without looking generated. If the bet was right, the project collapsed from a four-person, four-month build to one person, three weeks. If it was wrong, I’d burn the budget and learn an expensive lesson.
The bet was right.
What I Built
The full Shopify theme. Custom-built for the brand’s positioning. Photo-heavy, sparse product grids (three to four per row), generous whitespace, lifestyle hero banners on every collection page. Muted earth tones with a single accent. Designed to feel like a print furniture catalog, not a Shopify template store.
The shop-by-room architecture. Living Room, Bedroom, Dining Room, Bathroom. Plus category-level navigation (Seating, Tables, Storage, Vanities, Lighting, Mirrors). Built so a buyer who already knows they’re shopping for a media cabinet finds it in two clicks, and a buyer furnishing a whole room finds the curated set in one.
150-plus product images. Every SKU rendered through an in-house imagery pipeline that didn’t require sending product to a photographer. Each one is a clean, photorealistic tile that holds up at the price point. No image in the catalog reads as obviously generated. The discipline that made it work: tight control on lighting, materials, perspective, and shadow physics, plus a per-category style lock so a “console table” tile doesn’t accidentally render in a different lighting setup than a “side table” tile sitting next to it on the collection page.






Three of 150 SKUs. Source on the left is the catalog product photo I sent the model as the fidelity anchor. Render on the right is the lifestyle scene the model returned. Same piece, every time. No swapped hardware. No invented joinery. No drift on materials. The full twelve-pair gallery is on the for-home-brands page.
Hero and lifestyle imagery. The room scenes that anchor each collection page. Living rooms with the sofa in context. Dining rooms with the table set. Bathrooms with the vanity installed. Bedrooms with the dresser and mirror pairing. Same workflow, same style-locked, same brand-coherent.




The launch. Storefront went live on schedule. Purchase pixel firing, Google Analytics 4. Google's current analytics platform. Event-based model, no native cookies, intended for behavioral analytics, not as a source of truth for ad performance. wired, Email and SMS platform built for ecommerce. The cleanest first-party identity graph a Shopify brand owns. Feeds hashed email back into Meta CAPI and Google Customer Match for audience signal. connected. Buyers landed on a store that looks like a six-figure photography budget paid for it.
The Imagery Workflow
The reason this works at the $2,500 price point and not just at $20 dropship is that the workflow is built for control, not novelty. A few things that mattered:
Style lock per category. Dining tables all share the same camera angle, the same shadow falloff, the same wood-tone palette. Side tables are their own lock. Sofas are their own lock. Without this, the catalog reads as a swap meet of different photographers.
Material rendering tested early. Brushed brass, walnut, bouclé fabric, polished marble, fluted wood. Each material got a small test batch before a full category was rendered, because a model that nails wood will sometimes botch metal, and you want to know that before you’ve generated 40 tiles.
Hero shots get more iteration than tiles. A tile lives at 600 pixels and the buyer scans it in half a second. A hero lives at 2400 pixels and the buyer studies it. Hero compositions ran three to five rounds each. Tiles ran one to two.
Real photography is still better for one thing: in-room human scale. I didn’t try to fake people in rooms. Where the brand needs a model on a sofa, that’s a future-state shoot. The catalog and the room scenes work without it.
The takeaway, generalized: rendered imagery is now a viable substitute for product photography on furniture catalogs, if the operator running it understands product photography well enough to direct the work. Without that direction, the output is still recognizably generated. With it, the output is indistinguishable from a paid shoot at the resolution a Shopify storefront actually uses.
What This Replaces
Operator math for the brand founder reading this:
- A product photographer for 150 SKUs at typical rates: $15K to $40K, four to eight weeks.
- A brand photographer for hero and lifestyle imagery: $8K to $20K, on top of the product shoots.
- A Shopify designer for theme buildout: $10K to $25K, four to six weeks (often runs in series, not parallel, with the shoots).
- An agency PM layer to coordinate the three: $5K to $15K, billed against the same calendar.
Total range: $38K to $100K, twelve to sixteen weeks.
Agency quote vs. operator engagement
The savings are not the point. The compression is. The brand was selling product nine weeks earlier than the traditional path would have allowed, in a category where Q4 timing is everything.
The Stack
- An in-house imagery pipeline for product tiles, hero compositions, and lifestyle scenes. Style-locked per category, iterated heavily on hero shots, lighter touch on tiles. Brand constitution + per-SKU spec sheets + provenance tracking, all version-controlled so any image can be regenerated to the same brief.
- Shopify for the storefront. Custom theme built directly, no page builder layer.
- Klaviyo wired in at launch for the email and SMS layer (see the Tracking Stack for why this should be wired before launch, not after).
- Google Analytics 4. Google's current analytics platform. Event-based model, no native cookies, intended for behavioral analytics, not as a source of truth for ad performance. + the Meta The Conversions API. Server-side endpoint Meta exposes for receiving event data. Replaces or supplements the browser pixel so conversion data still gets to Meta when ad blockers, iOS, or ITP break client-side firing. A first-party tag container (Stape, GCP, or self-hosted) that receives events from the browser and fans them out to ad platforms (Meta CAPI, Google Ads, GA4) server-to-server. The spine of a modern tracking stack. for the conversion tracking foundation. Same architecture I rebuild every Shopify brand to.
- Same operator on the build as on the strategy call. No handoffs to a junior team. No project manager translating between the founder and the maker.
What This Means For Brand Founders
If you’re a founder looking at a sixteen-week, six-figure storefront build because that’s what the agency quote says, the math has changed under you. The execution work that used to require four specialists in series can now be run by a single senior operator with the right tooling, in a quarter of the calendar time, at a fraction of the cost.
The catch is that the operator running the imagery pipeline needs to know product photography well enough to direct the work. Without that direction, you get the obviously generated output that has trained every buyer to spot it. With it, you get a catalog that holds up at the price point your products actually sell at.
The same compression principle that built my own site in 24 hours built this storefront in under a month. Different deliverable, same play: replace the team-of-specialists model with a senior operator running modern tooling, and ship the work in the time the kickoff meetings used to take.
If you’re looking at a Shopify storefront build, a catalog re-shoot, or a brand visual refresh and the quote is in the five figures with a four-month timeline, the contact form is in the footer. I’ll tell you straight whether rendered imagery is the right call for your category or whether you need real photography.
03 More work
Other accounts, same approach.
gcs=G1-- (denied) consent state on beacons, before
A WooCommerce brand's visitors were accepting the cookie banner, and the Google beacons still fired with consent denied. The free tier of the consent platform never told Google about the yes. The ad account had been bidding on modeled data for users who had opted in. The fix was a small PHP snippet at the right priority.
Read the breakdown→
0 website conversions recording, before
A contractor's phones were slowing and the account said website leads were zero. They were not zero. The only website conversion had been silently dead since someone renamed a form button from Send to Submit, breaking the click-text trigger behind it. The rebuilt trigger fired its first real conversion within two weeks, and the cleanup behind it collapsed rank-lost impression share to under one percent.
Read the breakdown→Ready to talk
Want this kind of breakdown on your account?
Thirty minutes on the phone. One clear set of next steps. Same person on the call as on the work.