FRIDAY
A spatial analysis engine and agent harness that furnishes rooms with AI.
- 3D room editor, Gaussian-splat rooms, video-to-room mesh pipeline
- 4 people
- HackMIT 2026 — OpenAI 5th Teammate Challenge, 3rd place
- React, TypeScript, PlayCanvas, Gaussian splats, Django REST, OpenAI Agents SDK, Elasticsearch, Open3D
What it is
You describe the room you want, by text or by voice. An agent searches a furniture catalog for pieces that have 3D models, checks clearances and placements against the room’s geometry and lays out designs you can walk through and compare.
In the demo, the bedroom workflow produces three designs of five pieces each, within a $1,200 budget.
What I built
- The 3D room editor: selection, dragging, snapping, centimeter position fields, quarter-turn rotation, removal and validated undo and redo, on a shared centimeter scene contract (GLB models stay in meters and are converted once).
- The move to first-person Gaussian-splat rooms in PlayCanvas, and the integration of a Gaussian-splat capture of an apartment as a test room, with automatic room downloads.
- A standalone video-to-room mesh pipeline: frame extraction, optional VGGT inference, scale calibration from a measured reference and Open3D TSDF fusion. It exports a textured GLB, a simplified collision GLB and a dense point cloud. Its accuracy on real phone video is not yet verified.
- The “Hey Friday” voice input and spoken replies.

Detail The request to Friday and its reply, over the editor’s toolbar.
Technical notes
- The agent runs on the OpenAI Agents SDK, with tools for scene inspection, product discovery, spatial analysis and placement validation.
- Natural-language search requests are compiled into a structured constraint language. Elasticsearch runs the text queries and the deterministic filters.
- Rooms combine Gaussian splats or meshes with editable GLB furniture.
- The apartment room ran at 53.5 FPS, p95 frame time 26.2 ms, over 30 seconds at 1280×720. Its scale is assumed, not calibrated.


