What it does

The engine ingests building structures in the form of a standardized ontology, occupancy data and booking data to generate recommendations that are ranked using scores and confidence metrics. Examples include:

  • "This room is underused, reallocate or consolidate."
  • "This zone is over capacity at certain hours, reduce HVAC/maintenance costs by rescheduling."
  • "This room type is systematically underbooked, investigate why."

Each recommendation carries a subject_key, a target-scoped identity that attaches feedback and later runs back to the same underlying finding across re-runs, rather than treating every run as a clean slate.

Personas were integrated into the engine such that the program creates recommendations based on the type of site/building and the type of person inspecting the recommendations. A healthcare persona would be recommended ways to optimize clinic usage by observing booked clinic space that goes unused, whereas office building managers would receive recommendations on underused office spaces and underperforming meeting rooms based on available amenities.

Design philosophy

To optimize the project for extensibility and a business-logic-first approach, the application was prototyped using three different models: LLMs, traditional TensorFlow-based ML, and a basic statistical model. A statistical model was arrived at, with the ability to extend functionality using TensorFlow and LLMs built in.

Each recommendation type links to a candidate builder, which in its current form runs a statistical model to generate relevant features and metrics for the recommendation. TensorFlow is used for trend prediction and pattern recognition as needed, while still falling back on the statistical model to parse business logic and policies.

Inputs Ontology · occupancy data · booking data Feature Layer Computes per-space signals from inputs Metric Layer Own schedule Candidate Generation Independent, confidence-scored checks Policy & Ranking Veto-based filter chain, then top-N scoring Ranked Recommendations Explainable, scored, and confidence-rated

Simplified pipeline, including the parallel metric layer — see the Architecture tab below for the full breakdown.

Data model

Ontology

Organization → Site → Floor → Zone → Room → Sensor, with per-room metadata (features, tags, activities, bookings) and time-series occupancy data.

Stages 1–4 + scheduled side-channel

Pipeline

Feature layer → candidate generation → policy & ranking. A metric layer computes historical trends on its own schedule and feeds candidate generation.

  • Plugins: features, candidate builders, and policies auto-register — just drop in a new class.
  • Candidate builders: one opportunity check each, with a score and confidence rating.
  • Policies: a veto chain — every policy must agree to keep a recommendation.
  • Ranking: dedupes and caps recommendations per zone with one shared scoring formula.

Get in touch

Open to conversations about co-op and full-time opportunities.