Big update. The optimizer can now prioritize high-traffic rooms over hallways and closets. Shoutout to @yotam_dahan who suggested density-aware placement.
Room type assignment - Right-click any room to tag it with a type from 46 presets across 6 building categories (commercial, residential, education, healthcare, hospitality, industrial). Each type carries a device density sourced from Cisco, IBC, and industry planning guides. Densities are fully adjustable per room. Custom type lets you name rooms whatever you want.
I've been building my app for 8 months now, and i ended up having 5 repositories
nextjs app
databases
customer facing API
node-sdk that wraps the api
react-sdk, for both reusing shared component and customer facing components
So i thought, it's gonna be great if i create a mono repo with submodules. But it was terrible. I realized that turborepo does not like external packages, and as i tried to reuse my own customer facing libs, the DX became terrible. It was very time consuming to ship a feature. Even when i wanted to use Codex or Cursor 3, it was not able to show git diff properly, also i was not able to use Cursor's cloud agents properly to ship complex features.
Not a launch post. Just things I wish someone had written down before I spent a month figuring them out.
1. LLMs send partial payloads on write operations
You ask the agent to update a record. It sends only the fields you mentioned in the prompt. The PUT request goes through, returns 200, and you've silently wiped every field you didn't specify.
The fix: before every write call, fetch the current resource state via the companion GET endpoint and deep-merge the LLM's payload on top. The LLM only needs to specify what's changing the executor fills in the rest.