11·3D & Spatial·Passion project
Future Office View
Virtual office staging proof-of-concept. Takes a real listing photo and produces convincing workplace concepts via image-to-image diffusion while preserving room geometry (walls, windows, perspective). Six prompt styles, three occupancy levels, multi-model comparison across GPT-Image, Flux Kontext, and Gemini Nano Banana.

What it took
The skills behind this project.
Every project below leans on a primary discipline and a handful of secondary ones. Tap any chip to see how that skill plays out across the wider portfolio.
Skills demonstrated
- AI & Machine LearningPrimary
Image-to-image diffusion that preserves room geometry across six prompt styles and three occupancy levels.
- Web DesignSecondary
Demo, landlord-admin, and concept surfaces tuned for in-room client walkthrough.
- Frontend EngineeringSecondary
Next.js + FloraFauna comparison rig with side-by-side GPT-Image, Flux Kontext, and Gemini Nano Banana outputs.
- ResearchSupporting
Multi-model prompt-adherence study on geometry preservation across diffusion families.
Context
Why it exists.
Commercial listing photos show empty rooms. Buyers cannot read empty rooms — they need to see the space staged for the way they would use it. Physical staging is too expensive for commercial; virtual staging via diffusion is cheap, but most attempts smear the room geometry and the listings look generated.
Future Office View is the proof-of-concept that asks one question: can an off-the-shelf image-to-image model preserve room geometry — walls, windows, ceiling, perspective — well enough to ship? Stage 1 is a prompt library, a four-page static HTML walkthrough for live client demos, and a side-by-side model-comparison rig run manually in FloraFauna across GPT-Image, Flux Kontext, and Gemini Nano Banana.
Deliberately not import-ready yet. The point of stage 1 is to learn which model survives the trust test before any production worker exists.
StackDiffusion models · Prompt engineering · FloraFauna · Next.js
Process
The decisions that shaped it.
- 01
Prompt library as a deterministic compose function
The prompts are not strings copy-pasted into a chat window. They are a TypeScript library — six styles × four layouts × three occupancy levels × two preservation-strictness modes × two watermark policies — composed by a pure `compose()` function that returns deterministic text plus a sha256 hash. The hash becomes the dedupe key in Phase 2; until then it makes runs reproducible across reviewers.
AI & Machine Learning - 02
Four static HTML pages, four audiences
demo.html (tenant-facing showcase), landlord.html (the four-step back-office workflow with cost / latency / budget metrics), poc.html (internal concept document with the four-phase roadmap), compare.html (an inline scoring tool that exports five-criterion scores to markdown). All four are self-contained — a sales advisor opens demo.html in a client meeting and nothing on the network needs to respond for it to work.
Web Design - 03
FloraFauna for the model comparison, not a self-built rig
Used FloraFauna to run the same prompt across GPT-Image, Flux Kontext, and Gemini Nano Banana in one operation, then scored outputs against a five-criterion rubric in compare.html. Skipped building a self-hosted comparison rig because stage 1's job is to learn, not to ship — the rig comes in Phase 2 once the winning model is chosen.
Research - 04
Watermark policy in the prompt, not in post-processing
The prompts instruct the model to paint over the source watermark cleanly, so no pre-cropping is needed; the production worker re-composites the official brand mark via `sharp` only at the final stage. Keeps the demo loop fast — paste prompt, get image, score — without an intermediate Photoshop step.
Outcome
What shipped.
Demo, landlord-admin, and concept pages all self-contained for live client walkthrough.
Stage 1 complete: prompt library shipped with nine passing unit tests, four-page demo walkthrough usable in client meetings, model-comparison rubric filled in across the three diffusion models. Stage 2 (production worker + landlord admin) is gated on the comparison results — the technique earns its build only if the geometry-preservation evidence holds.
Inside
4 moments worth a closer look.
01Stage as
Six prompt styles per listing — Hybrid / Corporate / Startup / Executive / Creative / Coworking. Switching style re-runs only the style branch of the prompt; geometry is preserved.
02Density control
Three occupancy levels. Sparse hides most furniture; dense fills the floor plan. Useful for showing the same room to flexible-lease vs full-floor buyers.
03AI variants strip
Click any thumbnail to swap the hero. Each thumbnail is a real diffusion output cached locally so the agent can flick between them in front of a client.
04Model comparison
Same listing rendered by GPT-Image, Flux Kontext, and Gemini Nano Banana side-by-side. Compares prompt adherence + room-geometry preservation per model.