Inspiration
Most people know the music, films, brands, and places they love, but they do not necessarily know how to describe an interior style.
If someone says they like rock music, a generic AI might jump to obvious ideas like dark colors, band posters, guitars, or vinyl records. That can feel literal and stereotypical.
We wanted to explore a different idea: what if an interior design agent could understand a person’s broader cultural taste and use that context to make better design decisions?
That became TasteSpace.
What it does
TasteSpace is an AI interior design agent that turns cultural taste into an editable 3D bedroom.
A user chooses things they like across areas such as music, film, brands, and other interests. Qloo helps ground those preferences and gives the agent richer cultural context beyond the literal words the user entered.
The agent then translates that context into a room design by choosing things like furniture, bed style, materials, rugs, lighting, artwork, decor, and layout.
The room is not just a generated image. It is a structured 3D scene that the agent can actually modify using controlled tools.
Users can also give practical instructions such as “use a low lying bed,” “keep the walls white,” “no plants,” or “add a reading corner near the window.”
After a room is generated, they can refine it conversationally without rebuilding everything from scratch.
TasteSpace also includes an optional comparison between a design created from only the user’s explicit prompt and one enhanced with Qloo powered cultural context.
How we built it
TasteSpace is built as a web application using Next.js, TypeScript, React, React Three Fiber, and Three.js.
The design pipeline starts with the user’s taste selections.
Qloo is used to resolve and ground those cultural preferences and provide supported cross domain context and adjacent taste signals.
Gemini acts as the design planning layer. It receives the cultural context, the user’s constraints, the current room state, and a catalog of available assets.
Instead of letting the model generate arbitrary code or geometry, it produces a structured design plan using validated asset IDs and safe placement options.
That plan is converted into controlled room actions such as changing the bed type, replacing a chair, moving furniture to a safe layout anchor, adjusting lighting, selecting artwork, or changing materials.
The bedroom itself is rendered interactively in the browser with React Three Fiber.
We also added an optional Hugging Face image generation layer for lightweight things such as artwork and textile textures. If that generation fails or hits quota limits, the room falls back to curated local assets instead of breaking.
The app is deployed publicly on Vercel.
Challenges we ran into
One of the biggest challenges was making the agent feel like an interior designer rather than a style preset generator.
The first version could mostly change colors and finishes, which was not enough. We had to expand the system so the agent could choose between different bed geometries, seating, storage, lighting, rugs, decor, and safe furniture placements.
Another challenge was preserving room stability. Giving an AI unrestricted control over 3D coordinates would easily create broken layouts, overlapping furniture, or impossible placements. We solved this by creating validated layout anchors and letting the agent move objects only between safe positions.
We also had to be careful about the boundary between Qloo and our own reasoning. Qloo provides cultural context, but it does not directly tell us which wall color or lamp to use. The translation from cultural signals into interior design decisions is handled by the TasteSpace design agent.
Finally, we wanted the public demo to work on limited hackathon resources, so optional image generation had to fail gracefully without affecting the core 3D experience.
Accomplishments that we're proud of
We are proud that TasteSpace became more than a one shot room generator.
The agent can work with multiple furniture types, understand practical design constraints, preserve locked elements, move furniture within safe zones, and make targeted conversational edits without unnecessarily changing the rest of the room.
We are also proud of the way Qloo fits into the product.
Rather than using Qloo to directly recommend furniture, we use it as a cultural intelligence layer that gives the design agent a richer understanding of the user’s taste.
That makes the product feel less like “AI decor based on keywords” and more like an agent that is trying to understand the aesthetic world behind those keywords.
What we learned
We learned that cultural personalization is most useful when it influences decisions rather than just adding more information to a prompt.
We also learned that giving an AI agent more freedom is not always better. The system became much more reliable once we gave it structured tools, validated asset choices, safe layout anchors, and explicit constraints.
Another important lesson was that good personalization should not be overly literal. Someone liking a particular artist, film, or brand does not mean their room should contain obvious references to those things. The interesting part is translating those signals into mood, materials, form, lighting, and visual character.
What's next for TasteSpace
The current hackathon version focuses on one bedroom so we could make the core experience complete and reliable.
The next step would be supporting more room types, more flexible layouts, and richer furniture libraries.
We would also like to let users upload their own room, preserve furniture they already own, work with real budgets, and connect design decisions to purchasable products.
Long term, we think the same cultural intelligence layer could extend beyond bedrooms into workspaces, events, hospitality, retail spaces, and other kinds of creative direction.
The bigger idea behind TasteSpace is simple: generative AI already knows how to render a room. Cultural intelligence can help it understand what that room should feel like for a particular person.
Built With
- 3d
- ai-agents
- gemini
- generative-ai
- hugging-face
- motion
- next.js
- qloo
- react
- react-three-fiber
- tailwind-css
- three.js
- typescript
- vercel
- webglnext.js
Log in or sign up for Devpost to join the conversation.