From 753e25e99ddf57be78ff27ad89cb7e1bbc99d041 Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Sat, 18 Jul 2026 23:23:35 +0200 Subject: Initial commit: HITO MVP Heavy Duty I prescriptive training system encoding Mentzer's methodology. - 4-day split program (Chest & Back, Legs, Shoulders, Arms) - Prescription engine with pre-exhaust superset structure - Strict progression logic (+5kg large / +2.5kg small muscles) - Recovery gating with stall-based extension and override - Onboarding via experience level (Novice/Intermediate/Advanced) - Session logging with full progression analysis - Exercise substitution (33 alternatives for 17 canonical movements) - Objectivist aesthetic: black/gold, serif, rectilinear Stack: Hunchentoot, Mito/SQLite, Djula, SBCL --- templates/base.html | 29 +++++++++++++++ templates/dashboard.html | 63 ++++++++++++++++++++++++++++++++ templates/exercises.html | 62 ++++++++++++++++++++++++++++++++ templates/override.html | 33 +++++++++++++++++ templates/session-complete.html | 46 ++++++++++++++++++++++++ templates/session.html | 80 +++++++++++++++++++++++++++++++++++++++++ templates/setup.html | 56 +++++++++++++++++++++++++++++ 7 files changed, 369 insertions(+) create mode 100644 templates/base.html create mode 100644 templates/dashboard.html create mode 100644 templates/exercises.html create mode 100644 templates/override.html create mode 100644 templates/session-complete.html create mode 100644 templates/session.html create mode 100644 templates/setup.html (limited to 'templates') diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..472d827 --- /dev/null +++ b/templates/base.html @@ -0,0 +1,29 @@ + + + + + + HITO{% block title %}{% endblock %} + + + +
+
+

HITO

+

High Intensity Tracker Online

+
+ + {% block content %}{% endblock %} + +
+ {% block quote %} +
+ “The objective of all rational inquiry is to establish principles + which enable us to understand and predict reality.” + — Mike Mentzer +
+ {% endblock %} +
+
+ + diff --git a/templates/dashboard.html b/templates/dashboard.html new file mode 100644 index 0000000..da294ee --- /dev/null +++ b/templates/dashboard.html @@ -0,0 +1,63 @@ +{% extends "base.html" %} + +{% block title %} — Dashboard{% endblock %} + +{% block content %} +
+ + {% if ready %} +
+

YOU ARE READY

+

Today you train Day {{ next_day }}: {{ next_day_name }}.

+ BEGIN SESSION +
+ {% else %} +
+

RECOVERY IN PROGRESS

+

+ {{ days_remaining }} + day{{ days_plural }} remaining +

+

Next session prescribed for {{ next_date }}.

+

{{ reason }}

+ OVERRIDE RECOVERY +
+ {% endif %} + + {% if has_history %} +
+

Recent Sessions

+ {% for session in sessions %} +
+ {{ session.date }} + Day {{ session.day }}: {{ session.day_name }} + {% if session.override %} + OVERRIDE + {% endif %} +
+ {% endfor %} +
+ {% endif %} + + + +
+{% endblock %} + +{% block quote %} +{% if ready %} +
+ “Every single workout must be a step forward if you are to get anywhere + with your training.” + — Mike Mentzer +
+{% else %} +
+ “Rest is not a sign of weakness. It is the very process by which + the body grows stronger.” + — Mike Mentzer +
+{% endif %} +{% endblock %} diff --git a/templates/exercises.html b/templates/exercises.html new file mode 100644 index 0000000..cd7aa54 --- /dev/null +++ b/templates/exercises.html @@ -0,0 +1,62 @@ +{% extends "base.html" %} + +{% block title %} — Exercises{% endblock %} + +{% block content %} +
+

Exercise Configuration

+ +

+ The movement pattern is what matters. Select an equivalent exercise + if your facility requires it. The program structure is preserved regardless + of which specific implement you use. +

+ + {% for day in days %} +
+

Day {{ day.number }}: {{ day.name }}

+ + {% for slot in day.slots %} +
+
+ {{ slot.canonical_name }} + {% if slot.has_substitute %} + → {{ slot.active_name }} + {% endif %} +
+ + {% if slot.options %} +
+ + + +
+ {% endif %} +
+ {% endfor %} +
+ {% endfor %} + + RETURN TO DASHBOARD +
+{% endblock %} + +{% block quote %} +
+ “The specific exercise is less important than the principle it serves. + What matters is that the target muscle is worked to failure through a full + range of motion.” + — Mike Mentzer +
+{% endblock %} diff --git a/templates/override.html b/templates/override.html new file mode 100644 index 0000000..02b6a3c --- /dev/null +++ b/templates/override.html @@ -0,0 +1,33 @@ +{% extends "base.html" %} + +{% block title %} — Override Recovery{% endblock %} + +{% block content %} +
+

OVERRIDE RECOVERY GATE

+ +
+

{{ warning }}

+
+ +
+

Days remaining in prescribed recovery: {{ days_remaining }}

+

Recommended next session: {{ next_date }}

+
+ +
+
+ + RETURN TO DASHBOARD +
+
+
+{% endblock %} + +{% block quote %} +
+ “To act against one’s own rational judgment is to act against + one’s own interests.” + — Mike Mentzer +
+{% endblock %} diff --git a/templates/session-complete.html b/templates/session-complete.html new file mode 100644 index 0000000..8cd18b3 --- /dev/null +++ b/templates/session-complete.html @@ -0,0 +1,46 @@ +{% extends "base.html" %} + +{% block title %} — Session Complete{% endblock %} + +{% block content %} +
+

Session Complete

+ +
+ {% for result in results %} +
+ {{ result.exercise_name }} + {{ result.text }} +
+ {% endfor %} +
+ + {% if has_increases %} +

+ Weight increased on {{ increase_count }} exercise{{ increase_plural }}. +

+ {% endif %} + + {% if has_stalls %} +

+ {{ stall_count }} stall{{ stall_plural }} detected. Extended recovery is indicated. +

+ {% endif %} + +
+

Recovery

+

Your next session is prescribed for {{ next_date }}.

+

{{ recovery_reason }}

+
+ + RETURN TO DASHBOARD +
+{% endblock %} + +{% block quote %} +
+ “The muscles grow during rest, not during training. Training is merely + the stimulus; rest is where adaptation occurs.” + — Mike Mentzer +
+{% endblock %} diff --git a/templates/session.html b/templates/session.html new file mode 100644 index 0000000..c419697 --- /dev/null +++ b/templates/session.html @@ -0,0 +1,80 @@ +{% extends "base.html" %} + +{% block title %} — Day {{ day_number }}: {{ day_name }}{% endblock %} + +{% block content %} +
+

Day {{ day_number }}: {{ day_name }}

+ +

+ Perform each set to momentary muscular failure within the prescribed rep range. + Record the weight used and repetitions achieved. Do not exceed the prescribed sets. +

+ +
+ {% for group in groups %} +
+ {% ifequal group.type "superset" %} + Pre-Exhaust Superset + {% else %} + Straight Set + {% endifequal %} + + {% for exercise in group.exercises %} +
+

{{ exercise.name }}

+

+ Target: {{ exercise.target_weight }} kg × + {{ exercise.rep_low }}–{{ exercise.rep_high }} reps +

+ + {% for set in exercise.sets %} +
+ Set {{ set.number }} + + + +
+ + kg +
+
+ + reps +
+ +
+ {% endfor %} +
+ {% endfor %} +
+ {% endfor %} + + +
+
+{% endblock %} + +{% block quote %} +
+ “One set of an exercise, carried to a point of momentary muscular failure, + is all that is required to stimulate an increase in strength and size.” + — Mike Mentzer +
+{% endblock %} diff --git a/templates/setup.html b/templates/setup.html new file mode 100644 index 0000000..3653c06 --- /dev/null +++ b/templates/setup.html @@ -0,0 +1,56 @@ +{% extends "base.html" %} + +{% block title %} — Setup{% endblock %} + +{% block content %} +
+

Begin

+ +

+ Select your training experience level. This determines your starting weights. + The system will correct them rapidly through training — err on the side of + caution. Ego has no place here. +

+ +
+
+ + + + + +
+ + +
+
+{% endblock %} + +{% block quote %} +
+ “The first step in any rational endeavor is to identify the facts of reality + relevant to one’s purpose.” + — Mike Mentzer +
+{% endblock %} -- cgit v1.2.3