Poly is a secure, context-aware medication tracking and compliance dashboard built with Python and Gradio.
It handles multiple users or a whole family, tracking vitals and medications.
-
β¨ I vibecoded Poly from Google's free AI mode, I'm sorry.
-
β οΈ Future edits are coming to clean up the UI and Python mess. -
π΅οΈ While I used AI to help me build this, this project does NOT interact with ANY generative AI service/system.
-
β This is basic and simple. This is designed for homelab folks who need to manage multiple meds.
-
ποΈ I did a lot of philosophical work for you: It's morally fine, as long as you don't commercialize this, exploit me, or use Poly for evil.
-
π¨οΈ Pairs well with my 3D printable Polypharmacy Kit
π Features
- Context-Aware Data Tracking: Adjusts automatically to present sleep metrics in the morning and structured emotional grid selections during mid-day or night.
- Sedcured Data: Isolates user records dynamically using absolute relational database keys, preventing cross-profile lookups.
- Exportable Data: Filter and preview compliance history as a table right on the interface before downloading a customized CSV file you can share with a health provider.
- Admin User/Panel: Restricted management portal for system administrators/heads of household to add or delete users.
πΌοΈ Example Screenshots
You can run this as python poly.py, but that's not as good as:
π³ Option 1: Docker CLI
Move your poly.py file and your Dockerfile into a target deployment directory on your host.
Execute the statement block below in your command-line. Adjust the enviornment variables as desired:
docker run -d \
--name poly_med_tracker \
-p 7436:7436 \
-e TZ=America/Los_Angeles \
-e POLY_ADMIN_USER="ChiefMedicalOfficer" \
-e POLY_ADMIN_PASS="UltraSecurePass2026!" \
-e POLY_DB_PATH="/data/poly_med_tracker.db" \
-v ./poly_data:/data \
--restart unless-stopped \
\$(docker build -q .)π’ Option 2: Portainer Deployment
- Create a New Web Stack via Git Repository
- Navigate to your Portainer web portal dashboard.
- Click on Stacks in the left sidebar menu, and press the Add stack button.
- Under Build method, select Repository.
- Configure Git Repository Settings:
- Paste the repository path: https://github.com/wryandginger/poly/
- Leave the rest as default in this top section.
- Scroll down to the Environment variables configuration section on the page.
- Click Add environment variable to override your app's default login security values:
Set POLY_ADMIN_USER to your preferred username (e.g., Jane).
Set POLY_ADMIN_PASS to a strong unique credential password.
- Scroll down to the footer and press Deploy the stack.
- Everything should build automatically.
- Portainer deploys stack folders out of a default directory.
- To change where your data is saved, first deploy the default project from github, then detach the stack from github.
- You should then be able to change the docker-compose.yml properties or add host volume path adjustments as needed.
- localhost:7436
- Admin Username:
BeverlyCrusher(Override using environment variable:POLY_ADMIN_USER) - Admin Password:
Crusher22BetaCharlie(Override usingPOLY_ADMIN_PASS)




