
Signal Guide
A working, unbranded TV discovery remote that searches a live catalog, ranks real shows by mood and taste, and offers opt-in MiniLM semantic AI entirely in the browser.
I turn ambiguous experience ideas into functional web, voice, character, and AI prototypes people can see, use, critique, and move toward production.
Five working surfaces show the through-line: interaction and visual intent, fast prototyping, real feedback, and enough technical depth to make the idea behave outside a Figma frame.

A working, unbranded TV discovery remote that searches a live catalog, ranks real shows by mood and taste, and offers opt-in MiniLM semantic AI entirely in the browser.

A living character interface exploring presence, reactions, performance modes, and the feeling that a digital subject is sharing the screen with you.

A compact browser world with art direction, player controls, dialogue, HUD state, inventory goals, and enough narrative structure to test whether the premise holds attention.

A React and ElevenLabs prototype that converts an open-ended voice conversation into a structured, reviewable service record with explicit human handoff.

A paid field-operations system shaped from a real owner’s workflow—crew closeout, photos, manager review, records, and invoice-ready handoff.
A prototype is useful when it isolates a question, respects its constraints, and produces evidence a design or engineering team can act on.
Representative front-end and API patterns from the prototypes: directional state, scenario configuration, tool callbacks, safe fallbacks, and environment-aware behavior.
The work is built through an AI-assisted development practice. I own the problem framing, interaction model, visual direction, testing, iteration, and deployment; coding agents accelerate implementation while browser QA determines whether the result is acceptable.
const clientTools = useMemo(() => ({ update_service_request: (params) => { updateLog({ job_type: params?.category, issue: params?.issue, urgency: params?.urgency }, "update_service_request"); return "Service request updated."; }, complete_demo_summary: (params) => { updateLog({ summary: params?.summary, next_step: params?.next_step, status: "Ready for human review" }, "complete_demo_summary"); setDemoState("summary"); } }), [updateLog]);
+1 816 328 9146 · maxtoms@gmail.com