Valetudo AI is a Perplexity Sonar-powered assistant that delivers science-backed, fast, and clear medical answers. It helps reduce misinformation by providing citations from verified sources — with support for filters by date, country, and even image upload.
The name Valetudo comes from Latin and means “health” 🩺. The project is designed for conscious users seeking reliable medical information: caring parents, patients, and medical students. Ask about symptoms, drug interactions, or safe alternatives — and get trustworthy answers instantly.
Watch Valetudo AI in action 👇:
- Chat with AI using Perplexity Sonar Pro
- Answers with numbered scientific citations
- Limited to 10 trusted sources for clarity
- Filters by date and user location
- Image upload for visual context (e.g. meds or conditions)
- Prompt templates (7 categories) for common medical queries:
- Symptom-based advice
- Drug interaction checks
- Safety timing
- Safer treatments
- Compare effectiveness
- Recommended exercises
- Latest research
- Follow-up input to clarify or expand your question
- Prioritization of local sources when a country is selected
- Markdown formatting and clean tables
- Easily copy and open source links
- Simple and user-friendly interface
Ask questions. Get trusted answers in seconds.
🔧 Integrated Features (per Perplexity API documentation):
| Feature | API Field |
|---|---|
| Search Context Size | search_context_size: medium |
| Domain Filtering | search_domain_filter |
| Image Upload | image_url |
| Date Filtering | search_after/before_date_filter |
| User Location Filter | user_location |
Upload an image — AI will analyze it too.
- Frontend: React, Vite, Tailwind CSS
- AI Integration: Perplexity Sonar Pro API
- Markdown Renderer: React Markdown, rehype-raw
- UI Framework: React Select, React Icons, React Datepicker
- Image handling: base64 encoder and preview
- Backend: Python, Flask (proxy for API calls)
git clone https://github.com/vero-code/valetudo-ai.git
cd valetudo-aiCreate a .env file inside the /backend folder:
PERPLEXITY_API_KEY=your_api_key_here
🔒 Refer to
/backend/.env.example
⚠️ Never commit your.envfile to version control.
npm install
npm run devcd backend
python -m venv venv
venv\Scripts\activate # On Windows
# OR
source venv/bin/activate # On macOS/Linux
pip install -r requirements.txt
python app.pyThe app will be available at http://localhost:5173
- Example:
What to do if a 5-year-old has a fever? - Click "Ask AI" and expand the full answer
- Hover over citation numbers to preview and copy links
- Click "Show advanced options"
- Set a custom date range
- Choose a country for localized results
- Drag and drop an image or upload manually
- Ask:
What is this medication? - The AI will include visual analysis
- Click "Try Prompts"
- Choose a category, fill in the fields, and generate a ready-to-send query
- Use the Follow-up input to deepen the conversation
Save time with prompts and follow-up questions.
valetudo-ai/
├── backend/ # Flask backend API
├── public/ # Static files
├── screenshots/ # UI Images
├── src/
│ ├── assets/ # Media resources
│ ├── components/ # React components
│ ├── constants/ # Mock data and templates
│ ├── hooks/ # Custom React hooks
│ ├── utils/ # Helper functions
│ ├── App.jsx # Routes
│ ├── index.css # Styles
│ └── main.jsx # App entry point
├── index.html # Main HTML file
├── LICENSE # License file
├── package.json # Dependencies
├── README.md # Documentation
└── vite.config.js # Vite config
HeroSection— landing section with input, filters, and image uploadAskPage— category-based prompt system with follow-up formQuickAnswerBox— renders AI response with Markdown + citation links
- No user data is stored
.envsecurely manages API key- Rate limits and usage caps can be added in production
- Not a diagnostic tool — for informational use only
- Response time may vary with filters or image uploads
- Mobile layout is simplified (desktop-first)
Disclaimer: This is not a medical device. Always consult a doctor for clinical decisions.
MIT License — free to use, modify, and distribute, with attribution.
Built with ❤️ for the Perplexity Global Hackathon
Powered by the Sonar API



