Problem
01Online 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
Pipeline
03- 01Room photo
- 02Pixel analysis
- 03User preferences
- 04Scoring engine
- 05Ranked results
- 06Feedback loop
Objectives
04- 01Extract a room's colour palette, brightness, warmth and contrast directly from an uploaded photo.
- 02Capture user preferences — style, budget, colours, room dimensions and requirements.
- 03Rank catalogue items with a transparent, explainable scoring model.
- 04Learn from user feedback (like / dislike) to refine later recommendations.
- 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
08Create an account, upload a room photograph, set preferences and read the ranked picks.
Create an account