💥 Inspiration 💥

At-home productivity has never been an easy-to-do task. With a lot of distractors and our room becoming our new workplace, we as developers have always been working towards reaching the peak of our productivity. Optimizing furniture placement is one of the main tasks one needs to do to achieve better productivity. Here's where SpaceJammer comes into play!

❓ What it does ❓

SpaceJammer optimizes your room furniture placement to always have the most space available based on your furniture and also has an optimal furniture arrangement algorithm that allows you to work from home as comfortably as possible using heuristic-based custom algorithms. Just input the furniture that's part of your room, and SpaceJammer will automatically create the room arrangement that works best for you!

🔌 How we built it 🔌

We looked up new rectangle and graph packing algorithms while considering our solution. We used an algorithmic solution that optimizes the space used by the furniture using a specific heuristic-based algorithm that tries to fit furniture in a grid from the biggest to the smallest in a greedy fashion. This algorithm was deployed as an API service developed in Python and FastAPI. The client that consumes our API, our main website, was built using Next.js and React for the main libraries and was deployed to the cloud using Vercel.

🔧 Challenges we ran into 🔧

Algorithmic solutions are uncommon in web applications. However, our idea required it to always get the most optimal solutions. Looking up already-studied ways of building our app logic was a tedious process that took most of our time out of the app-building. We also learned a lot more about grid and matrix manipulation for our frontend service, including this being our first project developed fully with Next.js, which also involved a different form of deployment.

✅ Accomplishments that we're proud of ✅

While building SpaceJammer, we were looking towards applying theoretical computer science/math algorithms for our web application, which was something we accomplished and that we are very proud of.

📘 What we learned 📘

We learned more about theoretical computer science and geometry, graph theory, TailwindCSS, and how proof-based mathematics can come to life in the form of a web application with real-world use.

🚀 What's next for SpaceJammer 🚀

We plan on adding fixed editing to tailor our algorithm more to the user's preferences, being able to add even more types of furniture to edit their room and fix in place any of the furniture they don't want to move to allow for better customization.

Built With

Share this project:

Updates