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). Anything beyond that spilled into sleep or weekends, so I guarded the cap.
- I tracked every commitment in three places: Google Calendar (time blocks), Notion (tasks + Eisenhower view), and Obsidian (journaling + energy audits). If it didn’t show up in all three, it usually didn’t happen.
- Automation + templates saved roughly 8–10 hrs/week (GitHub Actions deploys, README templates, VS Code snippets). Still, I’m the bottleneck; when I skipped rest, quality dipped immediately.
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.
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.
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.