The Plan
A 12-month staged build, $350/month max, emergency fund untouched.
A staged build, twelve months long, designed to respect cash flow and protect the emergency fund. The plan validates the use case on existing hardware before the new PC arrives — and refuses to spend money the validation hasn't earned.
The Five Operating Principles
- $350/mo maximum financial commitment — non-negotiable
- Emergency fund stays untouched (your 3-month buffer is sacred)
- Maximum 2 hard credit pulls over 12 months (Microcenter + Best Buy)
- No deferred-interest term we can't pay off in cash flow
- Validate use case on Optiplex first — plan serves you, not vice versa
Month-by-Month
Risk Register & Mitigations
Local LLMs
Models, tasks, and validation protocols for clinical pharmacy and beyond.
The headline rule of local language models: capability is gated by VRAM. Everything else follows from this. Choose models that fit your hardware, validate them ruthlessly before trust, and let the GPU upgrade path open richer options later.
Model Catalog
VRAM shown as Q4 / Q8 GB. Stars rate clinical accuracy, coding, reasoning, and speed (5 = best).
| Model | Size | VRAM (Q4/Q8) | Clinical | Coding | Reasoning | Speed | Notes |
|---|---|---|---|---|---|---|---|
| Qwen3 14B general |
14B | 9 / 16 | ●●●●○ | ●●●●○ | ●●●●○ | ●●●●● | Excellent generalist. Q8 fits on 16GB cards. Strong instruction following. |
| Qwen3 32B flagship |
32B | 20 / 36 | ●●●●● | ●●●●● | ●●●●● | ●●●○○ | Near-Sonnet quality for many tasks. Needs 24GB+ VRAM at Q4. Your target post-upgrade. |
| Qwen2.5-Coder 32B coding |
32B | 20 / 36 | ●●○○○ | ●●●●● | ●●●●○ | ●●●○○ | The coding workhorse. Matches GPT-4 on many code benchmarks. Worth waiting for 24GB+ VRAM. |
| DeepSeek R1 distilled 14B reasoning |
14B | 9 / 16 | ●●●●○ | ●●●●○ | ●●●●● | ●●●●○ | Visible chain-of-thought. Great for DDx exercises — you can audit reasoning. |
| DeepSeek R1 32B reasoning |
32B | 20 / 36 | ●●●●● | ●●●●○ | ●●●●● | ●●●○○ | The reasoning king at 32B. Visible thinking, strong DDx capabilities. |
| Devstral 24B coding |
24B | 14 / 26 | ●●○○○ | ●●●●● | ●●●●○ | ●●●●○ | Agentic coding specialist. Edits files, runs commands. Pairs with VS Code. |
| Gemma 3 27B general |
27B | 17 / 30 | ●●●●○ | ●●●○○ | ●●●●○ | ●●●○○ | Strong biomedical knowledge from Google. Tight fit on 16GB but doable at Q3. |
| Gemma 4 E4B small-fast |
4B-effective | 3 / 5 | ●●●○○ | ●●●○○ | ●●●○○ | ●●●●● | Surprisingly capable for size. Got vancomycin AUC right in your prior LM Studio testing. |
| Phi-4 14B reasoning |
14B | 9 / 16 | ●●●○○ | ●●●●○ | ●●●●● | ●●●●○ | Microsoft's analytical model. Excellent for structured reasoning, math, logic. |
| MedGemma 4B medical |
4B | 3 / 5 | ●●●●○ | ●○○○○ | ●●●○○ | ●●●●● | Medical-specific. Multimodal (images). Based on Gemma 3, so may miss recent guidelines. |
| Llama 3.3 70B flagship |
70B | 42 / 75 | ●●●●● | ●●●●○ | ●●●●○ | ●●○○○ | Requires 48GB+ VRAM (dual GPU or 5090). The headline 'datacenter at home' model. |
Task Library — Clinical Workflows
Local LLMs are thinking partners, never truth sources. Every clinical output gets verified against Lexicomp, UpToDate, Sanford Guide, or current guidelines. Build verification into the workflow as a non-negotiable step.
Framework: Visible reasoning lets you audit chain. Use as thinking partner, never as decision tool.
Example: 65yo M, new DOE + LE edema. Walk through DDx considering HF, PE, anemia, renal, hepatic. Audit your own reasoning against model's.
Framework: Build deterministic calculator. LLM helps explain results to colleagues.
Example: Bayesian first-order PK estimation. ALWAYS deterministic math, never LLM math.
Framework: RAG over authoritative source. LLM synthesizes, source provides facts.
Example: Pull DailyMed JSON for two drugs, feed to model, ask for synthesis with citations.
Framework: LLM drafts at target reading level, YOU verify and adjust.
Example: 'Explain warfarin INR monitoring at 6th grade reading level' → review, edit, give to patient.
Framework: Feed full paper, request structured extraction. Verify quotes against source.
Example: 10 RCTs on SGLT2i in HFrEF → extract: trial, n, intervention, primary endpoint, NNT, key adverse events.
Framework: Local-only processing. Never send PHI to cloud.
Example: Replace names/MRNs/dates with placeholders for case-based teaching.
Framework: Generate Socratic questions, then verify mechanism explanations against Goodman & Gilman.
Example: 'Generate 5 progressively harder questions on beta-blocker mechanism' → use for student session.
Framework: RAG over your institution's antibiogram + IDSA guidelines.
Example: 'For CAP in this patient with these allergies and renal function, what does our guideline recommend?'
Task Library — Coding
Framework: Describe project, get structure + boilerplate. Always review before running.
Example: FastAPI + SQLite vancomycin TDM webapp → full skeleton with routes, models, tests.
Framework: Paste function, request refactor with explanation. Run tests after.
Example: Turn this 200-line procedural script into clean class-based design.
Framework: Paste error + relevant code. R1's thinking shows you the diagnostic path.
Example: 'Why does my Bayesian PK calculation give negative volumes?' → R1 walks the math.
Framework: Paste function, request pytest test cases including edge cases.
Example: Generate tests for vancomycin loading dose calculator including renal extremes.
Framework: Describe schema + desired output. Verify on sample data before production.
Example: Pivot pharmacy dispensing log into monthly DDDs per ward.
Framework: Function → docstring. Codebase → README. Always edit for accuracy.
Example: Generate API documentation for your TDM tool with examples.
Task Library — Research
Framework: Describe research question → get MeSH terms + search string.
Example: 'Vancomycin AUC vs trough monitoring outcomes in MRSA bacteremia' → complete PubMed query.
Framework: PDF → structured summary (background, methods, results, limitations, take-home).
Example: Summarize NEJM HF trial with focus on subgroup analyses.
Framework: Visible reasoning catches flaws step-by-step.
Example: Critique this RCT's randomization, blinding, and analysis plan.
Framework: RAG over your notes. Ask questions across your accumulated knowledge.
Example: 'Show me everything I've written about vancomycin PK and synthesize key principles.'
Task Library — Automation
Framework: Describe target site + data needed → working scraper. Always respect robots.txt.
Example: Daily FDA drug shortage updates → JSON for tracking.
Framework: LLM tags incoming emails by category, urgency. Local = privacy.
Example: CME reminders, work emails, personal, newsletters → auto-foldered.
Framework: Drop PDFs in folder → auto-sorted by content.
Example: Downloaded paper goes to /research/, drug monograph to /clinical/, etc.
Framework: Cron job pulls feeds, LLM summarizes, emails you at 6 AM.
Example: Top 5 clinical pharmacy headlines + 3 tech headlines, 200 words total.
Install Hub — One-Copy Setup Commands
Every command below is tested on macOS (Apple Silicon + Intel) and Ubuntu 22.04+. Click copy on any block.
Ollama — Run any model in one line
The fastest path to local LLMs. Handles downloads, GGUF conversion, and an OpenAI-compatible API on port 11434.
# Install (macOS + Linux)
curl -fsSL https://ollama.ai/install.sh | sh
# Pull models
ollama pull qwen3:14b
ollama pull deepseek-r1:14b
ollama pull devstral
# Run interactively
ollama run qwen3:14b
# List downloaded models
ollama list
# API test
curl http://localhost:11434/v1/models
LM Studio — GUI + headless API server
Best for exploring models visually. Exposes an OpenAI-compatible server on port 1234.
# macOS (Homebrew)
brew install --cask lm-studio
# Or download: lmstudio.ai
# Headless CLI server (no GUI needed)
lms load qwen3-14b-instruct \
--context-length 32768 \
--gpu max
lms status # confirm server on :1234
# Test
curl http://localhost:1234/v1/models
Open WebUI — ChatGPT UI for Ollama
Full-featured chat interface with RAG, image gen, plugins, and user management. Connects to Ollama automatically.
docker run -d \
--restart unless-stopped \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:main
# Visit http://localhost:3000
# First launch creates admin account
llama.cpp — Low-level, maximum control
Build from source for Metal (macOS) or CUDA acceleration. Foundation under Ollama.
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# macOS Metal (Apple Silicon or AMD)
cmake -B build -DGGML_METAL=ON
cmake --build build --config Release -j$(nproc)
# Run a model
./build/bin/llama-cli \
-m models/qwen3-14b-q8.gguf \
-n 512 \
-p "Explain vancomycin AUC monitoring"
vLLM — Production inference (CUDA)
OpenAI-compatible API server with PagedAttention for high throughput. Requires Python + NVIDIA GPU.
pip install vllm
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen2.5-14B-Instruct \
--dtype float16 \
--gpu-memory-utilization 0.85 \
--port 8000
# Test
curl http://localhost:8000/v1/models
AnythingLLM — All-in-one local RAG
Connect PDFs, websites, and databases to your local models. Docker server or native desktop app.
export STORAGE=$HOME/anythingllm
mkdir -p $STORAGE
docker run -d \
-p 3001:3001 \
-v $STORAGE:/app/server/storage \
--name anythingllm \
mintplexlabs/anythingllm
# Visit http://localhost:3001
Model Pull Reference — Matched to Your VRAM
# Current Optiplex (integrated / low VRAM)
ollama pull phi4:mini # 3.8B — fast, capable
ollama pull qwen3:4b # Excellent for size
# After 16GB VRAM upgrade
ollama pull qwen3:14b # Primary daily driver
ollama pull deepseek-r1:14b # Reasoning + visible CoT
ollama pull gemma3:12b # Strong biomedical knowledge
# RTX 5080 target (16GB VRAM)
ollama pull qwen3:32b # Near-Sonnet quality
ollama pull devstral # Best open coding agent
ollama pull qwen2.5-coder:32b # Code specialist
# Run with system prompt
ollama run qwen3:14b --system "You are a clinical pharmacy AI. Be precise, cite evidence levels."
Watch: Getting Started with Local LLMs
The Generalized Vancomycin Test
Every clinical model gets tested on facts where you know the answer cold.
Protocol
- 1. Pick 5 questions where YOU know the right answer (vanco AUC, warfarin INR ranges, etc.)
- 2. Ask the model each. Record exact response.
- 3. Grade: pass/fail/dangerous (confident wrong is worst)
- 4. If 4/5 or 5/5 pass → safe for THINKING PARTNER role with verification
- 5. If 3/5 → useful for non-clinical tasks only
- 6. If <3/5 → uninstall, save space
- 7. Re-test quarterly (models update, drift happens)
Hardware
Component deep dives, spec literacy, and the principles behind choosing well.
Every component answers a different question. The GPU answers how much can I run. The motherboard answers what can I add later. The PSU answers will this be safe in five years. Get the literacy right once and the choices become obvious.
GPU — The Most Important Component for LLM+Gaming
Why it matters: For LLMs: VRAM is everything (model fit). For gaming: raw compute + ray tracing. The 5080 sits at the sweet spot for both — for now.
Spec Literacy
AIB Decoder Ring
Current Landscape
| Part | Price | Notes |
|---|---|---|
| RTX 5050 entry vram: 8 · llmCeiling: 8B Q4 only · gaming: 1080p · priceMSRP: 249 |
Skip for your use case — VRAM too low for serious LLM. | |
| RTX 5060 Ti 16GB budget vram: 16 · llmCeiling: 14B Q4, 22B Q3 · gaming: 1080p/1440p · priceMSRP: 429 |
Surprise hero. Same VRAM as 5080 at half the price. Weaker compute but FITS the models. | |
| RTX 5070 midrange vram: 12 · llmCeiling: 12B Q4 · gaming: 1440p · priceMSRP: 549 |
12GB is awkward for LLMs. Skip in favor of 5060 Ti 16GB if budget. | |
| RTX 5070 Ti midrange-high vram: 16 · llmCeiling: 14B Q8 / 22B Q4 · gaming: 1440p high · priceMSRP: 749 |
Strong middle ground. Often $50-100 cheaper than 5080 with 80% performance. | |
| RTX 5080 high-end vram: 16 · llmCeiling: 14B Q8 / 24B Q4 / 27B Q3 · gaming: 1440p ultra / 4K high · priceMSRP: 999 |
Your locked target. Best new-card balance for hybrid use. | |
| RTX 5080 Super (rumored) halo-mid vram: 24 · llmCeiling: 32B Q4 comfortably · gaming: 1440p/4K · priceMSRP: 1199 |
Rumored late 2026. Would change everything — wait if you can. | |
| RTX 5090 halo vram: 32 · llmCeiling: 32B Q8 / 70B Q3 · gaming: 4K ultra everything · priceMSRP: 1999 |
The dream. Street price $2900-3900 currently. Wait for normalization. | |
| RTX 4090 (used) previous-halo vram: 24 · llmCeiling: 32B Q4 with context · gaming: 4K ultra · priceMSRP: $1500-2000 used |
If you find one ~$1500, strongly consider. 24GB is the magic number. | |
| RTX 3090 (used) older-halo vram: 24 · llmCeiling: 32B Q4 / 70B Q2 · gaming: 1440p/4K capable · priceMSRP: $700-900 used |
The local LLM community's darling. 24GB VRAM for cheap. Gaming weaker but adequate. | |
| RX 7900 XTX (AMD) high-end-AMD vram: 24 · llmCeiling: 32B Q4 with ROCm · gaming: 4K capable · priceMSRP: 999 |
AMD path. ROCm support improving but Linux-mostly. Gaming great, LLM workflow rockier. |
- Ex-mining cards (look for: dust caked on backplate, missing original cooler, 'tested for 8 hrs' rather than 'lightly used')
- Cards without original box/receipt if buying used at significant savings
- AIBs from no-name brands you've never heard of
- Anything advertised as 'mining BIOS flashed' or 'undervolt profile included'
- Sellers who won't let you stress test before purchase (in-person buys)
Watch: RTX 5080 Build Walkthroughs
CPU — Matters Less for LLMs, More for Gaming
Why it matters: Modern LLM inference is GPU-bound. CPU only matters for: (1) gaming 1% lows, (2) CPU offload when models exceed VRAM, (3) general system responsiveness.
Spec Literacy
Current Landscape
| Part | Price | Notes |
|---|---|---|
| Ryzen 7 9700X cores: 8P/16T · clock: 4.7/5.5 GHz · useCase: Best budget gaming + light productivity. No AIO required. · note: Sweet spot if budget tight. |
$280 | |
| Ryzen 7 9800X3D cores: 8P/16T · clock: 4.7/5.2 GHz · useCase: Gaming king. Best 1% lows in every modern game. · note: If gaming is #1 priority, this is the answer. |
$480 | |
| Ryzen 9 9900X cores: 12P/24T · clock: 4.4/5.6 GHz · useCase: More cores than 9700X but no X3D cache. Productivity middle ground. · note: Often skipped — 9700X or 9950X are usually better picks. |
$430 | |
| Ryzen 9 9950X cores: 16P/32T · clock: 4.3/5.7 GHz · useCase: Productivity beast. CPU LLM offload, video, compiling. Gaming = 95% of 9800X3D. · note: Your locked choice. Best balance for your polymath workloads. |
$489 | |
| Ryzen 9 9950X3D cores: 16P/32T · clock: 4.3/5.7 GHz · useCase: Gaming AND productivity king. Only chip without compromise. · note: If you can stretch, this is the no-compromise pick. |
$659 | |
| Intel Core Ultra 7 265K cores: 8P+12E/24T · clock: 3.9/5.5 GHz · useCase: Intel's current mid. Underwhelming vs AMD this gen. · note: Skip — AMD wins this generation across price points. |
$379 | |
| Intel Core Ultra 9 285K cores: 8P+16E/24T · clock: 3.7/5.7 GHz · useCase: Intel flagship. Slower than 9950X in most tests. · note: Skip unless Intel ecosystem reasons. |
$589 |
Ryzen 9 9950X for the locked build (your polymath use case). Ryzen 7 9800X3D if you pivot to gaming-first. Skip Intel this generation.
RAM — Get Enough, Don't Overpay for Speed
Why it matters: Need >2× model size in system RAM for comfortable LLM operation. For LLMs that fit on GPU, RAM matters less. For gaming, speed barely matters above DDR5-6000.
Spec Literacy
Current Landscape
| Part | Price | Notes |
|---|---|---|
| G.Skill Trident Z5 Neo 64GB DDR5-6000 CL30 |
$430 | AMD EXPO native. The community-favorite kit. Your locked choice. |
| Corsair Vengeance 64GB DDR5-6000 CL30 |
$410 | Solid alternative. EXPO certified. Lower-profile heatsinks (cooler clearance friendlier). |
| Crucial Pro 64GB DDR5-5600 |
$340 | Budget pick. 5600 is fine, just leaves perf on table. CL40+ tends to feel sluggish. |
| G.Skill Trident Z5 Neo 96GB DDR5-6400 |
$720 | If you want headroom for CPU LLM offload of 70B models. Overkill for most. |
| Kingston Fury Beast 128GB (4×32GB) DDR5-5600 |
$580 | 4-DIMM kits are tough on AM5. Often only runs at 4800. Avoid if possible. |
Buy 2×32GB now. Mobo has 4 slots. If 128GB ever needed (CPU offload of 70B+), add another 64GB kit later — though mixing kits at full speed is dicey on AM5. Better path: sell first kit, buy 2×64GB if available by then.
Storage — Speed Matters Less Than You Think
Why it matters: For games: PCIe 4.0 NVMe is fine, PCIe 5.0 wasted money. For LLM model loading: faster = better but you load once per session. For OS: any NVMe is plenty.
Spec Literacy
Current Landscape
| Part | Price | Notes |
|---|---|---|
| WD Black SN850X 2TB interface: PCIe 4.0 |
$250 | Reliable, fast, no thermal issues. Your OS+games drive. |
| Samsung 990 Pro 2TB interface: PCIe 4.0 |
$280 | Slightly faster than SN850X. Samsung Magician software ecosystem. Your models drive. |
| Crucial T700 2TB interface: PCIe 5.0 |
$380 | Runs hot. Need beefy heatsink. Gaming benefit: marginal. |
| Samsung 9100 Pro 2TB interface: PCIe 5.0 |
$450 | Fastest consumer drive. Overkill for your use case. |
| Crucial P3 Plus 4TB interface: PCIe 4.0 (DRAM-less) |
$280 | Budget bulk storage. Slow sustained writes. Good for cold model storage. |
| WD Black SN770 2TB interface: PCIe 4.0 (DRAM-less) |
$180 | Cheap. OK for boot drive. Skip for heavy write workloads. |
Two-drive setup: 2TB for OS+games (SN850X), 2TB dedicated for AI models (990 Pro). Add 4TB+ HDD later for cold storage / Plex library.
PSU — Buy Once, Cry Once
Why it matters: Cheap PSUs kill components. Good PSUs last 10 years across multiple builds. Size for FUTURE GPU upgrade, not just today's parts.
Spec Literacy
Current Landscape
| Part | Price | Notes |
|---|---|---|
| Corsair HX1200i premium wattage: 1200 · efficiency: Platinum/ATX 3.1 |
$320 | Your locked choice. 12-yr warranty. Quiet. iCUE software for monitoring. |
| Corsair RM1000x great wattage: 1000 · efficiency: Gold/ATX 3.1 |
$200 | Excellent value. 10-yr warranty. If single-GPU lifetime, this is enough. |
| Seasonic PRIME TX-1300 ultra wattage: 1300 · efficiency: Titanium/ATX 3.1 |
$440 | The gold standard. 12-yr warranty. Premium price. |
| Seasonic Focus GX-1000 great wattage: 1000 · efficiency: Gold/ATX 3.1 |
$190 | Seasonic quality at midrange price. 10-yr warranty. |
| EVGA Supernova G7 1000W great wattage: 1000 · efficiency: Gold/ATX 3.1 |
$180 | EVGA quality (made by Super Flower). 10-yr warranty. |
| Thermaltake / generic 1000W avoid wattage: 1000 · efficiency: Gold |
$90 | DO NOT. Cheap caps, weak protection, voids GPU warranty when they fail. |
Brands worth buying: Corsair (HX/RM/SF), Seasonic (PRIME/Focus), EVGA (G/P series, Supernova line), be quiet! (Dark Power, Straight Power), Super Flower (Leadex). Avoid: anything you've never heard of, anything under $80 at 1000W.
Motherboard — The Platform Decision
Why it matters: Hardest part to upgrade later. Locks in CPU socket, RAM standard, PCIe gen, USB version. Buy for 5 years.
Spec Literacy
Current Landscape
| Part | Price | Notes |
|---|---|---|
| ASUS ProArt X870E-Creator WiFi creator chipset: X870E |
$510 | Your locked choice. Dual USB4, dual 5G LAN, dual PCIe 5.0 x16 (x8/x8 split). Creator board = workstation tier without workstation price. |
| MSI MEG X870E Godlike halo chipset: X870E |
$1099 | Halo board. Most features. Massive price premium for limited real benefit. |
| ASUS ROG Strix X870E-E gaming-premium chipset: X870E |
$540 | Gaming-focused premium. Excellent VRMs. RGB heavy. |
| MSI MAG X870 Tomahawk WiFi mid chipset: X870 |
$330 | Best value X870. Single PCIe 5.0 slot only — no dual GPU split. |
| Gigabyte B850 Aorus Elite WiFi budget chipset: B850 |
$220 | Solid mid-budget. Good VRMs. No dual GPU. |
| ASRock B650 Pro RS minimum chipset: B650 |
$150 | Cheapest viable. 9950X is at VRM limits — fine for stock, no OC headroom. |
Pay for the platform if you plan upgrades. ProArt X870E preserves dual-GPU + USB4 + 5-year platform life. Stepping down to B650 saves $300 but kills the upgrade path.
Cooling — Adequate is Better Than Maximum
Why it matters: 9950X needs serious cooling under sustained load. LLM training spikes CPU. Gaming spikes GPU. Both spike together = thermal limits matter.
Spec Literacy
Current Landscape
| Part | Price | Notes |
|---|---|---|
| Arctic Liquid Freezer III 360 A-RGB value-king type: AIO 360mm |
$130 | Best value AIO. Beats $200 competitors in tests. Your locked choice. |
| Noctua NH-D15 G2 premium-air type: Air |
$150 | Best air cooler made. Massive — check clearance with tall RAM. Quieter than any AIO. |
| Corsair iCUE H150i Elite LCD XT premium-gimmick type: AIO 360mm |
$280 | LCD screen on pump = gimmick. Pay for the looks. |
| Phanteks T30 + Glacier One 360 premium type: Custom-grade AIO |
$250 | T30 fans are legendary. Diminishing returns vs Arctic at 2× price. |
| DeepCool LT720 value type: AIO 360mm |
$130 | Good Arctic alternative. Slightly louder. Same performance tier. |
| Thermalright Phantom Spirit 120 SE budget type: Air |
$40 | Insane value air cooler. Beats $80 coolers. Adequate for 9700X, marginal for 9950X. |
Case — Airflow > Aesthetics
Why it matters: Bad cases create thermal throttling. Good cases stay cool quietly. Future-proof for dual GPU = full tower with 3-slot GPU clearance.
Spec Literacy
Current Landscape
| Part | Price | Notes |
|---|---|---|
| Fractal Design Define 7 (regular) premium-silent size: Mid-tower (large) |
$200 | Your locked choice. Silent-focused, mesh front available, exemplary build quality. |
| Fractal Design Define 7 XL premium-silent-xl size: Full tower |
$270 | Extra room for dual GPU + radiator + HDDs. Future-proof. |
| Lian Li O11 Dynamic EVO XL showcase size: Full tower |
$230 | Showcase case. Three glass panels. Excellent thermals despite glass. Noisier. |
| Fractal Meshify 2 balanced size: Mid-tower |
$170 | Define 7 with mesh front. Slightly louder, slightly cooler. |
| be quiet! Silent Base 802 premium-silent size: Mid-tower |
$200 | Define 7 competitor. Silence-focused, swappable panels (mesh/closed). |
| Phanteks Eclipse G500A value size: Mid-tower |
$130 | Best value mesh. Solid build, great airflow. |
| NZXT H7 Flow value-clean size: Mid-tower |
$130 | Clean look, good airflow, easy to build in. |
Builds
Five paths to the same goal, with honest trade-offs for each.
Each build represents a coherent answer to a different question. The locked plan answers what's the disciplined path. The used 3090 answers what's the fastest path. The 5090 dream answers what's the no-compromise path. Read each pros/cons honestly — the right build for you is the one whose cons you can live with.
THE LOCKED PLAN — 12-Month Staged
What we agreed on. RTX 5080, 64GB, ProArt, staged purchase.
Parts
| Category | Part | Price |
|---|---|---|
| CPU | Ryzen 9 9950X | $489 |
| Cooler | Arctic Liquid Freezer III 360 | $130 |
| Mobo | ASUS ProArt X870E-Creator WiFi | $510 |
| RAM | G.Skill Trident Z5 Neo 64GB DDR5-6000 CL30 | $430 |
| GPU | RTX 5080 16GB (MSI/Zotac) | $999 |
| Storage 1 | WD Black SN850X 2TB | $250 |
| Storage 2 | Samsung 990 Pro 2TB | $280 |
| PSU | Corsair HX1200i 1200W Platinum | $320 |
| Case | Fractal Design Define 7 | $200 |
| Fans | Arctic P14 PWM × 3 | $35 |
| UPS | APC Back-UPS Pro 1500VA | $220 |
| OS | Windows 11 Pro | $30 |
- Best long-term flexibility
- Stays within $350/mo
- Validated use case first
- Upgrade path open
- 12 months to complete
- 16GB VRAM ceiling for first year
- Some 'shortage tax' on RAM/storage
Replace 5080 w/ 5090 in 2027 OR add 2nd 5080 for dual-GPU 32GB
USED 3090 — Fast Track Budget
Used RTX 3090 24GB, full build in 4-5 months.
Parts
| Category | Part | Price |
|---|---|---|
| CPU | Ryzen 7 9700X | $280 |
| Cooler | Thermalright Phantom Spirit 120 SE | $40 |
| Mobo | Gigabyte B850 Aorus Elite WiFi | $220 |
| RAM | G.Skill Trident Z5 Neo 64GB DDR5-5600 CL30 | $380 |
| GPU | RTX 3090 24GB (used, eBay/r/HWS) | $750 |
| Storage | WD Black SN850X 2TB | $250 |
| PSU | Corsair RM850x 850W Gold | $150 |
| Case | Phanteks Eclipse G500A | $130 |
| UPS | APC Back-UPS 1000VA | $130 |
| OS | Windows 11 Pro | $30 |
- 32B models run TODAY
- Done in 4-5 months
- Lowest total cost
- Strong used GPU value
- Used GPU risk
- 3090 power-hungry (350W)
- Older platform features
- Gaming weaker than 5080
Replace 3090 w/ 5090 later. Or sell at minimal loss.
5090 DREAM — No Compromise
If money truly weren't a concern. RTX 5090 + 9950X3D + 96GB.
Parts
| Category | Part | Price |
|---|---|---|
| CPU | Ryzen 9 9950X3D | $659 |
| Cooler | Noctua NH-D15 G2 | $150 |
| Mobo | ASUS ProArt X870E-Creator WiFi | $510 |
| RAM | G.Skill Trident Z5 Neo 96GB DDR5-6400 | $720 |
| GPU | RTX 5090 32GB (street price) | $3200 |
| Storage 1 | Samsung 990 Pro 2TB | $280 |
| Storage 2 | Samsung 9100 Pro 4TB | $750 |
| PSU | Seasonic PRIME TX-1300 Titanium | $440 |
| Case | Fractal Define 7 XL | $270 |
| UPS | CyberPower CP1500PFCLCD | $250 |
| OS | Windows 11 Pro retail | $200 |
- No compromises at all
- 70B local models possible
- Future-proof for 3+ years
- 3× your budget
- Doesn't match your monthly cash flow
- Shortage premium ($1200 over MSRP on GPU)
Eventual dual 5090 for true datacenter-at-home
MAC STUDIO M5 MAX — The Apple Alternative
128GB unified memory. Excellent LLM, no gaming.
Parts
| Category | Part | Price |
|---|---|---|
| Whole unit | Apple Mac Studio M5 Max, 128GB unified, 2TB SSD | $4799 |
- Unified memory = 128GB 'VRAM' equivalent
- Silent operation
- Tiny footprint
- Power efficient (200W max)
- Gaming essentially excluded
- Can't upgrade anything ever
- Apple tax on storage/memory
- macOS limits some LLM tooling
None. Sealed unit.
DUAL 5080 FUTURE STATE — Tensor Parallelism
What the locked build evolves into in year 2.
Parts
| Category | Part | Price |
|---|---|---|
| Existing locked build | Everything from locked plan | $3850 |
| GPU 2 | Second MSI/Zotac RTX 5080 16GB (used or new at MSRP) | $800 |
| Cables | Additional 12V-2x6 cables | $30 |
| Fans (heat mgmt) | 2× more case fans for dual GPU heat | $25 |
| Riser cable | PCIe 5.0 riser if vertical mount needed | $145 |
- 32GB combined VRAM for LLMs
- Existing build untouched
- Tensor parallelism in vLLM/llama.cpp
- LLM-only benefit (no gaming dual-GPU)
- Heat management complex
- Two cards = two failure points
Sell pair → single 5090 if desired
Market Intel
Where to buy, what to watch for, when to act.
Patience is the cheapest performance upgrade you can buy. The same RTX 5080 that costs $1,400 in February sells at $999 by May. Knowing the seasonality, the right retailer for each part, and the red flags on used goods can save more money than any single component choice.
Where to Buy New
Best for: CPU+Mobo+RAM bundles, in-stock GPU drops, lowest prices on AMD
Strengths: Bundle discounts ($100-200 off CPU+mobo+RAM), MSRP GPU stock more often than online, No tax in some states, Open-box deals
Weaknesses: Must drive there, Limited locations, Stock varies by store
Saturday morning before 11 AM = best stock. Get on their 'in-stock notifications' list for hot items.
Best for: GPU at MSRP, Apple products, store financing
Strengths: NVIDIA Founders Edition exclusive, 0% financing on store card, Local pickup option, Easy returns
Weaknesses: Higher prices on non-GPU parts, Limited PC component selection
Sign up for My Best Buy Plus during your purchase — free standard returns extended to 60 days.
Best for: PSUs, storage, cases, niche brands
Strengths: Largest PC parts selection, Frequent combo deals, Newegg gift card stacking
Weaknesses: Third-party seller risk (verify 'Shipped & Sold by Newegg'), RMA process can be painful
Filter by 'Shipped & Sold by Newegg' only. Avoid marketplace sellers for important parts.
Best for: Peripherals, cables, accessories, fast shipping
Strengths: Prime shipping, Easy returns, Subscribe-and-save for small parts
Weaknesses: Counterfeit components risk (RAM, SSDs, cables), Mixed warehouse inventory, Higher prices on GPUs/CPUs
Verify 'Ships from and sold by Amazon.com'. Avoid third-party for CPUs/GPUs/storage.
Best for: Workstation parts, professional gear, sales tax-free in many states
Strengths: No sales tax outside NY/NJ, Excellent customer service, Real human chat
Weaknesses: Smaller selection than Newegg, Closes Saturdays for Sabbath
Check B&H first if you're in a no-NY-tax state — savings can be 8-10%.
The Used Market
Used hardware often delivers 80% of the performance at 50% of the cost — but the risk profile changes completely. Vet sellers like you'd vet a patient's history: look for the red flags first.
Best for: Used GPUs, CPUs, RAM at fair prices from PC builders
Strengths: Verified user profiles (heatware), Mod-enforced rules, Mostly honest sellers, PayPal G&S protection
Weaknesses: Karma/comment requirements to post, Negotiation expected, No platform escrow
Rules:
- Always PayPal Goods & Services (NEVER Friends & Family for purchases)
- Check user's r/hardwareswap heatware before buying
- Verify timestamped photos in listing
Use r/hardwareswap_meta searches to check prices. Comment 'PM sent' on listings — quick responders trust faster.
Best for: Used GPUs (with buyer protection), bulk lots, rare parts
Strengths: Strong buyer protection (eBay Money Back Guarantee), Wide selection, Auction snipes can save money
Weaknesses: Mining cards common, Sellers often inflate condition, Returns can be hassled
Rules:
- Only buy from 99%+ feedback sellers
- Look for 'Local pickup' for high-value items
- Filter 'Buy It Now' for fixed prices
Sort 'Sold' listings by date to see TRUE market price. Use eBay alerts for specific models.
Best for: Local pickup, cash deals, full prebuilt PCs
Strengths: Test before buy, No shipping cost or damage, Cash = no fees
Weaknesses: Zero buyer protection, Scammers common, Meeting strangers
Rules:
- ALWAYS meet in public (police station parking lots ideal)
- Bring a laptop with HWInfo/GPU-Z to test on-site
- Cash only, never wire/Zelle/CashApp
Build a quick GPU stress test USB stick: Ubuntu live + glmark2 + nvidia-smi monitoring.
Best for: Same as FB Marketplace — local cash deals
Strengths: Less scam-prone than FB, Established for tech sales
Weaknesses: Declining usage, Same in-person risks
Most active in metro areas. Search 'gaming pc' rather than specific parts for bundle deals.
Best for: Daily curated deals at major retailers
Strengths: Community-vetted deals, Price history context, Hot deals get top-voted
Weaknesses: Deals expire fast, Some posts are affiliate-driven
Subscribe to RSS feed: reddit.com/r/buildapcsales/.rss → pipe to your daily briefing.
Red Flags by Component
Each component has its own failure modes. These are the signals that should make you walk away from a "great deal."
- Heat damage near power connector (browning/melting on 12VHPWR)
- Missing original box (often ex-mining)
- Dust caked deep in fins (sustained 24/7 use indicator)
- Backplate screws stripped (opened repeatedly)
- Seller can't produce purchase receipt for warranty transfer
- Listing says 'works great' but no benchmark numbers
- Bent pins on AM5 (LGA — pins on mobo) or LGA1700 (pins on chip)
- Thermal paste residue still on IHS (lazy seller, but not catastrophic)
- Seller says 'overclocked daily' (degradation risk over time)
- No box / no original packaging
- Heatsink labels peeling (often relabeled cheap RAM)
- Mismatched serial numbers on a 'kit'
- Speed claims don't match SPD chip (verify with CPU-Z screenshot)
- Bent pins on DIMM contacts
- Coil whine reported by seller (unfixable, will only get worse)
- Bulging capacitors visible through vent
- Burning smell ever reported
- Heavy use in mining rig (PSUs degrade hard under sustained 90% load)
- Past 7 years old (cap aging — replace, don't buy used)
- Power-on hours >5000 (check SMART data)
- Used percentage / wear leveling >20%
- Reported uncorrectable errors in SMART log
- No SMART screenshot in listing (deal-breaker)
Seasonality — When to Buy
| Month | Market Behavior |
|---|---|
| January (CES) | New product announcements. Last-gen prices may drop. Don't buy at MSRP for 30 days after CES. |
| February-March | Tax refund season. Demand up. Prices flat. Bad time to buy. |
| April | Post-tax dip. Some sales begin. |
| May-June | Build season starts. Memorial Day sales (last Monday of May). |
| July | Amazon Prime Day (mid-July). Real deals on storage, peripherals. GPU deals rare. |
| August | Back-to-school. Laptop focus, not desktop parts. Some monitor sales. |
| September | New school year. Some component dumps as students sell. |
| October | Pre-holiday slowdown. |
| November | BLACK FRIDAY WEEK. Real GPU/CPU sales. PSUs, cases, storage all discounted. Best buying month. |
| December | Cyber Monday + holiday sales. PSUs and storage continue. GPU stock thin. |
Deal Hunting Tools
- PCPartPicker price tracker (sign up, set alerts on specific parts)
- CamelCamelCamel for Amazon price history
- Slickdeals.net hot deals (PC components forum)
- r/buildapcsales subreddit RSS feed
- Discord servers: r/hardwareswap notifier bots
- Microcenter in-store stock checker (3rd party tools track inventory)
- Newegg Shuffle for GPU drops (lottery system, free to enter)
Ecosystem
Four devices, one architecture, complementary roles.
Each device does what it's best at. They talk to each other. The Optiplex never sleeps and never gets in your way. The MacBook goes where you go. The new PC carries the heavy compute. The iPhone connects you to all of it.
Your 4-Device Architecture
Specs: i7-6700T, 32GB, 1-2TB SSD (upgrade), Intel HD 530
Why: 35W TDP = $5/month electricity for 24/7 uptime. Perfect always-on tier.
Runs:
- Open WebUI (LLM frontend)
- Ollama (small models)
- Plex/Jellyfin
- Home Assistant
- Tailscale exit node
- n8n automation
- Reverse proxy (Caddy)
- Backup service (restic)
- Future: live data fetcher for encyclopedia
Specs: M4, 24GB unified memory, macOS
Why: 24GB unified memory runs 14-30B models surprisingly well. Best mobile LLM machine you can own.
Runs:
- LM Studio / Ollama with MLX
- VS Code
- Browser, daily driver
- Claude API for orchestration
Specs: 9950X, 64GB DDR5, RTX 5080, dual-boot Win+Linux
Why: On when you're using it. Sleeps when you're not. Carries the heavy LLM workload.
Runs:
- Local LLMs at GPU speed (Qwen3 14B-24B)
- Gaming
- Heavy compute when home
- Future: dual GPU, 5090 swap
Why: Universal access to your ecosystem via Tailscale + Open WebUI mobile.
Runs:
- Open WebUI via Tailscale
- Home Assistant mobile app
- Quick LLM queries from anywhere
Networking & Access
| Service | Purpose | Complexity | Cost |
|---|---|---|---|
| Tailscale | Secure remote access to all devices, no port forwarding, works through CGNAT | Easy | Free for personal (up to 100 devices) |
| Caddy reverse proxy | Pretty URLs (ollama.local, plex.local) + automatic HTTPS | Medium | Free |
| Pi-hole / AdGuard Home | Network-wide ad blocking, DNS sinkhole, telemetry blocking | Easy | Free |
| WireGuard (alternative to Tailscale) | Self-hosted VPN if you don't trust 3rd parties | Hard | Free |
| Cloudflare Tunnel | Expose specific services publicly without opening ports | Medium | Free |
Integration Patterns
Open WebUI on Optiplex routes queries to whichever machine has the right model loaded.
Example: Quick question → Optiplex's Qwen 4B. Code task → MacBook's Qwen 14B. Big reasoning task → new PC's 24B.
iPhone hits any service through Tailscale + Open WebUI.
Example: On a coffee shop wifi, ask your local LLM about a clinical question — encrypted to your Optiplex, response stays private.
Optiplex serves files; all devices mount via SMB/NFS.
Example: PDFs of papers stored once on Optiplex; accessible from MacBook for review, new PC for RAG indexing.
Important data on each device → Optiplex (primary backup) → cloud (Backblaze B2 / iDrive / encrypted Drive).
Example: 3-2-1 rule: 3 copies, 2 different media, 1 offsite.
Power Budget
What it costs to run your ecosystem 24/7. At $0.12/kWh national average.
| Device | Idle Draw | Peak Draw | Duty Cycle | Monthly Cost |
|---|---|---|---|---|
| OptiPlex 7050 | 25W | 65W | 24/7 | $2.16 |
| New PC (idle) | 85W | 650W | 8h/day | $2.45 |
| New PC (LLM inference) | — | 450W | 2h/day | $3.24 |
| New PC (gaming) | — | 600W | 1h/day | $2.16 |
| Network gear | 15W | 20W | 24/7 | $1.30 |
| UPS overhead | 10W | — | 24/7 | $0.86 |
| Estimated monthly total | ~$12 | |||
$12/month for a private AI inference server + gaming rig + media server + home automation hub. A single Claude Pro subscription is $20/month. Running your own stack is cheaper than most people think.
Automation
Make your devices earn their keep.
Automation should remove drudgery, not create it. Each one earns its keep only if it saves more time than it cost to build — measured over six months, not six days. The best ones run silently and you forget they exist.
Platforms
Self-hosted workflow automation. Visual node-based editor. 500+ integrations.
Best for: API integrations, scheduled tasks, complex multi-step workflows
Better than Zapier/Make for self-hosted — your data stays local
Home automation hub. Manages smart devices + automations.
Best for: Lights, climate, sensors, cameras, voice assistants
Open ecosystem. Local control. Integrates with everything.
Flow-based programming. Heavier engineering than n8n.
Best for: IoT, MQTT, complex logic flows
When n8n isn't powerful enough
Classic Linux scheduling. Old-school but bulletproof.
Best for: Simple scheduled scripts, backups, data fetching
Zero overhead. No service to manage.
Apple's automation for iPhone.
Best for: Personal automations triggered by location/time/event
Lives where you do. Triggers from Siri, NFC tags, focus modes.
Ten Recipes Worth Building
Flow: n8n: 6 AM cron → fetch FDA drug shortages RSS + PubMed new in your specialties + r/medicine top posts → Qwen 14B summarizes → email to you
Value: 5 min reading instead of 60 min scrolling
Flow: Folder watch on Downloads → Phi-4 classifies (paper/monograph/admin/other) → moves to right folder + extracts metadata to SQLite
Value: Searchable paper library without manual filing
Flow: Before meetings: Shortcut grabs attendees → searches your notes for prior interactions → summary to your Apple Watch
Value: Walk into every meeting prepared
Flow: When you push new code to TDM repo → run test suite with 50 known cases → if any fail, halt deployment + Slack alert
Value: Never ship a TDM bug to production
Flow: Weekly: restic check on Optiplex → if errors, email + push notification. Monthly: actually restore a random file to verify integrity.
Value: Backups you can trust
Flow: Home Assistant: alarm goes off → lights gradient to warm → coffee maker on → news briefing on speaker → blinds open after 10 min
Value: Morning routine that runs itself
Flow: Cron: daily PubMed search for new vancomycin/AUC papers → Qwen summarizes abstracts → markdown file in Obsidian vault → tagged for review
Value: Stay current on YOUR research interests automatically
Flow: Cron: FDA drug shortage JSON pull → diff against yesterday → if formulary drugs affected → Slack + email
Value: Know about shortages before pharmacy meeting
Flow: Home Assistant + smart plugs on Optiplex/PC → daily power consumption → monthly dashboard of what costs what
Value: Know if running LLMs 24/7 is worth the electricity
Flow: iPhone Shortcut: record voice → Whisper transcription → Qwen 14B formats as SOAP note → drops in Drafts app → review/edit/file
Value: Capture clinical observations hands-free
Docker Install Stack — Your Optiplex Server
Complete from-scratch setup. Run these sequentially on a fresh Ubuntu 22.04 installation.
Docker Engine — Ubuntu/Debian
# Install Docker Engine (one-liner)
curl -fsSL https://get.docker.com | sh
# Add your user to docker group
sudo usermod -aG docker $USER
newgrp docker
# Verify
docker run hello-world
docker compose version
Portainer — Web UI for all containers
Manage every container via browser at :9000. Essential for the Optiplex.
docker run -d \
--restart=always \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
--name portainer \
portainer/portainer-ce:latest
# http://optiplex-ip:9000 → set admin password
n8n — Workflow Automation
# docker-compose.yml
services:
n8n:
image: n8nio/n8n
restart: unless-stopped
ports: ["5678:5678"]
volumes:
- n8n_data:/home/node/.n8n
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=changeme
- WEBHOOK_URL=http://optiplex-ip:5678
volumes:
n8n_data:
docker compose up -d
# http://optiplex-ip:5678
Ollama — On the Optiplex (LAN accessible)
# Install on Ubuntu
curl -fsSL https://ollama.ai/install.sh | sh
# Expose on LAN — edit the systemd service
sudo mkdir -p /etc/systemd/system/ollama.service.d
echo '[Service]
Environment="OLLAMA_HOST=0.0.0.0"' | \
sudo tee /etc/systemd/system/ollama.service.d/override.conf
sudo systemctl daemon-reload
sudo systemctl restart ollama
# Now call from MacBook:
# curl http://optiplex-ip:11434/v1/models
Home Assistant — Home Automation
mkdir -p ~/homeassistant/config
docker run -d \
--name homeassistant \
--privileged \
--restart=unless-stopped \
-e TZ=America/New_York \
-v ~/homeassistant/config:/config \
--network=host \
ghcr.io/home-assistant/home-assistant:stable
# http://optiplex-ip:8123
Open WebUI on Optiplex (LAN server)
docker run -d \
--restart unless-stopped \
-p 3000:8080 \
-e OLLAMA_BASE_URL=http://localhost:11434 \
-v open-webui:/app/backend/data \
--network=host \
--name open-webui \
ghcr.io/open-webui/open-webui:main
# MacBook: http://optiplex-ip:3000
# Sign in → full ChatGPT-like UI against your local models
Media Servers
Self-hosted libraries — own what you watch, listen to, and read.
Self-hosted media is about ownership, organization, and access — not piracy. Buy the content, rip it for your library, stream it everywhere.
Owning physical media (DVDs, Blu-rays, books) gives you broad rights to make backup copies for personal use under most jurisdictions. Sharing or distributing those copies is where it crosses lines. This encyclopedia assumes you're operating in the legal personal-use space.
The Stack
Purpose: Media server (video, music, books)
Fully open source. No subscription. No telemetry. Hardware transcoding free (Plex paywalls this).
Purpose: Media server (more polished UI)
Better remote streaming (built-in NAT traversal). Larger ecosystem. Better metadata matching.
⚠ Telemetry-heavy. Increasing ad-supported content push. Account required.
Cost: Plex Pass ($120 lifetime) needed for hardware transcoding + offline downloads
Purpose: Music streaming (Spotify replacement)
Subsonic-compatible. Tiny resource footprint. Excellent mobile clients (Substreamer, play:Sub).
Scenario: Your purchased MP3/FLAC library → access from anywhere
Purpose: Audiobook + podcast server
Open source Audible-killer. Tracks progress across devices. Auto-downloads podcasts.
Scenario: Audiobooks you bought (Libro.fm, libraries via Libby exports)
Purpose: Photo backup + management (Google Photos replacement)
Mobile app auto-uploads from iPhone. AI face recognition (local). Album sharing.
Purpose: E-book library
Your books accessible everywhere. Send to Kindle/Kobo. OPDS feed for readers.
Scenario: Your DRM-free purchased ebooks + scanned reference texts
Purpose: Comics / manga server
If you read comics. Mobile clients are excellent.
Hardware Considerations
- Storage is the biggest spend — plan for 8-16TB total over time
- HDDs (WD Red Pro, Seagate IronWolf) for media bulk. NVMe for cache.
- Optiplex i7-6700T can transcode 1080p H.264 in real-time via QuickSync. Struggles with 4K/HEVC.
- ZFS or BTRFS for data integrity if you go beyond 8TB
- Optiplex has limited drive bays — consider external USB enclosure (DAS) or upgrading to a NAS box (Synology DS923+ ~$600) when collection grows
- RAID is not backup. Always have offline + offsite backup of irreplaceable content (photos especially).
Library Organization
- Movies: /Media/Movies/Movie Name (Year)/Movie Name (Year).mkv
- TV: /Media/TV/Show Name/Season XX/Show Name - SXXEXX - Episode Name.mkv
- Music: /Media/Music/Artist/Album (Year)/XX - Track.flac
- Photos: Let Immich organize by date. Don't manually file.
- Audiobooks: /Audiobooks/Author/Series #X - Book Title/
- Use *arr stack (Sonarr/Radarr/Lidarr/Readarr) ONLY if you understand the legal landscape in your jurisdiction
Finance
Credit mechanics, financing tools, and the pitfalls that catch smart people.
Validate before financing. Stage rather than splurge. Pay yourself first. Never carry a balance you can't kill quickly. These principles guided this PC plan, but they apply to every major purchase for the rest of your life.
690 currently (you mentioned recent drop). Target 720+ in 6 months by NOT opening new accounts.
What Moves Your Credit Score
Where to Check Your Score
- annualcreditreport.com — free actual reports from all 3 bureaus, weekly access since 2023
- Credit Karma — free score estimates (VantageScore, not FICO — directionally accurate)
- Your bank app — most show FICO score for free monthly (Chase, Discover, Citi all do)
- Experian app — free FICO score, alerts, fraud monitoring
Financing Tools
Examples: Wells Fargo Reflect (21mo), Chase Freedom Unlimited (15mo), Citi Simplicity (21mo)
How it works: True 0% APR for promo period on new purchases. NO retroactive interest if not paid off.
Risk: Low — just pay above minimum each month
Examples: Best Buy (18-24mo), Microcenter (6mo), Home Depot
How it works: 0% during promo, BUT retroactive interest charged on entire purchase if any balance remains at end
Risk: HIGH if you miss the deadline by even $1
Safety: Pay off 1-2 months BEFORE deadline, never on it
How it works: Split purchase into 4 biweekly payments. Usually 0% interest.
Risk: Low IF paid on time. Since 2025, Klarna/Affirm report to bureaus — missed payment now hurts credit.
Best for: Items under $500 that you'll pay off in 6 weeks anyway
How it works: 6-36 month installments. APR varies 0-36% based on credit.
Risk: Higher — at 690 credit, your APR likely 10-25%, NOT 0%
⚠ 0% offers often only show at checkout AFTER approval — don't assume you'll get 0%
Examples: SoFi, LightStream, Marcus, your credit union
How it works: Fixed payments, fixed APR, predictable
Risk: Lowest — predictable, no compounding
Best for: Consolidating multiple high-rate debts
How it works: Move existing debt to a new card at 0% for 15-21 months. Usually 3-5% transfer fee.
Risk: Same deferred-interest risk as store cards (sometimes — read fine print)
Best for: Strategic move if you already have credit card debt
Pitfalls
Scenario: Best Buy 18mo financing. Pay $999 GPU down to $1 by month 18. Forget to pay the dollar. Get charged 30% APR × $999 × 18mo retroactively.
Cost: $300-500 unexpected charge
Prevention: Set autopay for minimum + manual payments above. Pay off 2 months before deadline.
Scenario: 3 Klarna + 2 Affirm + 1 Afterpay simultaneously. Lose track of due dates.
Cost: Missed payments → 60+ point credit drop + 30% APR on balances
Prevention: Max 2 active BNPL at any time. Track due dates in single calendar.
Scenario: $5,000 on a 24% APR card. Pay minimum ($100). Takes 14 years to pay off. Pay $7,500 in interest.
Cost: 150% of original purchase in interest
Prevention: Never carry credit card balances beyond promo period. Treat min payment as minimum, not target.
Scenario: Opened card for signup bonus. Forgot to cancel. Year 2 charges $95 AF you didn't budget for.
Cost: $95-695 per card
Prevention: Calendar reminder 11 months after opening. Downgrade to no-fee version or cancel.
Scenario: Helped a family member. They miss payments. Your credit destroyed.
Cost: 100+ point credit drop + legal liability
Prevention: Never co-sign for anyone you can't afford to pay off entirely yourself.
The Operating Principles
- Pay yourself first — automatic transfer to savings BEFORE you see your paycheck
- Emergency fund = 3-6 months of expenses, untouchable
- Validate purchases by waiting 30 days for anything over $500 (you did this with the PC — good)
- Test before buy — could you use this for 30 days for free/cheap? (Like Optiplex LLM testing before $4K PC)
- Total cost > sticker price — include financing fees, AF, time-cost of management
- If you can't pay cash, you can't afford it — financing is a tool, not a license
Income Expansion
The same infrastructure you're building for learning can generate revenue. The Optiplex runs today. The new PC multiplies throughput. Every side gig below uses skills you already have or are actively building.
Each project sharpens skills that make the next project faster. Clinical writing improves your pharmacy practice. Automation consulting teaches you tools you use at home. The flywheel is the point.
Tier 1 — Start This Week (Optiplex + MacBook)
Zero additional investment. Uses hardware and skills you have right now.
What: Drug monographs, formulary evaluations, P&T committee summaries, medication use evaluations. Hospitals and PBMs outsource this constantly.
Your edge: Clinical pharmacist who can use local LLMs for first-draft literature synthesis, then apply expert judgment. 3x faster than manual.
Tools: Qwen3 14B (literature synthesis) + PubMed API + your clinical expertise
First step: Write one sample drug monograph for a recently approved medication. Post on LinkedIn. Reach out to 5 community hospitals without a dedicated drug info pharmacist.
$200-500 per monograph. $1,000-3,000 per formulary review. Recurring if you land a quarterly P&T contract.
What: Create continuing education modules for pharmacists and nurses. ACPE-accredited providers always need content experts.
Your edge: LLMs draft case studies and assessment questions. You provide clinical accuracy and ACPE formatting expertise.
Tools: Local LLM for draft generation + Canva/LaTeX for slides
First step: Contact 3 ACPE providers (PharmCon, Power-Pak, FreeCE) about their content pipeline. Offer a 1-hour module on a trending topic (GLP-1 agonists, vancomycin AUC monitoring).
$500-2,000 per CE module. Some providers pay royalties per completion.
What: Set up n8n workflows, self-hosted tools, and basic automation for independent pharmacies, small clinics, dental offices.
Your edge: You understand clinical workflows AND tech. Most IT consultants don't know pharmacy. Most pharmacists don't know Docker.
Tools: n8n on your Optiplex (demo environment) + Tailscale for remote setup
First step: Automate one workflow at your own workplace. Document the before/after (time saved, errors prevented). That's your case study.
$500-1,500 per setup + $50-200/mo maintenance retainer. 3-5 clients = meaningful passive income.
What: Blog posts, tutorials, and guides about local LLMs, self-hosting, or clinical informatics. Medium, Dev.to, Substack, or your own site.
Your edge: "Clinical pharmacist who runs local LLMs" is a unique perspective. The intersection is underserved.
Tools: Your daily experience + any writing platform
First step: Write "How I Use Local LLMs in Clinical Pharmacy (Without Sending PHI to the Cloud)" — that title alone gets clicks.
Medium Partner Program, Substack paid subscriptions, or sponsored posts. Slow build but compounds with audience.
Watch: The Pharmacist-Tech Intersection
Tier 2 — Month 3+ (Validated Skills)
Requires the foundation from Tier 1 plus some proof of work. Higher revenue ceiling.
What: Build calculators, dosing tools, or clinical dashboards. Vancomycin AUC calculator. Antibiogram visualizer. Renal dose adjustor.
Your edge: You ARE the domain expert. Most dev shops building health tools have zero clinical pharmacists on staff.
Tools: FastAPI/Flask + your clinical knowledge + local LLM for code assistance
First step: Build your vancomycin AUC calculator as a web app. Open-source it. Present it at your state pharmacy association meeting. That talk becomes your sales pitch.
SaaS: $10-50/user/mo for institutional licenses. Or sell as a consulting engagement ($5K-20K per build). Open-source version drives leads.
What: Set up Jellyfin, Immich, Home Assistant, Nextcloud, Pi-hole for privacy-conscious professionals. White-glove home server builds.
Your edge: You've built this exact stack. Your Optiplex is a living demo.
Tools: Docker Compose templates + your Optiplex as reference + Tailscale for remote admin
First step: Create a "Home Server Starter Kit" — a polished docker-compose repo with docs. Share on r/selfhosted. First 3 clients come from there.
$500-1,500 per setup. Hardware markup (you source the Optiplex). $75/mo support retainer. Referral network builds fast.
What: Help hospitals optimize EHR workflows, build clinical rules, improve alert fatigue, design order sets. The intersection of pharmacy + IT that every health system needs.
Your edge: Clinical pharmacist who codes. This is one of the most in-demand skill combos in healthcare right now.
Tools: Your clinical license + programming skills + knowledge of FHIR/HL7
First step: Get CPIP (Certified Professional in Health Informatics) or take a health informatics certificate. Build one EHR optimization case study at your current job.
$75-150/hr consulting. Some firms hire part-time remote. This can become a full career pivot if you want it to.
What: Help healthcare orgs evaluate, validate, and fine-tune LLMs for clinical use. Run your "Generalized Vancomycin Test" protocol as a paid service.
Your edge: You've already built the validation framework (Pillar 02). Most orgs want to use AI but don't know how to validate it safely.
Tools: Your validation protocol + local GPU for testing + structured report templates
First step: Validate 5 models against your clinical test battery. Publish results as a white paper. Present at ASHP Midyear or a health-AI conference.
$2,000-10,000 per validation engagement. Recurring as models update quarterly.
Investment Fundamentals
Your $350/month savings habit is the foundation. Once the PC is built and debt-free (Month 15), that $350/month redirects to wealth building. Here's the playbook.
The Priority Stack
Money flows in this exact order. Don't skip levels.
Where to Open Accounts
The Simple Portfolio
This is what most financial advisors charge 1% AUM to do. You can do it yourself for 0.03% expense ratio.
| Fund | Ticker | Allocation (age 25-35) | Expense Ratio | What It Holds |
|---|---|---|---|---|
| US Total Market | VTI / FZROX | 60% | 0.03% / 0.00% | Every US public company (3,700+) |
| International | VXUS / FZILX | 25% | 0.07% / 0.00% | Every non-US developed + emerging market |
| Bonds | BND / FXNAX | 15% | 0.03% / 0.03% | US investment-grade bonds (stability) |
Rebalance annually (sell winners, buy losers to maintain target %). As you age, shift bonds up 1% per year. That's the entire strategy. It beats 90% of actively managed funds over 20 years.
Project Starter Kits
Actionable blueprints for each growth vector. Each kit lists what you need, what you build first, and how it compounds into the next level.
Build Sequence
- Week 1: Set up Ollama + Open WebUI on Optiplex. Run your first DDx exercise with DeepSeek R1 14B
- Week 2-4: Build vancomycin AUC calculator (Python/Flask). Test against 20 known cases
- Month 2: Create RAG pipeline over your institution's antibiogram + IDSA guidelines
- Month 3: Present tool at department meeting. Collect feedback. Iterate
- Month 4: Submit abstract to state pharmacy conference
- Month 6: Publish case series on clinical LLM use in pharmacy practice
Compounds into: Informatics consulting, CE content, conference speaking, clinical tool SaaS
Build Sequence
- Week 1: Complete one project with Devstral/Qwen Coder on your Optiplex. Push to GitHub
- Month 1: Set up full self-hosted stack (Jellyfin, Immich, Caddy, Pi-hole). Document everything
- Month 2: Build 3 n8n automations that save you real time. Measure hours saved
- Month 3: Contribute to one open-source project (Open WebUI, Ollama, a clinical tool)
- Month 4: Create your first Docker Compose template repo. Share on r/selfhosted
- Month 6: First paid automation client (from your case study + network)
Compounds into: Freelance dev work, self-hosted consulting, SaaS products, open-source reputation
Build Sequence
- Week 1: Open HYSA if not done. Set up $350/mo auto-transfer
- Month 1: Open Roth IRA (Fidelity). Set up $100/mo auto-invest into FZROX
- Month 3: Review employer 401(k) — are you getting full match? Adjust if not
- Month 6: First side gig revenue hits. Funnel 50% to Roth, 50% to brokerage
- Month 12: PC build complete. Redirect $350/mo → investments
- Month 15: Debt-free. All discretionary income → wealth building
Compounds into: Financial independence. $350/mo in VTI from age 30 = ~$850K by 60 at historical returns
Build Sequence
- Week 1: Set up daily briefing automation (n8n → RSS → LLM summary → email)
- Month 1: Build Obsidian vault with daily notes. Local LLM indexes and connects ideas
- Month 2: Create personal dashboard (Grafana or custom) — track habits, spending, project progress
- Month 3: Set up PubMed watch + drug shortage tracker automations
- Month 4: Build voice-to-note pipeline (Whisper → Qwen → structured notes)
- Month 6: Your ecosystem runs 10+ automations silently. You're the curator, not the operator
Compounds into: Every automation frees time for higher-value work. The system improves itself as you add to it
The Credential Stack
Strategic certifications that multiply your value at each intersection.
| Credential | Cost | Time | What It Unlocks |
|---|---|---|---|
| Board Certified Pharmacotherapy (BCPS) | $400 | Exam prep: 3-6 mo | Clinical credibility. Required for many clinical positions. Higher pay tier. |
| CompTIA Security+ / Linux+ | $400 | Self-study: 2-3 mo | IT credibility. Opens informatics consulting. Validates self-hosted infrastructure skills. |
| Health Informatics Certificate | $2,000-5,000 | 6-12 mo (part-time) | Formal bridge between clinical + tech. AMIA-recognized programs. Career pivot enabler. |
| AWS / GCP Cloud Cert | $300 | Self-study: 1-2 mo | Cloud credibility. Pairs with self-hosted knowledge for consulting. Most healthcare is moving to cloud. |
| Project Management (CAPM/PMP) | $400-600 | 2-4 mo | Consulting credibility. Required by many healthcare orgs for informatics roles. |
Don't collect credentials for their own sake. Each one should unlock a specific revenue stream or career move you've already identified. BCPS + informatics certificate + a portfolio of clinical tools = a $140K+ pharmacy informatics position.
Monthly Income Target Roadmap
| Timeline | Side Income Target | Primary Sources | Reinvestment |
|---|---|---|---|
| Months 1-3 | $0-200/mo | 1 medical writing gig, 1 blog post | 100% → HYSA / Roth IRA |
| Months 4-6 | $300-800/mo | Recurring writing + 1 automation client | 50% invest, 50% reinvest in tools/certs |
| Months 7-12 | $800-2,000/mo | CE content + consulting + tool revenue | 50% invest, 30% reinvest, 20% lifestyle |
| Year 2+ | $2,000-5,000/mo | Multiple streams compounding | Auto-invest the majority. You've built the machine |
This PC build isn't a $4,000 expense. It's a $4,000 investment in infrastructure that generates returns — skills, tools, revenue, and compounding knowledge — for years. The ROI is the person you become while building it.
AI Intel
State of the frontier — models, benchmarks, breakthroughs, and how to stay current.
The pace of AI in 2024–2026 is without precedent in software history. Models double in capability roughly every six months. Staying current isn't optional — it determines which problems you can solve and how.
Model Frontier — May 2026
Proprietary cloud and open-weights models worth knowing. Context = max tokens.
| Model | Lab | Tier | Context | Modality | Best For |
|---|---|---|---|---|---|
| Claude Opus 4.7 | Anthropic | Frontier | 1M | Text, Vision, Code | Deep reasoning, long-context, agentic tasks (what runs this site) |
| Claude Sonnet 4.6 | Anthropic | Frontier | 200K | Text, Vision, Code | Balanced speed + quality. Best daily driver cloud model. |
| GPT-4.1 | OpenAI | Frontier | 1M | Text, Vision, Code | Instruction following, function calling, coding tasks |
| o3 | OpenAI | Frontier | 200K | Text, Code | Hard math, competition problems, PhD-level reasoning |
| Gemini 2.5 Pro | Frontier | 2M | Text, Vision, Audio, Video | Multimodal, massive context windows, research synthesis | |
| Llama 4 Maverick 400B | Meta | Strong | 1M | Text, Vision | Open weights MoE. Best open model for most tasks. |
| Qwen3 235B-A22B | Alibaba | Strong | 128K | Text, Code | Open MoE near-frontier. Free weights. Self-host on high-VRAM server. |
| DeepSeek R1 | DeepSeek | Strong | 128K | Text, Code | Open reasoning model. Visible CoT. Distilled 14B runs locally. |
| Qwen3 14B / 32B | Alibaba | Local | 128K | Text, Code | Your primary local models. Excellent on 16–24GB VRAM. |
| Devstral 24B | Mistral | Local | 128K | Code | Best open coding agent. Edits files, runs tools. Pairs with VS Code. |
| Phi-4 14B | Microsoft | Local | 16K | Text | Exceptional reasoning for 14B size. Fast on 8GB VRAM. |
Benchmark Snapshot — What the Tests Actually Measure
| Benchmark | Tests | Why It Matters | Leader (2026) |
|---|---|---|---|
| GPQA Diamond | PhD-level science (human experts ~69%) | Hard reasoning ceiling — can't be crammed | o3 / Gemini 2.5 Pro (~87%) |
| AIME 2024/25 | Math Olympiad competition problems | Symbolic + numeric reasoning under pressure | o3 (~96%) |
| SWE-bench Verified | Real GitHub issues resolved end-to-end | Practical coding — the metric that matters for agents | Claude Opus 4.7 (~72%) |
| MMLU Pro | 57 academic disciplines, harder questions | Broad knowledge breadth across domains | GPT-4.1 / Gemini 2.5 Pro (~91%) |
| HumanEval | Python function generation from docstrings | Basic coding — now saturated at 99% | Multiple models (benchmark exhausted) |
| LM Arena (Chatbot Arena) | Human blind preference comparisons, live | Real-world signal — what people actually prefer | lmarena.ai — updated continuously |
How to Keep Up — The Essential Stack
Key Concepts — The Technical Vocabulary
The architecture behind every major LLM since 2017. Self-attention lets each token attend to all others — no recurrence, fully parallelizable on GPU. Scaled to billions of parameters via pretraining on internet text.
Read: "Attention is All You Need" (Vaswani et al., 2017) — the paper that started it all.
Reinforcement Learning from Human Feedback turns a raw pretrained model into an assistant. Humans rank outputs; a reward model learns preferences; the policy is fine-tuned. DPO (Direct Preference Optimization) achieves similar results without a separate reward model — simpler, often better.
This is what makes Claude helpful, not just fluent.
Give a model a search tool: query a vector DB → retrieve relevant text chunks → inject into prompt → generate grounded answers. Solves hallucination for knowledge-bounded domains better than fine-tuning in most production scenarios.
Local stack: Ollama + ChromaDB + AnythingLLM
Reduce model precision from FP32/BF16 to INT8/INT4. A 14B model at Q8 needs ~16GB VRAM; at Q4, ~9GB. Quality drop is modest for Q8, acceptable at Q4. Q2 is too aggressive. GGUF is the standard for llama.cpp/Ollama.
Rule: use Q8 if it fits, Q4 otherwise. Never Q2 for clinical tasks.
Route each token through a subset of "expert" networks rather than the full model. A 235B MoE model activates ~22B parameters per forward pass — matching a 32B dense model's compute while having far more total capacity. Used in Qwen3 235B, Llama 4 Maverick, Mixtral.
Tradeoff: high total VRAM to load, but fast inference per token.
LLMs as planners that call external tools in loops: web search, code execution, file I/O, API calls. The model outputs structured tool calls; the runtime executes them; results feed back into context. Claude Code, AutoGen, LangGraph, and CrewAI build on this pattern.
2026 frontier: multi-agent systems coordinating autonomously over hours.
Research Radar — 2024–2025 Papers Worth Knowing
| Paper / Release | Date | Why It Matters |
|---|---|---|
| DeepSeek R1 (DeepSeek) | Jan 2025 | Open reasoning model matching o1. Visible chain-of-thought. Proved closed-source reasoning models could be replicated with open weights. |
| Llama 4 (Meta) | Apr 2025 | MoE architecture, 10M token context Scout variant. Democratized frontier-class open weights. Changed calculus on what's runnable locally. |
| Qwen3 (Alibaba) | May 2025 | 235B MoE open weights beating GPT-4o on multiple benchmarks. Freely available. Distilled 14B/32B excellent for your local setup. |
| Flash Attention 2/3 | 2023–24 | IO-aware attention algorithm. 2–4× faster inference with identical outputs. Now standard in every serious LLM runtime. |
| Chinchilla Scaling Laws (Hoffmann et al.) | 2022 | Optimal model:data ratio for compute budget. Showed GPT-3 era models were undertrained. Compute-optimal training is the standard now. |
| LoRA / QLoRA | 2021–23 | Fine-tune 7B+ models on a consumer GPU via low-rank adapters. Reduces trainable params by 10,000×. Enables personal domain fine-tuning. |
| Constitutional AI (Anthropic) | 2022 | Safety via written principles rather than labeling every preference. Backbone of Claude's alignment approach. Widely influential. |
AI Timeline — Key Milestones
Live Feed
Real-time aggregation from the sources that matter. Deals, hardware drops, LLM releases, clinical alerts.
Seven feeds, one view. Deals from r/buildapcsales surface price drops on your exact parts list. r/LocalLLaMA catches new model releases before they hit the benchmarks. Ars and Tom's cover the analysis layer. All fetched server-side, cached 15 minutes, zero tracking.
Fetching feeds from 7 sources…
Sources
Journal
Log what works, what doesn't, what you learn. This is your evidence base for the Month 3 checkpoint decision.
Your Validation Journal. Write freely. Tag what mattered. Read it again at the Month 3 checkpoint — your future self will know whether the plan should hold, accelerate, or pivot.
New Entry
Entries
Learning Python
Your personal course notes, code exercises, and progress tracker. Not visible in navigation.
#cs50p to the URL. Or press ⌘+Shift+K (Mac) / Ctrl+Shift+K (Windows/Linux). Notes auto-save to your local storage and sync to KV.
Topics
- print(), input()
- Variables and types: str, int, float, bool
- Defining functions with
def - Arguments and return values
- String methods: .strip(), .lower(), .upper()
- f-strings for output formatting
Key Patterns
def greet(name):
return f"Hello, {name}!"
name = input("Name: ").strip().title()
print(greet(name))
# Type conversion
age = int(input("Age: "))
gpa = float(input("GPA: "))
print(f"In 10 years you'll be {age + 10}")
indoor.py, playback.py, faces.py
Topics
- if / elif / else
- Comparison operators: ==, !=, <, >, <=, >=
- Boolean operators: and, or, not
- match statements (Python 3.10+)
Key Patterns
grade = int(input("Grade: "))
match grade:
case g if g >= 90: print("A")
case g if g >= 80: print("B")
case g if g >= 70: print("C")
case _: print("F")
deep.py, bank.py, meal.py
Topics
- while loops, for loops
- range(), enumerate(), zip()
- List comprehensions
- break, continue, pass
- Iterating dicts with .items()
Key Patterns
# List comprehension
evens = [x for x in range(20) if x % 2 == 0]
# Dict iteration
scores = {"Alice": 95, "Bob": 87}
for name, grade in scores.items():
print(f"{name}: {grade}")
camel.py, coke.py, twttr.py, plates.py
Topics
- try / except / else / finally
- ValueError, TypeError, KeyError, IndexError
- raise — creating custom exceptions
- Exception hierarchy
Key Patterns
def get_int(prompt):
while True:
try:
return int(input(prompt))
except ValueError:
print("Please enter an integer.")
age = get_int("Age: ")
fuel.py, felipes.py, grocery.py, outdated.py
Topics
- import, from … import, import as
- Standard library: random, statistics, sys, os, math
- PyPI packages with pip install
- requests — HTTP calls to APIs
- sys.argv for CLI arguments
Key Patterns
import random
import requests
# Random choice
coin = random.choice(["heads", "tails"])
# HTTP request
r = requests.get("https://api.github.com/zen")
print(r.text)
pip install requests pyfiglet emoji
pip list # see installed packages
emojize.py, figlet.py, adieu.py, game.py, bitcoin.py
Topics
- pytest framework
- Test functions named test_*
- assert statements
- Testing exceptions with pytest.raises
- Running: pytest -v
Key Patterns
# test_calculator.py
from calculator import square
import pytest
def test_positive():
assert square(3) == 9
def test_negative():
assert square(-3) == 9
def test_zero():
assert square(0) == 0
def test_type_error():
with pytest.raises(TypeError):
square("x")
pytest test_calculator.py -v
pytest --tb=short # shorter tracebacks
test_fuel.py, test_bank.py, test_plates.py
Topics
- open(), read(), readlines(), write()
- with statement — context manager
- csv module: DictReader, DictWriter
- Pillow for image manipulation
Key Patterns
import csv
# Write
with open("students.csv", "w", newline="") as f:
writer = csv.DictWriter(f, fieldnames=["name", "grade"])
writer.writeheader()
writer.writerow({"name": "Alice", "grade": 95})
# Read
with open("students.csv") as f:
for row in csv.DictReader(f):
print(row["name"], row["grade"])
lines.py, pizza.py, scourgify.py, shirt.py
Topics
- re module: search, match, fullmatch, sub, findall
- Character classes: \d, \w, \s, .
- Quantifiers: *, +, ?, {n,m}
- Groups () and named groups (?P<name>…)
- Anchors: ^, $
Key Patterns
import re
# Validate email
pattern = r"^[\w.+-]+@[\w-]+\.[\w.]+$"
if re.fullmatch(pattern, email):
print("Valid")
# Named capture groups
m = re.search(
r"(?P\u003cyear\u003e\d{4})-(?P\u003cmonth\u003e\d{2})",
"2026-05"
)
if m: print(m.group("year")) # 2026
numb3rs.py, watch.py, working.py, um.py
Topics
- class, __init__, self
- Instance vs. class attributes
- __str__, __repr__, __eq__ — dunder methods
- Inheritance and super()
- @property, @classmethod, @staticmethod
Key Patterns
class Student:
def __init__(self, name: str, grade: int):
self.name = name
self.grade = grade
@property
def letter(self) -> str:
if self.grade >= 90: return "A"
if self.grade >= 80: return "B"
return "F"
def __str__(self) -> str:
return f"{self.name}: {self.letter}"
alice = Student("Alice", 95)
print(alice) # Alice: A
seasons.py, cookie.py, jar.py
Topics
- Type hints and annotations
- Generators with yield
- Decorators with @
- map(), filter(), sorted() with lambdas
- Unpacking: *args, **kwargs
- Context managers (__enter__, __exit__)
Key Patterns
# Generator
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
first_10 = [next(fibonacci()) for _ in range(10)]
# Decorator
def log(func):
def wrapper(*args, **kwargs):
print(f"Calling {func.__name__}")
return func(*args, **kwargs)
return wrapper
@log
def greet(name: str) -> str:
return f"Hello, {name}!"
Mutability: list/dict/set = mutable · str/tuple = immutable
Scope: LEGB — Local → Enclosing → Global → Built-in
[x for x in iter if cond] — list{k: v for k, v in d.items()} — dict{x for x in list} — set