name: michael-d1-swimming
description: Michael Shapira's D1 swimming pathway tracking for Life OS. Manages swim times, nutrition protocol (kosher keto), recruiting outreach, and rival comparison. Events: 50/100/200 Free, 100 Fly, 100 Back. SwimCloud ID: 3250085. Use when tracking swim performance, analyzing times, managing nutrition, planning recruiting, or comparing against rivals (Soto PI:47, Gordon PI:90, Domboru PI:102).
Michael Shapira D1 Swimming
Athlete Profile
- Name: Michael Shapira
- DOB: July 22, 2009 (16 years old)
- School: Satellite Beach High School, Class of 2027
- SwimCloud ID: 3250085
- Primary Events: 50 Free, 100 Free, 200 Free, 100 Fly, 100 Back
- Course: Primarily SCY (Short Course Yards)
D1 Time Standards (SCY)
| Event |
D1 Min |
Michael Current |
Gap |
| 50 Free |
20.00 |
TBD |
TBD |
| 100 Free |
44.00 |
TBD |
TBD |
| 200 Free |
1:36.00 |
TBD |
TBD |
| 100 Fly |
48.00 |
TBD |
TBD |
| 100 Back |
48.00 |
TBD |
TBD |
Verified Rivals
| Name |
SwimCloud ID |
Power Index |
Primary Events |
| Soto |
2928537 |
47 |
Sprint Free |
| Gordon |
1733035 |
90 |
IM, Distance |
| Domboru |
1518102 |
102 |
Sprint Free |
Nutrition Protocol
Following Michael Andrew's kosher-adapted keto diet:
Monday-Thursday (Strict Keto)
- Macros: 75% fat, 20% protein, 5% carbs
- Breakfast: Eggs, avocado, kosher salmon
- Lunch: Salad with olive oil, grilled chicken
- Dinner: Steak/fish, non-starchy vegetables
- Snacks: Nuts, cheese, olives
Friday-Sunday (Moderate for Shabbat)
- Allowed: Challah, moderate carbs with Shabbat meals
- Target: <100g carbs/day
- Hydration: Maintain electrolytes
Pre-Race Protocol
- 48 hours out: Standard keto
- 24 hours out: Light carb load if major meet
- Morning of: Easy digestible protein + minimal carbs
Recruiting Timeline (Class of 2027)
| Date |
Milestone |
| Jan 2025 |
NCAA ID registration |
| Spring 2025 |
Unofficial visits begin |
| Summer 2025 |
Camp attendance |
| Sep 2025 |
Official contact allowed |
| Nov 2025 |
Official visits |
| Spring 2026 |
Commit window |
SwimCloud Data Parsing
def parse_swimcloud_times(swimmer_id: str = "3250085") -> dict:
"""Parse latest times from SwimCloud."""
url = f"https://www.swimcloud.com/swimmer/{swimmer_id}/"
# Implementation uses requests + BeautifulSoup
# Returns: {'50 Free': 22.45, '100 Free': 49.87, ...}
Logging to Supabase
Log times to michael_swim_times table:
def log_swim_time(event: str, time: float, meet: str, is_pb: bool):
supabase.table('michael_swim_times').insert({
'date': datetime.now().date(),
'event': event,
'time_seconds': time,
'time_formatted': format_swim_time(time),
'meet_name': meet,
'course': 'SCY',
'is_pb': is_pb
}).execute()
Progress Tracking
Improvement Metrics
SELECT
event,
MIN(time_seconds) as best,
MAX(time_seconds) as worst,
AVG(time_seconds) as average,
COUNT(*) as races
FROM michael_swim_times
WHERE date > NOW() - INTERVAL '6 months'
GROUP BY event;
PB History
SELECT event, time_formatted, meet_name, date
FROM michael_swim_times
WHERE is_pb = true
ORDER BY date DESC;
Meet Schedule
Track upcoming meets in family_events table:
- Harry Meisel: Dec 13-14, 2025
- State Championships: TBD
- Sectionals: TBD
References
references/d1-cut-times.md - Complete D1/D2/D3 standards
references/rivals-analysis.md - Detailed rival comparison
references/recruiting-contacts.md - Coach contact database
data/ - Historical times and meet results
1---2name: michael-d1-swimming3description: Michael Shapira's D1 swimming pathway tracking for Life OS. Manages swim times, nutrition protocol (kosher keto), recruiting outreach, and rival comparison. Events: 50/100/200 Free, 100 Fly, 100 Back.4---5
6---
7name: michael-d1-swimming
8description: Michael Shapira's D1 swimming pathway tracking for Life OS. Manages swim times, nutrition protocol (kosher keto), recruiting outreach, and rival comparison. Events: 50/100/200 Free, 100 Fly, 100 Back. SwimCloud ID: 3250085. Use when tracking swim performance, analyzing times, managing nutrition, planning recruiting, or comparing against rivals (Soto PI:47, Gordon PI:90, Domboru PI:102).
9---
10
11# Michael Shapira D1 Swimming
12
13## Athlete Profile
14
15- **Name:** Michael Shapira
16- **DOB:** July 22, 2009 (16 years old)
17- **School:** Satellite Beach High School, Class of 2027
18- **SwimCloud ID:** 3250085
19- **Primary Events:** 50 Free, 100 Free, 200 Free, 100 Fly, 100 Back
20- **Course:** Primarily SCY (Short Course Yards)
21
22## D1 Time Standards (SCY)
23
24| Event | D1 Min | Michael Current | Gap |
25|-------|--------|-----------------|-----|
26| 50 Free | 20.00 | TBD | TBD |
27| 100 Free | 44.00 | TBD | TBD |
28| 200 Free | 1:36.00 | TBD | TBD |
29| 100 Fly | 48.00 | TBD | TBD |
30| 100 Back | 48.00 | TBD | TBD |
31
32## Verified Rivals
33
34| Name | SwimCloud ID | Power Index | Primary Events |
35|------|--------------|-------------|----------------|
36| Soto | 2928537 | 47 | Sprint Free |
37| Gordon | 1733035 | 90 | IM, Distance |
38| Domboru | 1518102 | 102 | Sprint Free |
39
40## Nutrition Protocol
41
42Following Michael Andrew's kosher-adapted keto diet:
43
44### Monday-Thursday (Strict Keto)
45- **Macros:** 75% fat, 20% protein, 5% carbs
46- **Breakfast:** Eggs, avocado, kosher salmon
47- **Lunch:** Salad with olive oil, grilled chicken
48- **Dinner:** Steak/fish, non-starchy vegetables
49- **Snacks:** Nuts, cheese, olives
50
51### Friday-Sunday (Moderate for Shabbat)
52- **Allowed:** Challah, moderate carbs with Shabbat meals
53- **Target:** <100g carbs/day
54- **Hydration:** Maintain electrolytes
55
56### Pre-Race Protocol
57- 48 hours out: Standard keto
58- 24 hours out: Light carb load if major meet
59- Morning of: Easy digestible protein + minimal carbs
60
61## Recruiting Timeline (Class of 2027)
62
63| Date | Milestone |
64|------|-----------|
65| Jan 2025 | NCAA ID registration |
66| Spring 2025 | Unofficial visits begin |
67| Summer 2025 | Camp attendance |
68| Sep 2025 | Official contact allowed |
69| Nov 2025 | Official visits |
70| Spring 2026 | Commit window |
71
72## SwimCloud Data Parsing
73
74```python
75def parse_swimcloud_times(swimmer_id: str = "3250085") -> dict:
76 """Parse latest times from SwimCloud."""
77 url = f"https://www.swimcloud.com/swimmer/{swimmer_id}/"
78 # Implementation uses requests + BeautifulSoup
79 # Returns: {'50 Free': 22.45, '100 Free': 49.87, ...}
80```
81
82## Logging to Supabase
83
84Log times to `michael_swim_times` table:
85
86```python
87def log_swim_time(event: str, time: float, meet: str, is_pb: bool):
88 supabase.table('michael_swim_times').insert({
89 'date': datetime.now().date(),
90 'event': event,
91 'time_seconds': time,
92 'time_formatted': format_swim_time(time),
93 'meet_name': meet,
94 'course': 'SCY',
95 'is_pb': is_pb
96 }).execute()
97```
98
99## Progress Tracking
100
101### Improvement Metrics
102```sql
103SELECT
104 event,
105 MIN(time_seconds) as best,
106 MAX(time_seconds) as worst,
107 AVG(time_seconds) as average,
108 COUNT(*) as races
109FROM michael_swim_times
110WHERE date > NOW() - INTERVAL '6 months'
111GROUP BY event;
112```
113
114### PB History
115```sql
116SELECT event, time_formatted, meet_name, date
117FROM michael_swim_times
118WHERE is_pb = true
119ORDER BY date DESC;
120```
121
122## Meet Schedule
123
124Track upcoming meets in `family_events` table:
125- Harry Meisel: Dec 13-14, 2025
126- State Championships: TBD
127- Sectionals: TBD
128
129## References
130
131- `references/d1-cut-times.md` - Complete D1/D2/D3 standards
132- `references/rivals-analysis.md` - Detailed rival comparison
133- `references/recruiting-contacts.md` - Coach contact database
134- `data/` - Historical times and meet results