Stack
I spend too much time optimizing this. Here's what I actually use.
Daily Stack
Everything here earns its place.
- Cursor — AI-native IDE. Tab-completions that actually work. I don't think about it anymore.
- VS Code — Side-by-side with Cursor for extensions it hasn't caught up on yet.
- Warp — Terminal with natural language command suggestions. Saved me on flags I use twice a year.
- Raycast — Replaced Spotlight entirely. Launcher, clipboard history, and custom scripts in one shortcut.
- Notion — Project wikis, research notes, anything that needs structure and sharing.
- Obsidian — Local-first thinking. Fast, offline, plain text, and not going anywhere.
- Claude API — Default for inference and most LLM work. Hard to argue with the context window.
Currently Trying
Things I'm experimenting with but haven't fully committed to.
- Linear — Moving bigger projects here from Notion. Early impressions are very good.
- Perplexity — Research queries where I want citations, not vibes.
- Granola — AI meeting notes that actually capture what was said, not just a transcript.
- Wispr Flow — Speech-to-text that works system-wide. Cuts writing time on long docs significantly.
ML & AI
Core toolchain for most of what I build.
- PyTorch — Default framework. Rewards understanding what's actually happening under the hood.
- Hugging Face Transformers — Model hub and pipelines. Rarely write model code from scratch anymore.
- Weights & Biases — Experiment tracking. Ran 50 experiments without it once — never again.
- LangChain — Fast LLM pipeline prototyping. Replace with raw API calls before anything goes to production.
- FastAPI — Serve a model in 30 lines. Go-to for endpoints.
- Lambda Labs / Vast.ai — Rent GPU compute instead of buying. Cheaper and more flexible than owning hardware that depreciates.
Bio ML
Research-specific tools. Underrated stack for the intersection of ML and life sciences.
- RDKit — Molecular fingerprinting, SMILES parsing, descriptor generation. Best cheminformatics library by a wide margin.
- BioPython — Sequence analysis and database interfacing (NCBI, UniProt). Saves hours on data wrangling.
- DeepChem — ML models that understand molecular graphs out of the box. Great for baselines.
- AlphaFold / ESMFold — Protein structure prediction. Changed what's possible in structural biology research.
- AutoDock Vina — Docking simulations. Core to my work on ligand-receptor topology and drug discovery.
- Mol* — Browser-based molecular visualization. Reach for this before firing up PyMOL.
- PDB & PubChem — Open databases I have open all day, every day.
Embedded & Hardware
What I run code on.
- MacBook Pro M2 Pro (14-inch) — Handles everything short of serious training runs. Battery life is genuinely good.
- Raspberry Pi 4 — Edge inference prototyping and anything physical. Keeps a permanent spot on my desk.
- Arduino Uno — Lower-level hardware interfacing when the Pi is overkill. Great for sensors and actuators.
- NVIDIA Jetson Nano — Runs lightweight models at the edge without a cloud round-trip. Useful for latency-sensitive demos.
Reading
How I consume information without drowning in it.
- ArXiv (cs.LG, cs.AI, q-bio.QM) — Daily digest. Filter aggressively or drown.
- Papers With Code — Reproduction baselines before I build on top of anything. Saves a lot of wasted effort.
- Readwise Reader — Long-form reading that surfaces highlights back at the right time.
- Twitter / X — Real-time ML discourse. Signal-to-noise ratio is genuinely terrible. The signal is still worth it.
This Site
- Next.js 14 (App Router) — Framework and routing.
- Tailwind CSS — Styling — no UI libraries.
- MDX — Writing in markdown with React components.
- Vercel — Deployment. Auto-deploys on every push.
- EB Garamond + DM Mono — Body and metadata typography respectively.