Inspiration**

Emergency responders face life-or-death situations daily, yet traditional training methods are expensive, time-consuming, and often fail to capture the unpredictability of real-world scenarios. We were inspired by the potential of AI to democratize high-quality training—making it accessible, adaptive, and infinitely scalable. Flashpoint was born from the idea that every responder deserves to practice critical decision-making in realistic, dynamic scenarios before lives are on the line.

What it does

Flashpoint is an AI-powered training platform that generates realistic emergency response scenarios on-demand. Using Google's Gemini AI, it creates dynamic text-based simulations, visual scenes with Imagen, and even video scenarios with Veo. Responders make decisions in real-time, receive instant AI-driven feedback, and can replay scenarios to explore different outcomes. The platform tracks performance over time, identifies knowledge gaps, and adapts difficulty to each user's skill level—turning every training session into a personalized learning experience. How we built it

Frontend: Built with React and Vite for a fast, responsive user interface with real-time scenario interactions.

Backend: Firebase Cloud Functions powered by Node.js, handling AI model orchestration and data management.

AI Integration: Leveraged Google's Gemini API for scenario generation and decision analysis, Imagen for visual context, and Veo for video-based training modules Database: Firebase Firestore for real-time data sync and user progress tracking Storage: Persistent storage API for cross-session data retention, enabling long-term performance analytics.

Deployment: Automated CI/CD pipeline through Firebase Hosting and GitHub Actions

Challenges we ran into

Port conflicts and deployment issues: Wrestling with Firebase emulator configurations and local/cloud environment differences taught us valuable lessons in debugging production systems AI response consistency: Balancing creative scenario generation with medically/tactically accurate responses required extensive prompt engineering and validation Real-time performance: Optimizing API calls to handle multiple AI models (text, image, video) without sacrificing user experience State management: Building a stateful conversation system where Claude maintains context across multi-turn emergency scenarios despite API limitations GitHub integration conflicts: Navigating Firebase Studio's auto-deployment setup without overwriting existing workflows

Accomplishments that we're proud of

Successfully integrated three different Google AI models (Gemini, Imagen, Veo) into a cohesive training experience

Created an intuitive UI that makes complex emergency training feel accessible and engaging Implemented persistent storage that tracks user progress across sessions for meaningful learning analytics

What we learned

The power of AI in creating adaptive, personalized learning experiences at scale How to architect systems that gracefully handle API rate limits and multiple model orchestration The importance of context management in conversational AI applications Practical experience with Firebase's full ecosystem (Functions, Hosting, Firestore, Storage) That the biggest technical challenges often teach the most valuable lessons—our deployment struggles led to deeper understanding of cloud infrastructure

What's next for Flashpoint

Voice integration: Adding speech-to-text for hands-free scenario navigation during physical training drills Multiplayer scenarios: Team-based training where multiple responders coordinate in the same AI-generated emergency VR/AR support: Immersive 3D environments for even more realistic training experiences Certification pathways: Partnering with emergency response organizations to offer accredited training hours Mobile app: Native iOS/Android apps for training on-the-go Analytics dashboard: Advanced insights for training coordinators to identify team-wide skill gaps and track improvement trends Custom scenario builder: Allowing organizations to input their specific protocols and local conditions for hyper-relevant training

Built With

Share this project:

Updates