Skip to content
TsakmakTsakmak

Lab project

AI Architect

A private AI interior designer: one room photo in, redesigns out, no cloud.

Prototype
Status
Prototype
Platforms
Web (local only)
Hosting
Runs locally on Mikael's own machines at home, no cloud
Before
An empty living room, photographed on a phone.
After
The same room furnished by the app: sofa, armchair, rug, coffee table and floor lamp, with the walls, arches and floor kept.

All redesigns generated locally by AI Architect

The problem

Seeing a room redone usually means a designer, a 3D model, or a generic AI image tool. Those tools redraw the whole room, change the camera, invent a different space, and send your photos to a server. AI Architect keeps the room as it is (same walls, windows, camera and layout), changes only what you ask, and does it privately at home.

What it does

You drop in one ordinary phone photo of a room and type a sentence about what you want. AI Architect describes the room, proposes three style directions and makes the first picture in the one you pick. From there you keep talking to it: "paint the walls sage green", "light oak floor", "empty the room", "restyle it". Each change edits only the part of the room it should, and everything else stays as in your photo. When you like a picture, one click makes a sharp high-resolution copy to save. Everything runs on one home PC with a single graphics card, plus a small helper model on a Mac mini on the same home network.

All redesigns generated locally by AI Architect.

How it works

  1. Look and propose

    A 27-billion-parameter vision-language model running locally describes the photo, lists its surfaces and proposes three directions (name, palette, materials, budget tier). Photo and brief to three style cards: about 45-55 s, including loading the model.

  2. Find the areas

    SAM 3.1 finds the floor, the walls, the cabinets or one object. An automatic check rejects outlines in the wrong place or of the wrong size.

  3. Edit only that area

    Qwen-Image-Edit 2511 redraws only the masked area of a crop around it, and the result is blended back into the picture. In the live runs, 0 pixels changed outside any edit zone. One area change takes about 6-10 s.

  4. Turn words into an exact instruction

    While the image models hold the graphics card, a typed change goes as text to a small helper model (gpt-oss 20B in Ollama) on the Mac mini, which rewrites it into a precise edit instruction. Rule-based guards check the rewrite (right area, right direction, nothing added), so a misread change is not applied. About 5-13 s.

  5. Upscale and save

    RealESRGAN followed by SeedVR2 7B gives a sharp picture of 2560 or 3840 px (about 17 / 25 s). Save gives a clean PNG without metadata.

Key features

  • Three style directions from one photo

    The app reads the room and proposes three directions, each with a name, a palette, materials and a budget tier. Pick one to get the first picture, or type a few words at the cards to get three new ones. Choosing a style to the first finished picture (5-6 changes) takes about 80-105 s.

    See the pictures
  • Change one area, keep the rest

    The app finds the floor, the walls, the cabinets or a piece of furniture by itself and repaints only that area. Clutter on a worktop stays as it is when only the cabinet doors change. In Advanced mode you can point at an area, draw a box and see every outline before it is used.

    See the pictures
  • Changes in plain words

    "Make the floor a bit darker", "paint the walls warm cream". The helper model rewrites your words into an exact instruction, guards check it, and the app shows the exact instruction it used. When a change does not work, it says so (for example "I couldn't remove the lamp").

    See the pictures
  • Empty, refurnish or restyle

    One button empties the room: furniture and clutter out, walls, doors and windows kept (about 20 s). Another furnishes the empty room anew in the chosen style. A whole-room restyle runs at three strengths (Keep everything, Restyle, Empty and refurnish) and uses depth and line maps to keep the room's geometry and camera, in about 6-40 s depending on strength.

    See the pictures
  • Your own materials, plans and block models

    Import your own catalogue of tiles, floors and paints and put a real product on an area. The result follows the material approximately (colour, pattern), not exactly. A 2D floor plan or a screenshot of a simple 3D block model also becomes a rendered picture: the layout comes from the input, the furniture and details are made up.

    See the pictures
  • Compare, undo, upscale and save

    A before and after slider on every picture, and Undo back to any earlier step. Basic mode (the default) has only Restyle, Empty room, Compare, Undo, Upscale and Save, with no questions. One click upscales to 2560 or 3840 px; upscaling invents plausible fine detail.

    See the pictures

In pictures

All redesigns generated locally by AI Architect
  • Another direction for the same empty room.
  • Area changes on the empty room: the back wall painted and the light warmed.

One room, step by step

  1. Step 1An ordinary phone photo of a living and dining room: the only input, plus one sentence about what the owner wants.
  2. Step 2The chosen style's first change: light oak flooring. Everything outside the floor stays exactly as in the photo.
  3. Step 3One click empties the room: furniture and clutter out, walls, doors and windows kept.
  4. Step 4The empty room furnished again in a light Scandinavian style: a dining table, chairs, a pendant lamp and a sideboard.
  5. Step 5Typed in plain words; the app finds the walls by itself and repaints only them.
  6. Step 6A whole-room restyle that keeps the room's layout and camera, with a new look.
  7. Step 7The same living room emptied and furnished again in a bright style.

Typed changes on an emptied room

Bedroom

  1. Step 1A real, lived-in bedroom photo.
  2. Step 2One click: furniture and clutter out; walls, window, ceiling rose and door kept.
  3. Step 3A typed change on the emptied room.
  4. Step 4The next typed change: the terrazzo floor becomes light oak; the walls stay as they were.
  5. Step 5The same bedroom emptied and furnished again in a light style.

Three style directions

Kitchen

  • Kitchen, industrial direction: the starting photo.
  • The same kitchen in three directions, all at Empty and refurnish.
  • The same kitchen in three directions, all at Empty and refurnish.
  • The same kitchen in three directions, all at Empty and refurnish.

Restyle at three strengths

Kitchen

  • Kitchen, industrial direction: the starting photo.
  • Every object kept, restyled.
  • Small things re-imagined, the furniture kept in place.
  • Emptied, then furnished anew; same layout and camera.

Bedroom

  • Bedroom, Scandinavian direction: the starting photo.
  • Every object kept, restyled.
  • Small things re-imagined, the furniture kept in place.
  • Emptied, then furnished anew.

Covered patio

  • Covered patio, Scandinavian direction: the starting photo.
  • Every object kept, restyled.
  • Restyled; this stop can close an open side, as it did here.
  • Emptied, then furnished anew.

Change one area, keep the rest

Kitchen cabinets

Before
Change one area, keep the rest.
After
Only the cabinet doors change; the clutter on the worktop is untouched because it is outside the area.

Bedroom wardrobe

Before
A 48 MP phone photo (the app reads it at up to 2560 px).
After
Two areas changed in one picture, the wardrobe fronts and the walls; the floor, the door and the desk are untouched.

Bedroom floor

  1. Step 1Bedroom, Scandinavian direction: the starting photo.
  2. Step 2The app finds the floor by itself (shown in blue).
  3. Step 3Only that area changes.

Steps of one session

Covered patio

  1. Step 1Covered patio, Scandinavian direction: the starting photo.
  2. Step 2Each step builds on the previous picture.
  3. Step 3Each step builds on the previous picture.
  4. Step 4A typed change, rewritten by the helper model and applied to the floor only.

Materials from the owner's catalogue

  • A light oak floor covering from the owner's catalogue (picture cropped to fit).
  • The oak floor covering applied to the patio floor: followed approximately (colour, pattern), not exactly.
  • A second floor covering from the catalogue, with a woven pattern.
  • The woven catalogue material applied to the patio floor: followed approximately (colour, pattern), not exactly.

Plans and block models

  • A 2D floor plan as input.
  • The layout follows the plan; the furniture is made up.
  • A simple block model as input.
  • Shapes and camera come from the model; materials and details are invented.

Upscale

Before
A piece of a 1920 x 2560 px picture before the upscale.
After
The same piece after the upscale: sharper detail, invented plausibly.

Security and privacy

  • Everything runs locally on Mikael's own machines on his home network: one PC and a Mac mini helper. There are no cloud AI services, no third parties, no accounts and no telemetry.
  • The app and its AI engines listen only on the PC itself.
  • The working copy of a photo is at most 2560 px and carries no location or camera data. Saved pictures are PNG files without metadata. Temporary images in the picture pipeline are deleted after every job.
  • The page uses a strict content security policy with no inline scripts and a session cookie that scripts cannot read. Pictures reach the page as opaque ids, never as file paths.
  • It is built as a private experiment: it is not hardened against other programs on the same PC or other devices on the home network.

Under the hood

A Python 3.11 app with FastAPI serves one web page written in plain JavaScript, with no framework and no build step, only on the local machine. The picture work runs in a headless ComfyUI, with its graphs built and validated in code. The conversation and vision model runs in LM Studio on the PC; the text helper runs in Ollama on the Mac mini.

The hardware: a PC with an RTX 5090 (32 GB), a Ryzen 9 9950X3D and 96 GB of RAM, plus a Mac mini M4 as a small helper on the home network.

The models, all run locally: Qwen3.8 27B (conversation and vision), gpt-oss 20B (text helper), Qwen-Image-Edit 2511 with a Lightning LoRA and a custom "unfurnish" LoRA, Qwen-Image 2512 with Fun ControlNet Union, SAM 3.1, Depth Anything 3, SeedVR2 7B and RealESRGAN.

One graphics card, managed carefully: the 27B language model (about 18 GiB) and the 20 GB image models never share the 32 GB card. A memory manager measures each job beforehand, refuses a job that would not fit, and swaps models between conversation and picture states.

Quality checks: about 5,600 automated unit tests, a 97-check acceptance run of the whole page on simulated models, live acceptance runs on the real models (three rooms, about 200 picture jobs with zero memory faults), blind A/B comparisons for model and prompt decisions, and a repeatable model test kit with frozen test sets. The main tools are also exported as eight standalone ComfyUI workflows for use without the app.

Built in about two weeks with AI agents, both local models and third party ones. Idea, architecture and testing: Mikael. The agents made it fast to write the code, wire the models together and try one approach after another; Mikael set the requirements, tested every tool and model himself and reviewed the result. Built with AI agents, reviewed by a security professional.

Stack

  • Python 3.11
  • FastAPI
  • Plain JavaScript
  • ComfyUI
  • LM Studio
  • Ollama

Status and roadmap

Prototype

A working personal prototype (October 2026), used privately. It is not for sale and never commercial: some of the models it uses carry non-commercial licences. There is no public demo and no code link yet.

Honest limits:

  • Pictures are illustrations, not measurements; sizes are given only as ranges, and it gives no advice on structure, wiring, plumbing or gas.
  • Consistency across many edits is good but not perfect.
  • Removing furniture that has things standing on it can leave those things floating.
  • Restyles can change things that should stay, such as a window, a door or the open side of a patio.
  • Typed changes are rewritten by a smaller model that can misread them; the app shows the exact instruction it used.

Planned:

  • (Planned) Publish the code as open source. The pictures on this page stay Mikael's.
  • (Planned) Measure the text helper's error rate on a fixed test set.
  • (Planned) Remove the old Gradio screen, leaving only the one-window page.

Who it is for

  • Its owner and a friend

    seeing their own rooms redone, privately, before spending money on a change.

  • People who want to see a room redone without a designer or a 3D model

    it shows what local AI can do with one photo and plain words, without uploading anything. It is a lab project, not a product on offer.

  • Companies exploring private, local AI

    a worked example of several AI models running on hardware you own, with no cloud service, measured and tested like production software.

Interested in AI Architect?

A local AI that redesigns a real room from one phone photo and plain words, on one home PC and a Mac mini. No cloud service sees the photos.