{"id":50375875,"url":"https://github.com/yogeshsinghkatoch9/protocol","last_synced_at":"2026-05-30T09:30:53.836Z","repository":{"id":351574078,"uuid":"1211105872","full_name":"yogeshsinghkatoch9/protocol","owner":"yogeshsinghkatoch9","description":"The first all-in-one tracking platform for enhanced bodybuilders. 103 compounds, 121 exercises, blood work, pharmacokinetics, drug interactions, training, diet, wellness. Free and open source.","archived":false,"fork":false,"pushed_at":"2026-04-15T16:36:49.000Z","size":6046,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-15T16:38:34.783Z","etag":null,"topics":["bodybuilding","fitness","harm-reduction","health","nodejs","open-source","pharmacokinetics","pwa","sqlite","tracking"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yogeshsinghkatoch9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-15T04:27:23.000Z","updated_at":"2026-04-15T16:36:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yogeshsinghkatoch9/protocol","commit_stats":null,"previous_names":["yogeshsinghkatoch9/protocol"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/yogeshsinghkatoch9/protocol","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogeshsinghkatoch9%2Fprotocol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogeshsinghkatoch9%2Fprotocol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogeshsinghkatoch9%2Fprotocol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogeshsinghkatoch9%2Fprotocol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yogeshsinghkatoch9","download_url":"https://codeload.github.com/yogeshsinghkatoch9/protocol/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogeshsinghkatoch9%2Fprotocol/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33687717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bodybuilding","fitness","harm-reduction","health","nodejs","open-source","pharmacokinetics","pwa","sqlite","tracking"],"created_at":"2026-05-30T09:30:51.855Z","updated_at":"2026-05-30T09:30:53.819Z","avatar_url":"https://github.com/yogeshsinghkatoch9.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-1.0.0-blue\" alt=\"Version\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-green\" alt=\"License\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/node-%3E%3D18-brightgreen\" alt=\"Node\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/dependencies-1-orange\" alt=\"Dependencies\"/\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003ePROTOCOL\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\u003cstrong\u003eThe all-in-one performance tracking platform for serious athletes.\u003c/strong\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003eCompounds \u0026middot; Training \u0026middot; Blood Work \u0026middot; Nutrition \u0026middot; Body Composition \u0026middot; Competition Prep \u0026middot; Powerlifting \u0026middot; Strongman\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003ca href=\"https://protocol-q2mr.onrender.com\"\u003e\u003cstrong\u003eLive Demo \u0026rarr;\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\n\n---\n\n## The Problem\n\nAthletes managing performance protocols track dozens of variables across disconnected tools — compounds in spreadsheets, blood work as PDF screenshots, training in one app, diet in another, side effects in a notes app, and competition prep in text messages with their coach.\n\nThere is no single platform that connects all of it. Until now.\n\n**Protocol** puts everything in one place: compounds with pharmacokinetic modeling, 49 blood markers with auto-flagging, 121 exercises with volume tracking, daily wellness scoring, competition prep with peak week planning, powerlifting meet tracking with Wilks/DOTS scoring, strongman event logging, and more — all with a professional desktop + mobile interface.\n\n## What It Does\n\n```\nOne platform. Every variable. Complete visibility.\n```\n\n| Category | What You Track |\n|---|---|\n| **Compounds** | 103 compounds with half-lives, dosing, interactions, blood concentration curves |\n| **Training** | 121 exercises, 8 templates, sets/reps/weight/RPE, volume charts, rest timer |\n| **Blood Work** | 49 biomarkers, auto-flagging (optimal/caution/elevated), trend charts, lab OCR |\n| **Body** | Weight trend with moving average, 12 measurements, progress photos |\n| **Nutrition** | Daily macros (protein/carbs/fat/calories), water intake, meal logging |\n| **Wellness** | 8 daily metrics (sleep, energy, mood, libido, joints, appetite, stress), readiness score |\n| **Side Effects** | 20 symptom types, severity tracking, compound correlation |\n| **Competition** | 16 federations, 17 divisions, peak week planner, posing practice log |\n| **Powerlifting** | Meet tracking, 9 attempts, Wilks/DOTS/1RM calculators |\n| **Strongman** | 20 events (atlas stones, log press, farmer walk, etc.), PR board |\n| **Supplements** | Stack management, daily compliance tracking |\n| **Analytics** | Full dashboard: training volume, body trends, health status, achievements |\n\n## Key Features\n\n### Pharmacokinetic Engine\nBlood concentration curves modeled using a two-compartment depot absorption model. See exactly when your compounds reach peak levels, when they clear, and when to start PCT.\n\n### Drug Interaction Checker\nAutomatically detects dangerous combinations: 19-nors without prolactin control, oral AAS without liver support, high-aromatizing compounds without AI. Warnings appear on your dashboard.\n\n### 103 Compound Database\nEvery compound an athlete might use, with complete profiles: brand names, half-life, dosing ranges, anabolic/androgenic ratings, side effects, blood markers affected, what it stacks with, storage instructions, and clinical notes.\n\n### Blood Work Intelligence\n49 biomarkers across 7 categories with PED-context reference ranges (not standard lab ranges). Auto-flags values that need attention. Trend charts show how markers respond to your protocol over time. Paste lab results as text and auto-parse markers.\n\n### AI Workout Suggestions\nAnalyzes your last 7 days of training, identifies muscle groups that need work, and recommends your next workout from 8 templates. Detects when you need a deload.\n\n### Recovery/Readiness Score\nCombines 8 wellness metrics into a 0-100 readiness score. Green (80+) = train hard. Yellow (60-79) = moderate. Red (\u003c60) = rest.\n\n### Competition Prep\n16 federations (IFBB Pro, NPC, IPF, USAPL, Strongman Corp, etc.), 17 divisions, peak week day-by-day protocol (water, sodium, carbs, training), posing practice log, mandatory poses reference by division.\n\n### Gamification\n20 achievements (First Blood, Iron Week, Machine, Century, 1000lb Club, etc.), activity streaks, milestone tracking. Unlocked automatically from your data.\n\n### Coach Sharing\nGenerate encrypted share links for your coach. They can view your cycles, blood work, body composition, and training — without needing an account. Permission-controlled and revocable.\n\n### Desktop + Mobile\nProfessional sidebar navigation on desktop (1024px+). Bottom tab bar on mobile. Glassmorphism UI with obsidian dark theme. PWA-ready — install on your phone's home screen.\n\n## Architecture\n\n```\n                            ┌─────────────────────┐\n                            │   USER (Athlete)     │\n                            └──────────┬──────────┘\n                                       │\n                            ┌──────────▼──────────┐\n                            │   FRONTEND (PWA)     │\n                            │  Desktop Sidebar +   │\n                            │  Mobile Bottom Tabs  │\n                            │  Obsidian Dark UI    │\n                            └──────────┬──────────┘\n                                       │\n                            ┌──────────▼──────────┐\n                            │   AUTH LAYER         │\n                            │  PBKDF2 + Sessions   │\n                            └──────────┬──────────┘\n                                       │\n                ┌──────────────────────▼──────────────────────┐\n                │            API SERVER (Node.js)              │\n                │              85+ Routes                      │\n                │              Port 3888                        │\n                └──┬────────┬────────┬────────┬────────┬──────┘\n                   │        │        │        │        │\n          ┌────────▼──┐ ┌───▼────┐ ┌─▼──────┐ ┌▼──────┐ ┌▼──────────┐\n          │ COMPOUNDS  │ │ HEALTH │ │TRAINING│ │ BODY  │ │COMPETITION │\n          │            │ │        │ │        │ │\u0026 DIET │ │            │\n          │ 103 drugs  │ │49 marks│ │121 exer│ │12 meas│ │16 feds     │\n          │ PK engine  │ │auto-flg│ │8 templs│ │photos │ │17 divs     │\n          │ drug check │ │lab OCR │ │AI sgest│ │macros │ │peak week   │\n          │ PCT calc   │ │readines│ │rest tmr│ │water  │ │Wilks/DOTS  │\n          │ reminders  │ │side fx │ │volume  │ │       │ │20 SM events│\n          └────────┬───┘ └───┬────┘ └─┬──────┘ └┬──────┘ └┬───────────┘\n                   │         │        │         │         │\n                   └─────────┴────────┴─────┬───┴─────────┘\n                                            │\n                            ┌───────────────▼───────────────┐\n                            │       SQLite DATABASE          │\n                            │    24 Tables · protocol.db     │\n                            └───────────────────────────────┘\n\n  ┌──────────────────────────────────────────────────────────────────┐\n  │  CROSS-CUTTING: Auth · Export · Achievements · Interactions ·   │\n  │  Coach Sharing · 9 Calculators · AI Suggestions · Gamification  │\n  └──────────────────────────────────────────────────────────────────┘\n\n  85+ API Routes · 24 Tables · 103 Compounds · 121 Exercises\n  49 Blood Markers · 16 Federations · 20 Strongman Events\n  1 npm Dependency · Zero External Services\n```\n\n## Screenshots\n\nThe app features a professional dark interface with:\n- Left sidebar navigation with grouped sections (Main, Health, Performance, Insights, System)\n- Glassmorphism cards with obsidian dark surfaces\n- Material Design icons throughout\n- Bento grid dashboard layout\n- Canvas 2D charts for blood concentration curves, weight trends, and volume distribution\n- Anatomical body map with 17 tappable injection sites\n- Searchable compound library with category filters\n- Achievement grid with unlock tracking\n\n## Install\n\n```bash\ngit clone https://github.com/yogeshsinghkatoch9/protocol.git\ncd protocol\nnpm install\nnpm start\n```\n\nOpen `http://localhost:3888` in your browser. Create an account and start tracking.\n\n**Requirements:** Node.js \u003e= 18. One dependency (better-sqlite3).\n\n## Quick Start\n\n1. **Create account** at `http://localhost:3888/auth`\n2. **Dashboard** → see your readiness score, active cycle, and AI workout suggestion\n3. **Cycles** → create a cycle → add compounds → log doses with injection site map\n4. **Training** → start a workout from templates or build your own → log sets/reps/weight\n5. **Blood Work** → add a panel → enter 49 markers → see auto-flagged results\n6. **Body** → log weight and measurements → track progress photos\n7. **Wellness** → daily check-in (30 seconds) → see readiness score\n8. **Library** → browse all 103 compounds with full profiles\n\n## Tech Stack\n\n| Layer | Technology |\n|---|---|\n| Backend | Node.js + HTTP (vanilla, no Express) |\n| Database | SQLite via better-sqlite3 |\n| Frontend | Vanilla HTML/CSS/JS (no framework, no build step) |\n| Auth | PBKDF2 password hashing + session tokens |\n| Charts | Canvas 2D (retina-aware, no chart library) |\n| Icons | Google Material Symbols Outlined |\n| PWA | Service worker + manifest for mobile install |\n\n**One npm dependency.** Everything else is Node.js built-in modules.\n\n## Architecture\n\n```\nprotocol/\n├── src/\n│   ├── server.js              HTTP server (85+ API routes)\n│   ├── db.js                  SQLite database (24 tables)\n│   ├── pharma.js              Pharmacokinetic engine\n│   ├── data/\n│   │   ├── compounds.js       103 compounds (4,875 lines)\n│   │   ├── exercises.js       121 exercises + 8 templates\n│   │   └── competitions.js    16 federations, 17 divisions\n│   └── web/\n│       ├── index.html         Main app (2,700+ lines)\n│       ├── auth.html          Login/signup page\n│       ├── manifest.json      PWA manifest\n│       └── sw.js              Service worker\n├── package.json\n├── LICENSE                    MIT\n└── README.md\n```\n\n### API Routes (85+)\n\n| Group | Endpoints | Description |\n|---|---|---|\n| Auth | 5 | Signup, login, logout, profile, update |\n| Cycles | 6 | CRUD + compound management |\n| Doses | 3 | Log, list, delete |\n| Blood Work | 5 | Panels, markers, trends, OCR parse |\n| Measurements | 3 | Body composition CRUD |\n| Workouts | 4 | Sessions with sets, templates |\n| Exercises | 3 | Database, search, templates |\n| Wellness | 3 | Daily check-in, readiness score |\n| Side Effects | 3 | Log, list, delete |\n| Supplements | 4 | Stack management, daily log |\n| Competitions | 4 | Prep tracking, peak week |\n| Powerlifting | 4 | Meets, 1RM, exercise history |\n| Strongman | 2 | Event logging |\n| Posing | 2 | Session logging |\n| Achievements | 3 | Check, list, streaks |\n| Analytics | 1 | Full dashboard aggregation |\n| Suggestions | 3 | AI workout, deload, compound |\n| Interactions | 1 | Drug interaction checker |\n| Calculators | 5 | Wilks, DOTS, 1RM, pinning volume, unit converter |\n| Reminders | 5 | Dose scheduling |\n| Coach | 6 | Share links, permissions, notes |\n| Social | 3 | Shareable workout/progress/meet cards |\n| Export | 2 | JSON + CSV full data export |\n| Static | 6 | Federations, divisions, poses, peak week, weight classes |\n\n### Database (24 Tables)\n\n| Table | Purpose |\n|---|---|\n| users, sessions | Authentication |\n| profile, sport_profile | User settings |\n| cycles, cycle_compounds, dose_log | Compound tracking |\n| blood_work, blood_markers | Blood work tracking |\n| measurements | Body composition |\n| workouts, workout_sets, workout_templates | Training |\n| wellness | Daily check-in |\n| side_effects | Side effect journal |\n| supplements, supplement_log | Supplement tracking |\n| progress_photos | Progress photos |\n| competitions, peak_week_log, posing_log | Competition prep |\n| pl_meets, one_rm_log | Powerlifting |\n| strongman_events | Strongman |\n| achievements, streaks | Gamification |\n| reminders | Dose reminders |\n| coach_shares, coach_notes | Coach platform |\n\n## Compound Database\n\n103 compounds across 18 categories:\n\n| Category | Count | Examples |\n|---|---|---|\n| Injectable AAS | 18 | Testosterone (5 esters), Trenbolone, Nandrolone, EQ, Masteron, Primo |\n| Oral AAS | 9 | Dianabol, Anavar, Winstrol, Anadrol, Turinabol, Halotestin, Superdrol |\n| Peptides | 20 | BPC-157, TB-500, CJC-1295, Ipamorelin, GHRP-2/6, MK-677, Melanotan |\n| Growth Factors | 4 | IGF-1 LR3, IGF-1 DES, MGF, PEG-MGF |\n| HGH | 1 | Somatropin (9 brand names) |\n| GLP-1 | 2 | Semaglutide, Tirzepatide |\n| AIs | 3 | Anastrozole, Exemestane, Letrozole |\n| SERMs | 5 | Tamoxifen, Clomid, Raloxifene, Enclomiphene, Toremifene |\n| Prolactin Control | 3 | Cabergoline, Pramipexole, Bromocriptine |\n| Insulin | 3 | Humalog, Humulin R, Lantus |\n| Fat Burners | 5 | Clenbuterol, DNP, Yohimbine, Ephedrine, Albuterol |\n| SARMs | 6 | Ostarine, LGD-4033, RAD-140, Cardarine, S-23, YK-11 |\n| Support | 27 | TUDCA, NAC, Telmisartan, Nebivolol, Finasteride, T3, Cialis, HCG |\n\nEach compound includes: brand names, aliases, half-life, dosing ranges (male/female), anabolic/androgenic ratings, aromatization, liver toxicity, side effects, blood markers affected, what it stacks with, storage, reconstitution, and clinical notes.\n\n## Calculators\n\n| Calculator | What It Does |\n|---|---|\n| **Pharmacokinetics** | Blood concentration curves from compound + dose + frequency |\n| **PCT Start** | When to begin PCT based on compound half-lives |\n| **Wilks Score** | Powerlifting total relative to bodyweight |\n| **DOTS Score** | Modern alternative to Wilks |\n| **Estimated 1RM** | Epley formula from weight x reps |\n| **Pinning Volume** | mg dose ÷ concentration = mL to inject |\n| **Unit Converter** | mg ↔ mcg ↔ mL ↔ IU with compound-specific factors |\n| **Classic Physique** | Max weight allowed for your height |\n| **Weight Class** | IPF weight class from bodyweight |\n\n## Safety \u0026 Legal\n\n### This Is a Harm Reduction Tool\n\nProtocol does **not** sell, supply, or recommend any substance. It does **not** provide medical advice.\n\nProtocol **does** help users who have made their own choices to:\n- Track their health more carefully with regular blood work monitoring\n- Detect dangerous biomarker values that need medical attention\n- Identify harmful drug interactions in their current protocol\n- Maintain a complete health record they can share with their doctor\n\n### Disclaimer\n\nThis application is for informational and tracking purposes only. It is not medical advice. Many compounds tracked in this app are controlled substances in various jurisdictions. Users are responsible for compliance with all applicable laws. Always consult a qualified healthcare provider before using any performance-enhancing compound. Regular blood work with a licensed medical provider is strongly recommended.\n\n## Data Privacy\n\n- **Local-first**: All data stored on your machine in a SQLite database file\n- **No cloud**: Nothing is sent to any external server\n- **No telemetry**: Zero analytics, zero tracking, zero data collection\n- **Encrypted auth**: PBKDF2 with 100,000 iterations for password hashing\n- **Session tokens**: 64-byte hex, 30-day expiry\n- **Your data, your control**: Export everything as JSON/CSV anytime\n\n## Contributing\n\nPull requests welcome. The codebase is intentionally simple — no framework, no build step, one dependency.\n\n**Areas that need help:**\n- Mobile UI refinement\n- Additional compound data validation\n- Localization (kg/lbs, metric/imperial)\n- Blood work photo OCR (real computer vision)\n- Wearable integration (Apple Health / Google Fit)\n- Native iOS/Android apps\n\n## License\n\nMIT \u0026copy; 2026 Yogesh Singh Katoch\n\nFree to use, modify, and distribute. See [LICENSE](LICENSE) for details.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eYour body. Your data. Your protocol.\u003c/strong\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eBuilt with Node.js + SQLite + vanilla HTML/CSS/JS. One dependency. Zero compromises.\u003c/sub\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyogeshsinghkatoch9%2Fprotocol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyogeshsinghkatoch9%2Fprotocol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyogeshsinghkatoch9%2Fprotocol/lists"}