LuxSpace
Inspiration
Mecalux designs warehouse storage systems for a living and yet the process of actually deciding where to put the racks is still largely manual. When they presented the challenge, it clicked immediately: this is basically a 2D packing problem with constraints nobody warns you about. Irregular floor plans, ceiling height zones, obstacles, shared uprights, rotation. We wanted to build something that could take a real warehouse spec and spit out a genuinely good layout not just a valid one.
What it does
LuxSpace takes four CSV files describing a warehouse (floor shape, obstacles, ceiling heights, and available bay types) and finds the optimal placement of rack bays to maximize usable area while minimizing cost per load. You upload the CSVs through a web interface and watch the bays get placed on an interactive 2D floor plan in real time. The score updates live as the layout builds, so you can actually see the algorithm working.
How we built it
Python backend with Flask handling the CSV parsing, constraint validation, and optimization logic. The frontend talks to it over a simple REST API and renders the floor plan interactively as results come in. The algorithm itself is a hybrid a greedy pass first to get a solid baseline layout fast, then a local optimization step that iterates on bay selection and positioning to improve the quality score. The whole thing runs comfortably under the 30-second judging limit.
Challenges we ran into
Rotation broke us for longer than we'd like to admit. When a bay rotates, its width and depth swap obvious in theory, but getting the collision detection to handle every edge case (bays touching walls, bays touching each other, bays touching rotated bays near obstacles) took way more iterations than expected. The L-shaped warehouse boundary made it worse because you can't just check a bounding box. At some point around 3am we had a version that passed all our manual tests and immediately failed on a rotated bay next to a corner. We fixed it. We think.
Accomplishments that we're proud of
Getting the real-time visualization to actually feel responsive was something we weren't sure would work given the time pressure. Watching the bays pop onto the floor plan as the algorithm places them ended up being one of those moments where the project suddenly felt real. Also: our quality scores on the example cases came out better than expected from a greedy baseline alone the optimization pass made a meaningful difference.
What we learned
Polygon containment is deceptively hard. "Is this rotated rectangle fully inside this L-shaped polygon with no overlap against anything else" sounds simple until you're debugging it at 4am with three people pointing at the same laptop screen. We also learned that a fast approximate solution beats a slow perfect one every time in a hackathon the greedy pass got us 80% of the way there in a fraction of the time.
What's next for LuxSpace
The current approach only places bays at 90° increments a proper arbitrary-angle rotation search could unlock significantly denser layouts. We'd also want to add multi-floor support, aisle clearance constraints, and forklift turning radius as real physical inputs. And honestly, wrapping this into a proper tool that Mecalux's sales engineers could use to generate layout proposals for clients in seconds rather than hours seems like a genuinely useful thing to build.
Log in or sign up for Devpost to join the conversation.