An intelligent, privacy-conscious web application that allows users to upload health reports in PDF format, which are:
- Converted to clean Markdown text
- Analyzed using Google Gemini API
- Explained in an easy-to-understand, actionable report
⚡ Built with Node.js (Express) + React (Vite)
🎨 Styled for premium Apple-level aesthetics, with smooth animations and responsive design
🔐 Processes everything in-memory – no file storage required
- 📄 Upload any health report in
.pdfformat - 🧠 AI-powered interpretation of health metrics and medical terms
- 🔍 Highlighting of important indicators: normal/abnormal values, red flags
- 📝 Lifestyle suggestions for improving or maintaining health
- 💎 Modern UI/UX inspired by Apple: glassmorphism, smooth transitions, responsive layout
ai-health-reviewer/
├── client/ # Vite + React frontend
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ │ ├── FileUpload.jsx
│ │ │ └── ResultDisplay.jsx
│ │ ├── App.jsx
│ │ ├── main.jsx
│ │ └── index.css
│ ├── package.json
│ ├── vite.config.js
│ ├── tailwind.config.js
│ └── postcss.config.js
│
├── server/ # Node.js backend
│ ├── routes/
│ │ └── analyze.js
│ ├── utils/
│ │ ├── pdfToMarkdown.js
│ │ └── geminiPrompt.js
│ ├── app.js
│ └── package.json
│
├── .env # Gemini API key
└── README.md
- Node.js (v18 or higher)
- npm or yarn
- Google Gemini API key
- Go to Google AI Studio
- Create a new API key
- Copy the key for the next step
cd server
npm installCreate a .env file in the root directory with:
GEMINI_API_KEY=your_actual_gemini_api_key_here
PORT=5000
npm start
# or for development with auto-reload:
npm run devThe server will start on http://localhost:5000
cd client
npm installnpm run devThe client will start on http://localhost:3000 and automatically open in your browser.
-
Start the backend server:
cd server npm start -
In a new terminal, start the frontend:
cd client npm run dev -
Open your browser to
http://localhost:3000 -
Upload a PDF health report and get instant AI analysis!
The frontend is designed to feel clean, minimalist, and sophisticated.
- 🧊 Glassmorphism: frosted backgrounds with blur
- 🌈 Gradient overlays for dynamic feeling
- 🎬 Smooth page and component animations using
Framer Motion - 🌙 Support for dark/light modes
- 📱 Fully responsive (mobile, tablet, desktop)
- 📤 File Upload UI: Drag and drop area, animated loading state
- 📊 Analysis Display: Markdown-like rendering, cards for sections like:
- Summary
- Key Indicators
- Recommendations
- Frontend: React 18, Vite, Tailwind CSS, Framer Motion
- Backend: Node.js, Express, Multer, PDF-Parse
- AI: Google Gemini API
- Styling: Tailwind CSS with custom glassmorphism effects
The Gemini AI provides:
- Summary: Overall health status overview
- Key Findings: Important test results and values
- Health Indicators: Color-coded normal/abnormal values
- Recommendations: Actionable lifestyle and dietary advice
- Next Steps: Follow-up guidance and timelines
- ✅ No data storage - Everything processed in memory
- ✅ Secure API calls - Direct communication with Gemini API
- ✅ Client-side processing - Files never stored on server
- ✅ HTTPS ready - Built for secure deployment
- Best PDF formats: Clear, text-based health reports work best
- File size: Keep under 10MB for optimal performance
- Language: Currently optimized for English reports
- Internet: Requires active connection for AI analysis
Backend won't start:
- Check if
.envfile exists with validGEMINI_API_KEY - Ensure Node.js v18+ is installed
- Verify port 5000 is available
Frontend connection error:
- Ensure backend is running on port 5000
- Check for CORS issues in browser console
PDF upload fails:
- Verify file is valid PDF format
- Check file size is under 10MB
- Ensure PDF contains readable text (not just images)
AI analysis fails:
- Verify Gemini API key is valid and has quota
- Check internet connection
- Try with a smaller/simpler PDF
MIT License. Built with ❤️ for better health insights.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
If you encounter any issues or have questions:
- Check the troubleshooting section above
- Review the console logs for error messages
- Ensure all dependencies are installed correctly
- Verify your Gemini API key is working
Enjoy analyzing your health reports with AI! 🩺✨