Our Own ProductAI Agents for PCB Specification and Review
Conductor selects components, reads the datasheets, validates the electrical contracts, and returns a bill of materials and a schematic that can be built.
Live occupancy for a whole deck, read from the cameras already mounted on the ceiling.

Zero
Sensors Installed in the Slab
The system runs on the cameras the building already carried. No coring, no per-stall batteries, and no radio survey.
Per row
Granularity Delivered to the Operator
Not a single total. Which level, which row, and how each row behaves across the trading day.
No plates, no faces
Scope of the Label Schema
Vehicles and stall boundaries. Number plates and people were never part of the label schema, which kept the privacy assessment short.
The operator knew how many vehicles had passed the gate and nothing about where they had stopped. Levels filled unevenly, drivers circled a structure that was two-thirds empty, and the only reliable count required a member of staff walking the deck with a clipboard.
Live occupancy is read from the cameras already installed in the structure. Operators hold counts by level and row and enough history to staff against, and drivers are directed to space that is genuinely available.
The central figure for a parking operator is how many spaces are free. Most operators do not hold it. They hold a gate count, which begins drifting the first time a vehicle tailgates through the arm or a monthly permit holder leaves a car and walks out. They hold a member of staff who checks the levels when time allows. And they hold complaints, which arrive at precisely the moments the figure would have been most useful.
The failure mode is worse than an inaccurate total, because a deck does not fill evenly. The ground floor and the level nearest the lift fill first. The top deck fills last, and in summer it does not fill at all. A structure at seventy per cent occupancy therefore behaves like a full one: drivers enter, climb two levels, see nothing, and leave. The gate count reports that space exists. Nothing reports where.
The requirement was to establish occupancy without installing a sensor in every stall.
Per-stall sensing is the obvious approach and it is the reason most projects of this kind are costed once and never started. Every bay requires a puck cored into the slab or a head mounted above it. Each of those carries a battery with a finite life, a radio that has to reach a gateway through several thousand tonnes of reinforced concrete, and a permanent maintenance obligation. The installation alone closes levels for days. For a facility of a few hundred bays, the hardware is the small number.
The cameras were already present. Every deck carried them, directed down the rows, recording to an NVR that no one watched unless an incident had occurred. They were mediocre cameras in mediocre positions, which proved to be the interesting engineering problem rather than a reason to replace them.
A camera survey therefore preceded any commitment on coverage. Two positions on this site had been mounted for an entirely different purpose and could not resolve the far end of a row at any resolution. A model cannot recover information the optics never captured, and the accurate answer for those two positions was to move the camera.
A vision model was trained on real footage from the site, including glare, weather, and delivery vehicles parked across two bays, and deployed behind an inference service that reports continuously.
The use of real footage carries most of the design. Public parking datasets are clean: overhead, evenly lit, vehicles parked between the lines. An operating deck in late afternoon presents low sun directly into the lens along the west rows, blooming headlights, standing water producing a second copy of every vehicle, and a box van across two bays with its rear door raised. A model trained on the clean data performs excellently until any of that occurs, which is the point at which the operator requires it.
The dataset was therefore drawn from the operator’s own NVR, sampled deliberately across hours, weather, and seasons rather than uniformly. The detector is a YOLO-family model, exported to ONNX and run on a Jetson at the edge of each structure. Stall geometry is drawn once during commissioning rather than learned, as polygons on a still frame from each camera, in a small purpose-built tool, because the alternative places that task with the engineering team permanently and requires a return visit every time a camera is disturbed.
Detect vehicles, determine stalls separately. The model answers one question: where the vehicles are in this frame. Everything concerning occupancy is deterministic code above it, evaluating whether a detection footprint falls inside a stall polygon, by a sufficient margin, for a sufficient duration. Keeping the two apart means a camera can be nudged, a row can be restriped, or a level can be turned over to valet operation without retraining anything. It also makes the occupancy rules testable in the ordinary way, against recorded frames with known answers.
Inference at the edge. Sending nine streams of video off-site for scoring in the cloud is simpler technically and a poor operational trade. The uplink at a building of this type is a business DSL line shared with the payment terminals, and video is the one payload guaranteed to saturate it. Running the model on the deck means what leaves the building is a few hundred bytes of state over MQTT, and the system continues to operate through an outage rather than going dark with it.
Hysteresis before accuracy. The first working version flickered. A vehicle half-occluded by a pillar, a pedestrian crossing a bay, and a delivery van reversing each produced a stall that changed state twice within seconds. Raw frame accuracy was good and the display was unusable. The correction was a state-hold requirement rather than a better model: a stall holds its new state across a window of frames before the change propagates, with a longer window for becoming free than for becoming occupied. A space announced as free that is not free costs the operator a complaint. A space announced as free a few seconds late costs nothing.
Budget for glare and weather explicitly. A vision project on an operating site spends most of its schedule on the small proportion of conditions a demonstration never includes, and that proportion is where the operator forms a judgment about whether the system works. Low winter sun down the length of a row was scheduled work rather than a defect discovered late.
No plates, no faces. The label schema contains vehicles and nothing else. There is no plate recognition, no dwell time attached to an individual vehicle, and frames are not retained beyond the retraining sample, which is drawn under a written policy. That decision was made before the first conversation with the client’s counsel rather than after it, and it kept the conversation short.
Live counts by level and row feed the operator’s dashboard, the entrance signage, and an API the operator’s application reads. The history is the output that was not requested and is now used most: a deck that reliably fills early on one weekday and never fills on another is a staffing decision and a pricing decision, and prior to this the operator held an impression rather than a series.
The same three commitments hold whether we're handing over a board, a platform, a model, or a campaign. They're terms of engagement rather than features, which is why they sit outside the write-up.
Our Own ProductConductor selects components, reads the datasheets, validates the electrical contracts, and returns a bill of materials and a schematic that can be built.
Our Own ProductBillUp observes the applications and Microsoft 365 activity of a fee earner and drafts the day's time entries for review and approval.

Technical SEO, storefront performance engineering, and content built against measured search demand. Owned traffic in place of rented clicks.
Describe the required output, available data, operating conditions, acceptable error rates, and review process. We will assess whether an AI-based approach is appropriate.
hello@sunlabdigital.comSend Us the DetailsSt. Petersburg, Florida · we work with teams anywhere