Inspiration Traditional fitness and health applications act like rigid spreadsheets. You have to navigate through endless menus, sliders, and forms just to log a glass of water, an hour of sleep, or your muscle soreness. This friction makes tracking feel like a chore rather than a conversation. We wanted to build a system that listens to you like a human personal trainer—an autonomous dashboard that tracks your health simply by chatting with it.

What it does Prism is an intelligent performance coaching layer over a real-time human telemetry dashboard. Instead of manually clicking buttons, you simply talk to it.

You can type: "I just drank 3 glasses of water, but my legs are at a 7/10 soreness."

Behind the scenes, Prism's AI identifies your intent, extracts the exact metrics, and updates your sleep, hydration, nutrition, and soreness trackers instantly. The dashboard updates in real-time with zero browser refreshes. We also integrated targeted micro-agents (Quick Ask Tools) for instant, context-aware advice on workout routines, vegetarian meal plans, and biomechanical form checks.

How we built it We architected Prism for low latency and high scalability:

Backend: Built with Python and FastAPI to handle fast, asynchronous REST API requests and stateful AI function calling.

Artificial Intelligence: Powered by Gemini 2.5 Flash (via the Vertex AI SDK). Instead of just generating text, Gemini acts as a routing engine, triggering internal tool calls to mutate our database.

Deployment: We containerized the entire application using Docker and deployed it on Google Cloud Run for serverless, auto-scaling execution.

The MongoDB Partner Track: Human biometrics are messy—sleep arrays, fluid nutrition logs, and chat timelines do not fit well into rigid SQL tables. We designed our core data architecture and migration blueprint around MongoDB Atlas to serialize these fluid, deeply nested JSON biometric streams. This allows our data layer to scale horizontally without schema-locking or downtime.

Challenges we ran into Taking this from a local script to a production cloud app brought several major hurdles. Our first challenge was Docker port mapping on Cloud Run. We had to refactor our Dockerfile to dynamically accept Google's injected port variables (${PORT:-8080}) so the container could pass internal health checks.

Additionally, moving from a standard conversational chatbot to stateful function calling was complex. We had to heavily constrain the Gemini model to ensure it returned structured JSON mutations to our FastAPI backend rather than just conversational text.

Accomplishments that we're proud of Achieving zero-refresh UI state mutations driven entirely by natural language processing.

Deploying a highly secure, enterprise-grade cloud environment. Because our Cloud Run instance, Firestore cache, and Vertex AI models live under the same Google Cloud project, we utilized Application Default Credentials (ADC)—meaning our app runs securely without exposing any hardcoded API keys.

Successfully mapping our unstructured telemetry data into a scalable MongoDB Atlas document architecture.

What we learned We vastly deepened our understanding of serverless deployment and containerization. Getting a Uvicorn ASGI server to run perfectly inside a Docker container on Google Cloud Run was a massive learning experience. We also learned how to seamlessly bridge the gap between generative AI and rigid database mutations using tool-calling.

What's next for Prism The immediate next step is executing our MongoDB Atlas historical data pipeline to generate long-term trend analysis for users (e.g., showing how hydration correlates to their muscle recovery over six months). Eventually, we want to integrate wearable APIs (like Apple Health or Google Fit) so Prism can combine background hardware telemetry with your conversational context to become the ultimate health coach.

Built With

Share this project:

Updates