All work
06React authentication / Voice AI / HardwareOct 2025Completed

CompanionAI

A three-person hackathon project that turns browser voice input into AI-interpreted actions consumed by Raspberry Pi hardware.

Context

For HackUTA 7, our three-person team connected a React and Vite interface to a Flask and Gemini 2.5 Flash pipeline, Supabase, and Raspberry Pi GPIO output. I implemented the Supabase authentication flow, session-aware routing, and initial device and microphone interface used to move authenticated users from login to browser-based robot control.

View source on GitHub

Engineering contributions

  • Implement Supabase authentication with persisted-session restoration and authentication-state subscriptions
  • Add React Router flows for login, verification, and microphone control with redirects for unauthenticated users
  • Build the initial device-connection and microphone-control interface with React hooks, reusable card components, Lucide icons, and Tailwind utilities
  • Gate microphone activation on an active Raspberry Pi connection and provide connection-dependent visual feedback
  • Contribute authentication, routing, and microphone UI components to the browser-to-Flask-to-Gemini workflow
  • Collaborate in a three-person team to connect voice interaction, Supabase command data, and Raspberry Pi GPIO output

System path

01Browser microphone
02React + Vite
03Flask + Gemini
04Supabase
05Raspberry Pi GPIO
Next system · 07ToDo-Rails