Sean Reid

Room types, device density, and a smarter optimizer

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.

Density-weighted optimization - The 3-stage optimizer (Lloyd's relaxation, PSO, coordinate descent) now weights placement by device density. A conference room at 0.8 devices/m² pulls APs harder than a stairwell at 0.03. Unlabeled rooms default to the median of whatever you've labeled so far, so there's no penalty for incremental setup. Set a room to zero and the optimizer genuinely avoids it.

Coverage bar matches the optimizer - Coverage percentage now uses the exact same scoring model as the optimizer, including density weighting. It updates live as you assign room types or adjust the density slider. Per-floor coverage persists across floor switches.

Undo everything - Loading a floorplan, deleting a floorplan, assigning room types, all undoable now. The snapshot system syncs floor state before capture so redo actually works.

UI polish - Popups position correctly at screen edges (no more clipping). Consistent full-width dropdowns across the sidebar. Mobile long-press works without triggering text selection. Searchable room type picker with category grouping, arrow key navigation, and inline custom labels. Clear buttons on text inputs. PDF export includes room labels.

Code changes: https://github.com/sean-reid/deconflict/pull/27

Try it at deconflict.app

143 views

Add a comment

Replies

Best
Victoire Mathieu

How does density weighting impact placement accuracy in complex? @seanreid

Sean Reid

@victoire_mathieu Good question! I'm not totally sure if you mean apartment complexes specifically or complex building layouts, but luckily the answer covers both. Each room you label gets a weight based on how many devices you expect there. The optimizer uses those weights to focus AP placement on the rooms that need it most. So in a big apartment building, lobbies and common areas get more attention than individual units. In a building with mixed room types, conference rooms pull more than hallways. You can label as many or as few rooms as you want and build up from there.

Tina Kim

Is there a way to compare optimize the results before and after the desnity adjusment? @seanreid

Sean Reid

@tina_kim2 Right now there's no side-by-side comparison built in, but a couple of ways to do it:

  • Optimize first without any room types assigned, then export as PNG or PDF to save a snapshot. Assign your room types, optimize again, and compare the two exports.

  • Use undo/redo to flip between states. Optimize without room types, then assign types and optimize again. Ctrl+Z walks you back through each step so you can see how positions shifted.

  • If you want to keep both versions around, save the project as JSON before and after. You can reload either one to compare.

A proper before/after overlay is a good idea for a future update though.

Quico Benford

Are there plans to integrate real-world signal data for validations?

Sean Reid

@quico_benford Not yet. That's on my list but nothing concrete to share. Right now the best workflow is plan here, then validate by walking the site.