HealthPal is a Streamlit-based healthcare assistant demo app built for the Synapxe Innovation Challenge. It combines health tracking, medication management, AI-powered health chat, and a community feed using a local CSV-backed data layer.
- Home dashboard with recent vitals and trend charts
- Medication planner, reminders, and taken-status logging
- AI chat for health and nutrition guidance
- Food image analysis (Gemini)
- Community posts and basic engagement (like/post)
- Bilingual UI support (English and Chinese)
Innovation-Challenge/
healthpal_app.py # Streamlit app entry
data_layer.py # CSV data layer and business logic
requirements.txt # Python dependencies
secrets.toml # Local API keys (not for production)
data/ # CSV data files
- Python 3.10+
- Streamlit
- Pandas
- Plotly
- OpenAI-compatible client (for MERaLiON endpoint)
- Google Gemini SDK (for image analysis)
git clone https://github.com/bbbbronya/Innovation-Challenge
cd Innovation-ChallengemacOS/Linux:
python3 -m venv .venv
source .venv/bin/activateWindows (PowerShell):
python -m venv .venv
.venv\Scripts\Activate.ps1pip install -r requirements.txtOptional but recommended (used by image analysis path):
pip install google-genai tomlCreate or update secrets.toml in the project root:
merlion_API_KEY = "your_meralion_key"
gemini_API_KEY = "your_gemini_key"Notes:
- AI-related features can be accessed directly via the deployed link. To run locally, you'll need to add your API_KEY to
secrets.tomlmanually.
streamlit run healthpal_app.pyOpen the local URL shown in the terminal (usually http://localhost:8501).
The app uses CSV files under data/ as a lightweight local database. On startup, ensure_data_exists() seeds missing files automatically.
Main files include:
users.csvvitals.csvmedications.csvmed_logs.csvmedication_plan.csvmedication_logs.csvlab_results.csvcommunity_posts.csv