HealthCheck is a web application that uses artificial intelligence to interpret blood test results, translating complex medical terminology into clear and understandable language for patients.
- Upload laboratory results in PDF format
- Intelligent analysis powered by Google Gemini AI
- Interpretation in simple and accessible language
- Medical perspective specialized in hematology
- Secure processing of sensitive information
- Download results as professional PDF reports
- Dark mode support for comfortable viewing
HealthCheck is NOT a medical device.
This tool is for informational purposes only. Do not use it for diagnosis or treatment. Always consult a qualified healthcare professional. AI-generated results may contain inaccuracies and do not replace professional medical interpretation.
| Feature | Description |
|---|---|
| PDF Upload | Drag & drop or click to upload laboratory PDFs |
| AI Analysis | Powered by Google Gemini 2.5 Flash for accurate interpretation |
| Dual View | Technical interpretation + simplified explanation |
| Executive Summary | Quick overview of your results |
| Feature | Description |
|---|---|
| Dark Mode | Toggle between light and dark themes |
| Theme Persistence | Your preference saved automatically |
| System Detection | Respects your OS color scheme |
| Responsive Design | Works on desktop and mobile |
| Feature | Description |
|---|---|
| PDF Export | Download results as professional PDF |
| Formatted Report | Includes header, sections, and disclaimer |
| Multi-page Support | Automatic pagination for long results |
| Feature | Description |
|---|---|
| History Page | View and manage past analysis results |
| History Manager | Local storage system for saved analyses |
| Sort Controls | Organize history by name (A-Z, Z-A) |
| Quick Access | Breadcrumb navigation and direct result links |
| Processing Time Display | Shows analysis duration and pages processed |
| API Status Monitoring | Enhanced health check with detailed logging |
| Startup Banner | Displays API info and configuration on server start |
| Rate Limiting | API protection with 60 requests/minute limit |
| Enhanced Security | CORS configuration and request validation |
| Modular Architecture | Organized routes and services structure |
| Technology | Purpose |
|---|---|
| Python 3.8+ | Core language |
| FastAPI | Web framework |
| PyMuPDF | PDF text extraction |
| Google Gemini AI | AI-based analysis |
| python-dotenv | Environment management |
| Technology | Purpose |
|---|---|
| HTML5 | Structure |
| CSS3 | Styling with CSS Variables |
| JavaScript | Interactivity |
| jsPDF | Client-side PDF generation |
| marked.js | Markdown parsing |
- Python 3.8 or higher
- Google Gemini API key
- Clone the repository
git clone https://github.com/AaronCasildo/WebCheck.git
cd WebCheck- Install dependencies
pip install -r requirements.txt-
Set up environment variables
Create a
.envfile in theBackend/folder:
GEMINI_API_KEY=your_api_key_here- Run the server
cd Backend
uvicorn main:app --reload-
Open in browser
Navigate to
http://localhost:8000or openWebCheck.html
WebCheck/
├── WebCheck.html # Main landing page
├── script.js # Main JavaScript file
├── requirements.txt # Python dependencies
├── readme.md # This file
│
├── Backend/
│ ├── main.py # FastAPI application
│ ├── config.py # Configuration settings
│ ├── routes/ # API endpoints
│ │ └── pdf.py # PDF processing routes
│ ├── services/ # Business logic
│ │ ├── ai_service.py # Gemini AI integration
│ │ └── pdf_service.py # PDF extraction
│ └── outputs/ # Sample outputs
│
├── Frontend/
│ ├── pages/
│ │ ├── Results.html # Results display page
│ │ ├── History.html # History page for past results
│ │ ├── Login.html # Login page
│ │ └── Register.html # Registration page
│ ├── scripts/
│ │ ├── modules/
│ │ │ ├── results-page.js # Results page logic
│ │ │ ├── pdf-generator.js # PDF export module
│ │ │ └── history.js # History page logic
│ │ └── utils/
│ │ ├── theme-toggle.js # Dark mode functionality
│ │ └── history-manager.js # Local storage management
│ └── styles/
│ └── styles.css # Global styles + theming
│
└── media/ # Images and icons
Contributions are welcome. To collaborate:
- Fork the repository
- Create a feature branch
git checkout -b feature/AmazingFeature- Commit your changes
git commit -m 'feat: add amazing feature'- Push to your branch
git push origin feature/AmazingFeature- Open a Pull Request
This project follows Conventional Commits:
feat:New featurefix:Bug fixdocs:Documentation changesstyle:Code style changesrefactor:Code refactoring
Aaron Casildo Rubalcava · Daniel Romero Bravo