Inspiration
We wanted to make it easy to see how a space could change before you do any real work. People visualize rooms for parties, home offices, or gaming setups, but it’s hard to imagine the result. We built Atmos so you can take a photo of a room and get a realistic preview of what it could look like for your next event or project.
What it does
Atmos lets you upload a photo of a room and describe how you want it transformed. You might ask for a birthday party setup, a gaming room, a home office, or anything else. The app generates an image of that room with your changes applied—decorations, furniture, colors—so you can see the result before you start planning or buying things.
How we built it
We built a Flask backend with Supabase for auth and the Replicate API for image generation. The core model is Flux img2img, which takes your room photo and text prompt and produces a transformed image. The frontend uses a simple chat-style interface with the Atmos brand and a layout that highlights the original photo and the generated result.
Challenges we ran into
We first tried Google’s Gemini image API, but the model we needed wasn’t available on the free tier. We switched to Replicate and ran into rate limits when our balance was low. We also had to tune Flux’s denoising: at 0.7 the output looked almost identical to the input; we had to move it to about 0.95 to get noticeable changes. Handling Replicate’s response format (e.g. FileOutput objects instead of plain URLs) took some debugging too.
Accomplishments that we're proud of
We got end-to-end image generation working and made the system prompt-driven so it works for many use cases—parties, gaming rooms, offices, etc. The app is live, uses our Atmos branding, and gives users a clear before-and-after view of their space. What we learned
What we learned
Different image models use denoising in very different ways, so what works for one API may not work for another. Replicate’s Flux model needs high denoising for strong edits. We also learned how important it is to keep prompts flexible instead of hardcoding a single theme, so the output matches what the user actually asked for.
What's next for Atmos
We want to support more transformation types, including layout suggestions and step-by-step “how to set this up” guides. We’d also like to experiment with other models and improve the UI so it’s easier to iterate on different ideas for the same room. We would also like to experiment to make sure that AI is correct 100% of the time in its generation.
Built With
- css
- flask
- flux
- html
- javascript
- jinja
- python
- replicate
- sqlalchemy
- sqlite
- supabase
Log in or sign up for Devpost to join the conversation.