DU/ART · AI LAB The making-of ▶ YouTube Sign in ↗

A private AI lab · case study

A working AI lab, built by a designer who doesn't write code.

Real tools I use in my own design work, turning photos, floor plans and messy product feeds into finished visuals. This page is the making-of: the problems, the fixes, the output. The lab itself stays private.

The code is written by AI. What it does, what's good enough, and what gets thrown away: that's me.

Why you can't log in, and why that's the proof. You're already on it. The tools live behind a real login: try the button up top and you'll hit a locked door. It's a personal tool, not a product. Nobody can doubt something they're not allowed to touch. So here's the window instead: real screens, real output, the honest making-of.

On YouTube · @DuarteAILab

Watch it being built.

The channel is the real making-of: every tool, every problem I hit, on camera. Start with episode one.

01 The tools

Problems from my own desk, each turned into a tool.

Not demos. Things I open on an iPhone or a laptop to get real design work done faster. The ones below are the ones I've used enough to show. Others are running in the lab and will appear here as they earn it.

Spaces · the flagship

Photograph a room that doesn't exist yet.

The problem: a client wants to see their living room restyled, or a room that's still just a floor plan. Mock-ups take hours and never quite convince.

  • Three ways in: a photo, a hand-marked floor plan, or just a written description.
  • Floor-plan mode reads the drawing, you mark doors, windows, stairs and furniture, and it produces a photoreal shot from standing height.
  • Restyle around your own catalogue: drop in real products and it composes the room around them.
▶ EP.03  the floor plan, the camera, the room
Spaces on iPhone — generated results, with Refine and Humanize
Cutout · everyday workhorse

Background removal that doesn't cost per image.

The problem: I was paying a subscription to remove backgrounds from product shots, and losing resolution.

  • Drop or paste a batch → transparent PNGs at full resolution, in a queue.
  • Runs on my own Mac mini engine: no per-image cost, and nothing is stored on the server.
  • Quietly replaced a paid tool in my daily workflow.
▶ EP.04  why the green screen was never the answer
Cutout on iPhone — a product isolated on a swappable background
Optimize · runs on your own machine

The last ten minutes of every job, gone.

The problem: every delivery ends with a folder of images that are all too big, and the online compressors cap the file size, cap the batch, and want your pictures on their server.

  • It asks where the file is going: original, web, email or social. Then it writes the format, quality and size in one go.
  • Nothing is uploaded. It runs entirely in the browser: no size limit, no batch limit, no cost, no server.
  • Measured on the same two images: 70% smaller keeping the format, 97% smaller once it knows they are going on a web page.
  • And when it can't help, it says so, and hands back the original rather than invent a saving.
▶ EP.05  the last ten minutes of every job
Optimize on iPhone — three images reduced by 94% for the web
Product Catalog · the fuel

A reusable library of real products, tagged and ready.

The problem: a good interior render needs real furniture. Hunting product images every time kills the flow.

  • 81 products tagged by room, style and category, dropped straight into a generation.
  • Seeded through a data pipeline I built, pulling clean product images from a retailer's own API.
  • Turns "restyle this room" into "restyle it with these pieces".
Product Catalog on iPhone — grid filtered by room and style
Personas · identity, kept

Me, in any era or role, without losing my face.

The problem: AI portraits drift. Change the outfit and you're a different person.

  • My identity is baked into the tool from a fixed set of base shots.
  • Pick a look, framing and angle; add only wardrobe and props.
  • Consistent character across a whole video series.
▶ EP.02  keeping one face across a series
Personas on iPhone — the same face as an astronaut

02 The making-of

The interesting part is where it broke.

A few real problems I hit building this, and how I reasoned my way out. Product-level, the way a designer thinks about it.

03 Output

Real results, straight from the tools.

Everything below is generated or processed by the lab. No stock, no edits after the fact.

Drag to compare: the same real room, one tap apart.

The exact same room, populated with people and a dog by Humanize
The original, empty room
EMPTYLIVED-IN
The same room, fully restyled and furnished by Spaces
→ and "Change the style" rebuilds the whole room around it.
Persona — a 15th-century craftsman
Persona — a samurai
Persona — a wild-west character
Floor plan — marking doors, windows and furniture
Floor plan — choosing the camera direction
Spaces — the room populated with people

04 What it demonstrates

A designer who can ship the whole thing.

Built solo, end to end: product thinking, a real design system, and enough engineering to make it work.

05 Open to everyone

One of the tools is not locked.

Everything else here needs a password. The icon search does not, because it costs nothing to run: no AI, no server work, it all happens in your browser. Lucide, Tabler and every emoji in a single box — and it understands Portuguese, which none of the originals do. Search frigorífico, get the fridge.

Open the icon search →

ai.duartealmada.com/icons
frigorífico

Portuguese in, the right icon out

refrigerator
microwave
washing-machine
oven
shopping-cart
🧊 ice cube

None of the originals speak Portuguese. Lucide and Tabler are named in English, so a Portuguese search comes back empty. This one carries its own translation layer, which is the whole reason it exists.

06 The design system

172 decisions, taken once.

Every tool in the lab is built from the same tokens and the same components, which is why a new one looks like the others on the day it is born. It keeps a designer consistent, it gives a developer the answer instead of a discussion, and when an AI is asked to build a screen without being told everything, this is what it falls back on.

▶ EP.06 · the same system, explained in two minutes

assets/css/tokens.css
--c-charcoal-900: #0e0d0c;
--c-charcoal-800: #14110f;
--c-charcoal-700: #1a1715;
--c-charcoal-600: #211d19;
--c-line:         #2a2622;
--c-ink:          #f3eee5;
--c-ink-dim:      #a39c8f;
--c-ink-faint:    #8f8478;
--c-paper:        #f4ede0;
--c-paper-edge:   #ded4c2;
--c-paper-ink:    #2a2723;
--c-paper-soft:   #6a564b;

The source

One file everything reads from.

Not a picture of the tokens: these lines are pulled from the stylesheet this page is wearing right now. Change the file, this changes with it.

the same values, dressed
Photograph a room that doesn't exist yet.

Colour

Components

The result

Why a new tool is born finished.

Type, colour and controls come out of the same file, so the fifth tool looks like the first one without anybody redrawing it.

Open the system 172 tokens · 208 components · 12 pages

Type 3 families · 15 sizes

display · Space Grotesk

Photograph a room that doesn't exist yet.

body · Inter

Things I open on an iPhone to get real work done faster.

mono · JetBrains Mono

WHERE IS THIS GOING? · 768×1376 · 3.8s

display-1 Ag clamp(64px, 7.5vw, 132px)
display-2 Ag clamp(56px, 7vw, 120px)
display-3 Ag clamp(40px, 11vw, 72px)
watermark Ag clamp(72px, 10vw, 180px)
h1 Ag 34px
h2 Ag 26px
h3 Ag 20px
h4 Ag 16px
lg Ag 18px
md Ag 16px
sm Ag 14px
xs Ag 13px
2xs Ag 11px
3xs Ag 10px
4xs Ag 9px

Colour 24 · click to copy

Spacing 16 steps

1 · 4px
2 · 8px
3 · 12px
4 · 16px
5 · 20px
6 · 24px
7 · 32px
8 · 40px
9 · 48px
10 · 56px
11 · 64px
12 · 80px
13 · 100px
14 · 120px
15 · 160px
16 · 180px

Buttons live

Form fields label · hint · counter · error

Shown on the dashboard.
This field is required

Feedback badges · alerts · states

Draft Active Done Building Failed New
Saved
Nothing is stored on the server.
!
Generation failed
The model returned an error.

Cards & panels the dashboard vocabulary

GENERIC CARD

Panel

A dark editorial surface.

PAPER

Warm surface

For anything that should feel printed.

02 / CUTOUT

Cutout

Backgrounds off, at full resolution.

No projects yet

Create your first one to start building.

start here ↑

Modal the panel, out of its overlay

New project

Everything above is the same CSS the tools load, not screenshots, not a copy. Click any token name to copy it.

The lab stays private

Behind the door.

The tools are personal. The door stays locked. If you have the key, come on in.