InteriorAI
Open demo

InteriorAI · final-year project

Recommendations that read the room before they read the catalogue.

The system measures an uploaded room photograph — palette, brightness, warmth, contrast — then ranks furniture against those measurements and the user's stated style, budget and requirements. Every pick carries a score and the reasons behind it.

react 19 · tanstack start · postgres + rlsedge server routes · streaming llm

Problem

01

Online furniture catalogues know the product, not the room. Colours, light and scale are matched by eye, so buying is guesswork and returns are common.

This project measures a room from a single photograph, combines that with stated preferences, and produces ranked, explainable recommendations — with an assistant for follow-up design questions.

At a glance

02
Catalogue
26 items
Tables
8
Modules
6
Sign-in
email · google
relational schema per-user isolation

Pipeline

03
  1. 01Room photo
  2. 02Pixel analysis
  3. 03User preferences
  4. 04Scoring engine
  5. 05Ranked results
  6. 06Feedback loop

Objectives

04
  1. 01Extract a room's colour palette, brightness, warmth and contrast directly from an uploaded photo.
  2. 02Capture user preferences — style, budget, colours, room dimensions and requirements.
  3. 03Rank catalogue items with a transparent, explainable scoring model.
  4. 04Learn from user feedback (like / dislike) to refine later recommendations.
  5. 05Answer follow-up design questions with an assistant grounded only in the real catalogue and the user's rooms.

Modules

05
  • Image uploadPer-user storage of room photographs.
  • Room analysisK-means colour clustering plus lighting, warmth, saturation and contrast.
  • Preference captureStyle, budget, colour, size and free-text requirements.
  • Recommendation engine0–100 match score with reasons for every pick.
  • Design boardsNamed designs with running totals.
  • Design assistantStreaming chat with retrieval over catalogue and rooms.

Tech stack

06
Frontend
React 19 · TanStack Start · Tailwind CSS
Backend
Server routes on an edge runtime
Data & auth
PostgreSQL with row-level security · email + Google
Image analysis
Canvas pixel sampling · k-means clustering
Language model
Streaming responses with retrieval context

Future scope

07
  • +Object detection for existing furniture in the photo
  • +Image embeddings for visual similarity search
  • +AR preview of products placed in the room
  • +Learned ranking model trained on collected feedback

Run it

08

Create an account, upload a room photograph, set preferences and read the ranked picks.

Create an account