📹 Demo Video Note: The demonstration video appears in low quality when viewed on Google Drive. For the best experience, please download the video to see it in its original high-quality resolution.
NomadCare is a modern, AI-driven web application designed to bridge communication gaps between doctors and patients, especially those who speak different languages. It provides separate portals for doctors and patients to exchange audio messages, leveraging generative AI for real-time translation and external emotion detection APIs for intelligent analysis.
- Dual Portals: Separate, tailored user interfaces for doctors and patients.
- Audio Messaging: Doctors can record and send audio messages. Patients can listen to these messages and review their pre-recorded responses.
- AI-Powered Translation: Doctor's messages are automatically translated into the patient's preferred language using Google's generative AI models.
- Real-Time Emotion Analysis: Patient's audio responses are sent to an external emotion detection API that provides detected emotions with confidence scores and intelligent insights. The doctor's panel displays this information with a typewriter animation for an engaging experience.
- Typewriter Animation: Emotional insights appear with a smooth typing effect, showing static emotion data immediately followed by the AI's intelligent analysis.
- Simulated Conversation: The application boots up with a pre-populated, simulated conversation to demonstrate the core features without needing initial user input.
- Responsive Design: A modern, clean UI that works seamlessly across different devices.
- Real-Time Updates: Insights are updated instantly via direct state management, without localStorage persistence, ensuring fresh analysis for each interaction.
This project is built with a modern, full-stack TypeScript architecture.
- Framework: Next.js (with App Router)
- AI/Generative AI: Google AI & Genkit for creating and managing AI flows (translation, text-to-speech, and summarization).
- External APIs: Custom emotion detection API for real-time audio analysis with intelligent insights.
- UI: React
- Styling: Tailwind CSS for utility-first styling.
- Component Library: ShadCN UI for accessible and reusable components.
- Language: TypeScript
- Icons: Lucide React
- Animations: Custom typewriter effect for dynamic text display.
Follow these instructions to get a local copy of the project up and running.
- Node.js (v18 or later)
- npm or yarn
-
Clone the repository (or ensure you are in the project directory).
-
Install dependencies:
npm install
-
Set up Environment Variables: Create a
.envfile in the root of the project. You will need to add your Google AI API key for the Genkit flows to work.GEMINI_API_KEY=your_google_ai_api_key_here
-
Run the Genkit Development Server: The AI flows run on a separate development server. Open a new terminal and run:
npm run genkit:dev
This will start the Genkit server, typically on port
3400. -
Run the Next.js Development Server: In your primary terminal, run the main application:
npm run dev
This will start the Next.js application, which by default runs on
http://localhost:9002. -
Open the App: Navigate to
http://localhost:9002in your browser to see the application.
A demonstration video of the application is available on YouTube: Watch on YouTube
Alternatively, the video is also available for download. Important: The video appears in low quality when viewed directly on Google Drive. For the best viewing experience, please download the video to see it in its original high-quality resolution.
src/app/: Contains the main pages and layouts for the Next.js App Router (/,/doctor,/patient).src/components/: Shared and feature-specific React components.src/components/ui/: Auto-generated ShadCN UI components.src/components/shared/: Components used across different parts of the app (e.g.,Header,AudioPlayer,Typewriterfor animations).src/components/doctor/&src/components/patient/: Components specific to each portal.
src/ai/: All Genkit-related code.src/ai/genkit.ts: Genkit initialization and configuration.src/ai/flows/: Genkit flows for AI-powered features like translation and emotion analysis.
src/lib/: Contains server actions (actions.ts), type definitions (types.ts), and other utility functions.src/services/: Services for communicating with external APIs, like the emotion detection service.public/: Static assets, including the logo and the sample audio files for the simulated conversation.
📹 Demo Video Reminder: Remember to download the demonstration video from Google Drive for the best quality viewing experience!