Balancing School, Work, and Side Projects: Strategies for Sustainable Productivity
Context: Final year of my Web Development B.S. (Oct 2025 grad), AWS Cloud Support internship, and a rotating set of portfolio projects (Car-Match, Triangle Shader Lab, CheeseMath). No paid SWE role yet—this is a student playbook.
AI assist: ChatGPT helped outline the sections and reword calendar notes into readable prose. I fed it real data from Google Calendar, Notion, Apple Health, and Obsidian before editing everything on 2025-10-12.
Status: Honest retrospective, not a productivity gospel. The numbers below are personal logs, not company KPIs.
Reality snapshot
- Weekly time budget averaged 55–60 hrs (25 hrs school, 20–25 hrs internship, 10–12 hrs portfolio). Beyond that, sleep or weekends took the hit.
- Tracked everything in Google Calendar (blocks), Notion (tasks/Eisenhower), Obsidian (journal/energy audits). If it wasn’t in all three, it usually didn’t happen.
- Automation/templates saved 8–10 hrs/week (GitHub Actions deploys, README templates, VS Code snippets). When I skipped rest, quality dipped immediately.
- Metrics I watched: sleep (Apple Health/Whoop), missed blocks vs planned, and “stress red flags” (back-to-back late nights, >20% blocks missed).
Table of contents
- Weekly operating system
- Tooling + automation stack
- Burnout prevention habits
- Cross-discipline lessons
- Outcomes (with honest caveats)
- Gaps & next steps
- Interview-ready stories
Weekly operating system
Sunday reset (60–90 min)
- Review commitments: peek at Canvas deadlines, internship sprint board, Netlify deploy queue.
- Three priorities rule: pick one academic deliverable, one internship milestone, one portfolio goal. Everything else is optional.
- Time block: drop those priorities (and recovery time) onto Google Calendar. Use distinct colors per area.
- Buffer: leave 20–30 minute gaps between focus blocks. If something overruns, I flex there instead of cannibalizing sleep.
- Reality check: compare plan vs last week’s execution in Obsidian. If I missed >20% of blocks, shrink this week’s commitments before Monday.
Daily cadence
- 06:30–08:00 – Deep work (course labs, internship prep, or tricky code). Phone stays in “Focus” mode.
- 09:00–17:00 – Internship hours. Notes live in
notes/aws-internship/daily.md. When the shift ends I close Slack, update the Kanban, and log a one-line retro. - 18:00–20:00 – Portfolio or class group projects. I stop when the block ends—even if TODOs remain—so I can journal, stretch, and eat something that isn’t instant ramen.
- 21:00 – Shutdown ritual (James Clear-style): review tomorrow’s blocks, jot lessons in Obsidian, queue GitHub drafts if needed, then read fiction until lights out.
Tooling + automation stack
| Tool | Purpose | Notes |
|---|---|---|
| Google Calendar | Time blocking | Color-coded (blue = school, green = internship, yellow = portfolio, purple = recovery). Shared with accountability partner weekly. |
| Notion | Task + Eisenhower board | Filters by course/internship/project. “Delegated” means “park until we talk about it.” |
| Obsidian | Journal + energy audits | Template logs sleep, mood (1–5), highlights, friction. Charts in Dataview let me spot burnout before it hits. |
| GitHub Actions | Automated deploys/tests | Keeps Netlify/GitHub Pages builds off my plate; logs errors to Slack if something breaks. |
| CLI scripts | Repo scaffolding | scripts/new-post.sh, scripts/branch.sh, etc., prevent rabbit holes when I create new work. |
| Apple Health + Whoop | Sleep/stress signals | I export weekly CSVs to Obsidian. If sleep dips below 7 hrs for three nights, I trim tasks immediately. |
Burnout prevention habits
- Energy audit Fridays: Rate mental/physical energy (1–5). Anything ≤2 triggers a lighter weekend schedule and “no new projects” rule.
- Accountability partner: Another Full Sail student reviews my Sunday plan. If it looks unrealistic, they call it out. I do the same for them.
- Device-free nights: Minimum one per week (usually Wednesday). No code, no socials, just a walk or analog hobby. Apple Health screenshots keep me honest.
- Quarterly PTO days (even as a student): Once a quarter I mark a weekday as “admin day”—handle doctors, errands, or nothing. If internships can plan maint windows, so can I.
- Sleep guards: If sleep <7 hours for three nights, I cancel/trim tasks; if heart rate variability tanks (Whoop), I skip intense work blocks.
Cross-discipline lessons
- Army medic triage → task triage: Stabilize critical items first (due this week, or block others). “Nice to haves” move to the backlog until capacity returns.
- Logistics mindset: Always prep “Plan B” and “Plan C” for labs, devices, or teammates flaking. Spare laptop charger and offline docs saved me multiple times.
- Empathetic communication: Weekly update email (professors/intership mentors) + Loom walkthroughs for group projects avoided last-minute panic.
Outcomes (with honest caveats)
- Academics: Stayed on track for Oct 2025 graduation (current GPA ~3.8). Two assignments slipped, but I owned it early and negotiated new dates.
- Internship: Met every lab requirement, presented capstone on time, and captured a handbook-worth of runbooks. Still no production pager duty experience.
- Portfolio: Shipped major honesty updates (Car-Match, Triangle Shader Lab, CheeseMath). Skipped two earlier goals (public CI template, bigger Zig post) to keep sleep intact.
- Wellness: Average sleep 7h05m (Apple Health). Stress flagged red twice; both times correlated with ignoring device-free nights. Lesson learned.
- Compromises: “No weekend work” is still aspirational; I broke it 2/4 weekends when deadlines collided. Calling that out helps me plan better buffers.
Gaps & next steps
- Add habit tracking + rolling averages to Notion so I don’t rely on manual CSV imports.
- Experiment with Pomodoro for late-night study blocks (current approach drifts after 30 minutes).
- Share this template with younger cohorts; maybe turn it into a Notion kit so others don’t start from scratch.
- Build a “no weekend work” rule at least once per month. Still a work in progress.
- Publish a downloadable Sunday reset checklist + daily shutdown ritual so others can reuse it.
- Add a small “red flag” widget (sleep <7h, stress marker, >20% blocks missed) that tells me to cut scope automatically.
Interview-ready stories
- Time triage under load: Balanced Canvas deadlines, internship labs, and portfolio by cutting scope and communicating early—shows prioritization and honesty.
- Energy audit and recovery: Noticed burnout signals, enforced device-free night, sleep recovered, and quality improved—demonstrates self-management.
- Automation saves: Set up GitHub Actions deploys/tests to reclaim 8–10 hours weekly—proof of making tools work for me, not the other way around.
- Communication loops: Weekly updates to professors/mentors prevented surprises; mirrors real-world stakeholder updates.