-
-
Computer vision detects furniture with bounding boxes and confidence scores, allowing users to review each object.
-
Compare the original room with an example redesign concept from Roomify's demo library.
-
Demo redesign plan with furniture recommendations, layout guidance, budget estimates, and rental-friendly options.
-
Explore demo shopping suggestions, affordable alternatives, budget tracking, and step-by-step DIY guides.
-
Customize interior style, budget, colors, room purpose, and rental-friendly constraints.
-
Set up a room project with room type and living situation for tailored recommendations.
-
Access saved room projects, view project status, and continue previous redesigns.
-
Secure user login and account registration for personalized room redesign projects.
-
Review computer vision detections and choose KEEP, REPLACE, REMOVE, or UNSURE on mobile.
-
Compare the original room with an example interior concept from the demo library on mobile.
-
Browse demo shopping recommendations, budget summaries, and beginner-friendly DIY instructions on mobile.
-
Explore a mobile-friendly demo redesign plan with layout suggestions, estimated costs, and rental constraints.
-
Personalize your redesign with style, budget, colors, room purpose, and rental-friendly settings.
-
Set up a room project with room type and living situation directly from your phone.
-
View saved rooms, check project status, and reopen redesigns on mobile.
Inspiration
Roomify started with a simple question:
“What could my room actually look like, and how can I achieve it within my budget?”
Students, renters, and young adults often want a better space but cannot visualize a redesign in their own room before buying anything. Generic inspiration photos do not account for their actual layout, furniture, budget, or rental restrictions.
We wanted to help people redesign more thoughtfully: keep useful furniture, reduce waste, and make renter-safe improvements.
What it does
Roomify turns one photo of a real room into a personalized redesign project.
After uploading a room photo, users review detected furniture and choose Keep, Replace, Remove, or Unsure for each item. They then set their preferred style, room purpose, colors, maximum budget, and Rental-Friendly Mode.
Roomify creates a constraint-aware redesign plan, a visual concept based on the original room photo, affordable recommendations, and beginner-friendly DIY guidance.
How we built it
Roomify uses a three-service architecture:
- Next.js / React frontend for upload, furniture review, preferences, and the redesign workspace.
- Spring Boot / Java API for authentication, ownership, workflow state, validation, storage, and AI-provider integrations.
- FastAPI + YOLO11n computer-vision service to identify major furniture such as beds, chairs, sofas, tables, TVs, and plants.
We store projects, detection edits, furniture decisions, preferences, and generated results in PostgreSQL. Photos and visual concepts use S3-compatible object storage.
The core rule is that the model can propose a design, but the server decides whether it is valid. A generated plan must satisfy:
$$ \sum_{i=1}^{n} \text{estimatedCost}_i \leq \text{userBudget} $$
It must also preserve every item marked Keep, exclude every item marked Remove, and avoid permanent modifications when Rental-Friendly Mode is enabled.
Challenges we faced
The hardest part was avoiding AI suggestions that look appealing but are not realistic.
Object detection is not perfect, so Roomify treats it as a draft rather than ground truth. Users can rename, remove, or add furniture after analysis. Low-confidence objects are handled with uncertainty rather than false certainty.
We also learned that prompts alone cannot guarantee constraint compliance. The backend validates generated output using deterministic checks for furniture decisions, budget totals, rental restrictions, and safe DIY guidance before results are saved.
What we learned
We learned how to combine computer vision, REST APIs, secure authentication, structured AI output, and frontend workflows into one product.
Most importantly, we learned that AI output is untrusted input. Reliable AI experiences need schemas, validation, error handling, immutable input snapshots, and a way for users to correct the system.
We evaluated the CV service on 60 held-out indoor images. Across six furniture classes, it achieved:
$$ \text{Precision} = 0.70 $$
$$ \text{Recall} = 0.62 $$
AI generation requires a configured OpenAI API key. Without one, Roomify returns a clear configuration error rather than pretending a design was generated.
What's next
Next, we plan to deploy the full stack, evaluate live AI generation, support more furniture classes, and improve room-layout and furniture-fit estimates.
Redesign more, buy less.
Built With
- awss3
- docker
- fastapi
- flyway
- java
- jwt
- next.js
- openaiapi
- postgresql
- python
- pytorch
- react
- restapi
- springboot
- tailwindcss
- typescript
- ultralytics
Log in or sign up for Devpost to join the conversation.