Inbox to action↗
Grounded replies. A human when it matters.
test('malformed response (not YES/NO) → NO (fail closed)', async () => {
const { tourPreflightGuard, _bustPreflightCache } = freshGemini();
_bustPreflightCache();
mockFetchOnce('Hmm, this is a tricky one because the lead might want a tour');
const r = await tourPreflightGuard("ambiguous message");
assert.equal(r.result, 'NO');
});
test('"MAYBE" response → NO', async () => {
const { tourPreflightGuard, _bustPreflightCache } = freshGemini();
_bustPreflightCache();
mockFetchOnce('MAYBE');
const r = await tourPreflightGuard("ambiguous");
assert.equal(r.result, 'NO');
});Open it.
Inspect the work.
The public implementation includes the message-processing pipeline, operator dashboard, and a reproducible regression suite. The tests exercise reply routing, verification, and failure handling with mocked external services.
test('malformed response (not YES/NO) → NO (fail closed)', async () => {
const { tourPreflightGuard, _bustPreflightCache } = freshGemini();
_bustPreflightCache();
mockFetchOnce('Hmm, this is a tricky one because the lead might want a tour');
const r = await tourPreflightGuard("ambiguous message");
assert.equal(r.result, 'NO');
});
test('"MAYBE" response → NO', async () => {
const { tourPreflightGuard, _bustPreflightCache } = freshGemini();
_bustPreflightCache();
mockFetchOnce('MAYBE');
const r = await tourPreflightGuard("ambiguous");
assert.equal(r.result, 'NO');
});Exact regression tests: ambiguous or malformed model output must not authorize a tour reply. External AI calls are mocked in this suite.
146 of 146 reliability tests passed on September 14, 2026. No live Gmail messages were sent. Production screenshots containing applicant information are excluded.
A real problem.
A considered solution.
Rental inquiries arrive by email, but answers depend on the correct property record, the intent of the message, and facts that may be missing or ambiguous.
What I worked on.
I built a workflow that ingests Gmail leads, matches them to Firestore records, drafts source-grounded replies, checks factual claims, and escalates uncertain or sensitive requests.
Email intake
Gmail messages are ingested and normalized. The portfolio release uses synthetic fixtures.
A guided explanation of the project architecture. This explorer does not connect to production systems.
Ground responses in records.
Normalized property matching and scoped context keep one property’s facts from leaking into another reply.
Verify before sending.
A second-pass claim verifier and deterministic guards can block a response. Missing information goes to a person.
Test failure paths.
The public release documents 146 reliability tests with mocked Gmail, Firestore, and model calls, plus flags for staged rollout.
A source-available release with synthetic fixtures, clear routing boundaries, and a reliability suite that makes the decision process inspectable.
Public examples are synthetic. The interactive explorer illustrates routing; it does not send email or call an AI model.
IMAFE Incognito
Arlington, TX · Open to Seattle and US relocation