Skills
What I work with, grouped by area. Search a topic, or filter by category. Linked skills open the project or role where I used them; the rest are skills I list without pointing to a single piece of work.
221 skills in 7 categories
AI and machine learning
Frameworks, model architectures and the training practice behind them.
Frameworks and libraries
What I build and evaluate models with.
- PyTorch
- Hugging Face Transformers
- scikit-learn
- TensorFlow
- XGBoost
- SHAP
- segmentation-models-pytorch
- timm
- torchmetrics
- sentence-transformers
Model architectures
Segmentation, language and sequence models.
Training and evaluation
Losses, schedules, calibration and data-quality checks.
- Transfer learning
- Fine-tuning
- LoRA
- Focal and Dice-CE losses
- Cosine annealing
- Exponential moving average (EMA)
- Mixed precision (BF16/AMP)
- Temperature scaling
- Test-time augmentation
- MC-dropout
- Thompson-sampling bandits
- Cleanlab
- Cleanvision
Clustering and dimensionality reduction
Finding structure in unlabelled data.
Data engineering and analytics
Storage, processing, visualization and the data sources behind the analysis.
Databases and storage
Where the data lives and how it is shaped.
Processing and analysis
Dataframes, numerical work and analytics practice.
Visualization and BI
Charts, dashboards and reporting tools.
Scraping and parsing
Collecting and cleaning documents at scale.
- Web scraping
- BeautifulSoup
- httpx
- Requests
- aiohttp
- Selenium
- Crawl4AI
- Docling
- Tenacity
- MinerU
Data sources and APIs
Public records and datasets I have worked with.
- PubMed API
- arXiv API
- OpenFDA
- ClinicalTrials.gov
- IPEDS
- College Scorecard
MLOps, HPC and cloud
Reproducible training on shared clusters, deployment, and the tooling that keeps it honest.
Compute and HPC
Cluster and GPU training.
Experiment tracking
Versioning data, runs and results.
- MLOps
- MLflow
- Weights & Biases
- DVC
Deployment and hosting
Containers, hosting, cloud services and monitoring.
- ONNX Runtime serving
- Docker
- Docker Compose
- Vercel
- Render
- Cloud Run
- Google Cloud Speech-to-Text
- Google Cloud Translate
- ElevenLabs
- Prometheus
- OpenTelemetry
Dev tooling and quality
Packaging, linting, CI and testing.
- uv
- Makefile
- pre-commit
- GitHub Actions
- CI/CD
- Ruff
- mypy
- oxlint
- Git
- VS Code
- pytest
- Hypothesis
- Vitest
- Playwright
- axe-core
- Testing Library
- Bun test
LLMs and agents
Retrieval-augmented generation, answer verification, hosted and local models, and tool-using agents.
Retrieval and RAG
Search, ranking and checking answers against sources.
- RAG
- Hybrid dense + BM25 retrieval
- Reciprocal rank fusion
- Cross-encoder reranking
- Answer verification
- LettuceDetect
- MiniCheck
- Semantic chunking
- SimHash deduplication
- FAISS
- BM25
- BGE embeddings
- Vector databases
- Information retrieval
- pgvector
- Knowledge graphs
Agents and tooling
Tool-calling agents and the tools I use to build them.
- Tool-calling agents
- JSON-Schema tools
- Multi-Agent Systems
- LangChain
- Claude Code
- n8n
- Gemini CLI
- Agent Skills
- Prompt engineering
- Context engineering
Model hosting and APIs
Self-hosted runtimes and hosted model APIs.
- Self-hosted models
- Qwen
- vLLM
- llama.cpp
- Ollama
- Claude API
- Gemini API
- OpenAI API
- Server-Sent Events
NLP libraries
Classical and modern text processing.
Computer vision and medical imaging
Segmentation, image quality and evaluation that checks for leakage.
Libraries and tasks
Image handling, segmentation and recognition.
- Computer vision
- Semantic segmentation
- Face recognition
- MONAI
- OpenCV
- dlib
- SimpleITK
- scikit-image
- Albumentations
- ONNX and onnxruntime
Metrics and quality
Overlap, boundary, calibration and fairness measures.
- Dice and IoU
- HD95
- NSD
- Calibration (ECE)
- Skin-tone fairness analysis (ITA)
- Wagner staging
Web and software engineering
The languages, services and interfaces that make a model usable.
Languages and runtimes
What I write models, pipelines and interfaces in.
- Python
- TypeScript
- JavaScript
- SQL
- Bash
- HTML/CSS
- Bun
Backend and APIs
Services, validation and access control.
- FastAPI
- Flask
- Hono
- Uvicorn
- Pydantic
- Zod
- REST APIs
- WebSockets
- JWT
- LTI 1.3 / OIDC
- Clerk
- Rate limiting
Frontend
Frameworks, state and component libraries.
UI and motion
Animation and 3D in the browser.
- Motion
- GSAP
- Three.js
- React Three Fiber
Security and governance
Vulnerability and attack-path risk modelling, alongside privacy, data-quality and responsible-AI habits for sensitive data.
Security analysis
Vulnerability scoring, attack paths and quantum exposure.
- Cybersecurity
- CVSS
- EPSS
- CISA KEV
- MITRE ATT&CK
- CWE
- Attack-graph modelling
- Vulnerability scanner import
- Hashing
- Entropy analysis
- EXIF extraction
- Quantum-risk classification
- bitcoinjs-lib
- OP_RETURN anchoring
Governance and privacy
Habits for handling sensitive data.
- Responsible AI
- Data-quality auditing
- Privacy and tenant isolation
- Governance documentation
Logos are trademarks of their respective owners.