HR Assistant: One Question Box, Four Systems That Never Synced
- Status
- 205 tests · built June–August 2026 · running locally
- Stack
- Next.jsRipplingGreenhouseDeel
The question box — plain-language questions answered from live data, read-only by design.
01 — The problem
Simple questions — how many people in Canada, who starts in the next two weeks, whether a leave of absence has actually ended — lived across four systems that never synced. Anything crossing two of them meant exporting spreadsheets that were stale before the merge was finished.
02 — What it does
A plain-language question box answers from four live HR systems (Rippling, Greenhouse, Deel, Aidora) and returns a sortable, filterable table. It surfaces cross-system disagreements automatically, such as a leave case marked active in one system but ended in another, or a contractor still active after being terminated elsewhere. Every answer carries its data source and the time it was pulled.
03 — Design & technical approach
The system is read-only by construction, not by convention — there is no write method anywhere in the codebase. Questions are classified by a deterministic query engine with no network call and no model involved, so common questions answer identically every time; only unrecognized questions fall through to an LLM via a company proxy, and the app says it doesn't know rather than guessing. That split kept the common path fast and predictable while still handling open-ended questions.
04 — Outcome & impact
The most useful output turned out to be the disagreements the tool surfaces on its own: leave cases where one system says someone's out while another still shows them active, or a contractor sitting active in one system after being terminated in another. Both used to surface at quarter-end; now they take a minute to find. As of September 2026 it covers roughly 140 employees across 16 departments and 4 countries, with 205 tests.
Every screen, explained
A closer look at each part of the app, in the order you'd actually move through it.