Hi, I'm Hamel I'm an ML engineer and independent consultant at Parlance Labs. I spend most of my time helping teams build AI products. Previously, I did applied ML at…
Hi, I'm Hamel
I'm an ML engineer and independent consultant at Parlance Labs. I spend most of my time helping teams build AI products. Previously, I did applied ML at GitHub and Airbnb.
What I'm working on
I'm working to bring data science back to AI: helping teams debug, analyze, and measure their systems. I call this "evals," and after doing it across 35+ AI products, I co-authored Evals for AI Engineers (O'Reilly), covering error analysis, LLM-as-a-judge, synthetic data, production monitoring, and building data flywheels. I also co-teach a course on evals on Maven.
I write about what I learn at hamel.dev. Some recent posts:
<!-- BLOG-POST-LIST:START -->
| Date | Post |
| --- | --- |
| Mar 2026 | The Revenge of the Data Scientist |
| Mar 2026 | Evals Skills for Coding Agents |
| Jan 2026 | LLM Evals: Everything You Need to Know |
| Jul 2025 | Stop Saying RAG Is Dead |
| Mar 2025 | A Field Guide to Rapidly Improving AI Products |
| Dec 2024 | nbsanity - Share Notebooks as Polished Web Pages in Seconds |
| Nov 2024 | Building an Audience Through Technical Writing: Strategies and Mistakes |
| Oct 2024 | Using LLM-as-a-Judge For Evaluation: A Complete Guide |
| Oct 2024 | Concurrency Foundations For FastHTML |
| Jul 2024 | An Open Course on LLMs, Led by Practitioners |
<!-- BLOG-POST-LIST:END -->
Open source
I've contributed to tools across ML infrastructure, developer experience, and data science workflows. Full list here.
-
evals-skills
Skills for AI Evals to compliment the course: AI Evals For Engineers & PMs
★ 1.4k 11d agoExplain → -
claude-review-loop
Claude Code plugin: automated code review loop with Codex
Shell ★ 683 3mo agoExplain → -
code_search
Code For Medium Article: "How To Create Natural Language Semantic Search for Arbitrary Objects With Deep Learning"
Jupyter Notebook ★ 491 3y agoExplain → -
ktext
Utilities for preprocessing text for deep learning with Keras
Jupyter Notebook ★ 180 3y agoExplain → -
Docker_Tutorial
Code and helper scripts for article on Medium "How Docker Can Help You Become A More Effective Data Scientist"
Shell ★ 160 6y agoExplain → -
Seq2Seq_Tutorial
Code For Medium Article "How To Create Data Products That Are Magical Using Sequence-to-Sequence Models"
Jupyter Notebook ★ 139 3y agoExplain → -
nbsanity
Render notebooks like nbviewer, but using Quarto as the renderer
Python ★ 110 1y agoExplain → -
oauth-tutorial
Like GitHub Pages, but you choose who can see it without usernames & passwords.
Shell ★ 110 3y agoExplain → -
llama-inference
experiments with inference on llama
Python ★ 103 2y agoExplain → -
research-council
No description.
Shell ★ 101 3mo agoExplain → -
claudesave
A Chrome extension that saves conversations with Claude to GitHubGists or your clipboard.
JavaScript ★ 92 1y agoExplain → -
design-research
Claude Code skill for comprehensive website design research using browser-automation agent teams
★ 67 3mo agoExplain → -
hamel
General Utilities
Python ★ 57 11d agoExplain → -
wandb-cicd
No description.
Jupyter Notebook ★ 50 2y agoExplain → -
hamelnb
No description.
Python ★ 45 3mo agoExplain → -
chat-langchain ⑂
Quarto version of chat-langchain
Python ★ 39 3y agoExplain → -
ft-drift
Check for data drift between two OpenAI multi-turn chat jsonl files.
Jupyter Notebook ★ 39 2y agoExplain → -
replicate-examples
No description.
Python ★ 21 2y agoExplain → -
get-lambda
Use Actions to acquire those precious lambda GPUs
Python ★ 19 2y agoExplain → -
wandb-modal-webhook
A webhook that integrates the W&B model registry with Modal Labs
Python ★ 15 2y agoExplain → -
python_odsc_2016 ⑂
Repository containing files for my ODSC 2016 scikit-learn tutorial.
Jupyter Notebook ★ 13 9y agoExplain → -
docker-gpu
Dockerfile for deep learning on GPUs
Shell ★ 10 7y agoExplain → -
wandbtocsv
CLI tool to export W&B metrics to a csv file.
Jupyter Notebook ★ 10 2y agoExplain → -
oauth-render-quarto
No description.
JavaScript ★ 10 3y agoExplain → -
website-to-api
Claude Code plugin for reverse-engineering website APIs using Chrome browser automation
Python ★ 9 2mo agoExplain → -
learn-fasthtml
No description.
Jupyter Notebook ★ 8 1y agoExplain → -
notes
Hamel's Random Notes
JavaScript ★ 8 3y agoExplain → -
nolib_nbdev
a test repo
Jupyter Notebook ★ 7 3y agoExplain → -
posit-python-quarto
Posit conf::2023 Quarto for python developers workshop
HTML ★ 7 2y agoExplain → -
llm-interest
Tool to collect LLM eval topics
Python ★ 6 1y agoExplain → -
pyscript-getemail
A simple pyscript app
JavaScript ★ 6 4y agoExplain → -
csv_to_xls
convert csvs to excel
Jupyter Notebook ★ 6 3y agoExplain → -
k8s-slackbot-python ⑂
Native K8s Slackbot with Python
Python ★ 6 3y agoExplain → -
llm-finetuning ⑂
Guide for fine-tuning Llama/Mistral/CodeLlama models and more
★ 5 2y agoExplain → -
pydoc_quarto
Generate minimal reference API docs from a python library in the form of markdown files that can be rendered in Quarto.
Jupyter Notebook ★ 5 3y agoExplain → -
quarto-gpt
No description.
Python ★ 5 2y agoExplain → -
awesome-agent-skills ⑂
Claude Code Skills and 500+ agent skills from official dev teams and the community, compatible with Codex, Antigravity, Gemini CLI, Cursor and others.
★ 4 3mo agoExplain → -
fasthtml-eugene-challenge
No description.
Python ★ 4 1y agoExplain → -
hfsize
Chrome extension to calculate the aggregate size of a Hugging Face directory
JavaScript ★ 4 1y agoExplain → -
python-notes
Notes and explorations on python concurrency.
Jupyter Notebook ★ 4 5y agoExplain → -
stfu
Find the app or browser tab making noise and make it STFU.
Swift ★ 3 1mo agoExplain → -
air-demo
No description.
Python ★ 3 7mo agoExplain → -
gh-email
No description.
Python ★ 3 1y agoExplain → -
hamelsmu
GitHub Profile README
Python ★ 2 2mo agoExplain → -
bb_dbnl ⑂
ShellSage Instrumented With DBNL
★ 2 1y agoExplain → -
argilla ⑂
Argilla is a collaboration tool for AI engineers and domain experts to build high-quality datasets
Python ★ 2 1y agoExplain → -
air ⑂
The new Python web framework by the authors of Two Scoops of Django
★ 2 7mo agoExplain → -
doghouse
No description.
Python ★ 2 1y agoExplain → -
pydantic-yaml-parser
parse yaml files with pydantic
Jupyter Notebook ★ 2 3y agoExplain → -
minimal-site
No description.
CSS ★ 2 3y agoExplain → -
covid19-dashboard ⑂
A site that displays up to date COVID-19 stats, powered by fastpages.
★ 2 6y agoExplain → -
learn-pyshiny
No description.
★ 2 2y agoExplain → -
try_modal
No description.
Python ★ 2 3y agoExplain → -
bq-gpt
gpt for big query
Jupyter Notebook ★ 2 3y agoExplain → -
model_explainability
Notes from @dansbecker 's model explainability course
Jupyter Notebook ★ 2 4y agoExplain → -
plain-writing-skill ⑂
A plain-language writing skill for AI agents, with a revision view that shows what changed.
★ 1 5d agoExplain → -
text-social
No description.
HTML ★ 1 1y agoExplain → -
fastlite-debugging
No description.
Jupyter Notebook ★ 1 1y agoExplain → -
executive-ai-assistant ⑂
No description.
★ 1 1y agoExplain → -
project-toast ⑂
No description.
JavaScript ★ 1 6mo agoExplain → -
web ⑂
Monorepo for Web & React Components
TypeScript ★ 1 4mo agoExplain → -
.github ⑂
Org level Actions workflows to greet new contributors who open an issue or PR for the first time automatically
★ 1 5y agoExplain → -
nbsanity-test
No description.
Jupyter Notebook ★ 1 1y agoExplain → -
cards
A library for working with standard playing cards
Jupyter Notebook ★ 1 3y agoExplain → -
nb_export_test
No description.
Jupyter Notebook ★ 1 1y agoExplain → -
cfg_nbdev_test
Test nbdev stuff
★ 1 1y agoExplain → -
my-first-chrome-extension
No description.
★ 1 1y agoExplain → -
axolotl ⑂
Go ahead and axolotl questions
★ 1 2y agoExplain → -
test-batching-replicate
No description.
★ 1 2y agoExplain → -
jlewi-notes ⑂
Various notes about software and systems
Jupyter Notebook ★ 1 2y agoExplain → -
tokenfight
No description.
★ 1 2y agoExplain → -
dbt-project
Learn dbt
★ 1 2y agoExplain → -
learn-caddy
No description.
HTML ★ 1 2y agoExplain → -
posit2023-nbdev
Demo for posit conf
Jupyter Notebook ★ 1 2y agoExplain → -
test-nvlink
No description.
Python ★ 1 2y agoExplain → -
griffe-quarto
Generate reference api docs for Quarto.
Jupyter Notebook ★ 1 3y agoExplain → -
lua-quarto
No description.
CSS ★ 1 3y agoExplain → -
wasm-chat-notebook
A Mock WASM notebook with pyscript that is like chat
HTML ★ 1 3y agoExplain → -
nbdev-test2023
testing nbdev
Python ★ 1 3y agoExplain → -
number-check
No description.
★ 1 3y agoExplain → -
quarto_nbimg
No description.
Jupyter Notebook ★ 1 3y agoExplain → -
ntest18
testing attachments
Jupyter Notebook ★ 1 3y agoExplain → -
ntest2
testing pages
Python ★ 1 3y agoExplain → -
quarto-minimal
No description.
Jupyter Notebook ★ 1 3y agoExplain → -
nbp-new3
No description.
★ 1 4y agoExplain → -
runme ⑂
DevOps Notebooks Built with Markdown
★ 0 4mo agoExplain → -
iMCP ⑂
A macOS app that provides an MCP server to your Messages, Contacts, Reminders and more
Swift ★ 0 5mo agoExplain → -
text-editor-tutorial
No description.
★ 0 7mo agoExplain → -
evals-course-data-load
No description.
★ 0 1y agoExplain → -
eugene-challenge
No description.
HTML ★ 0 1y agoExplain → -
instructor ⑂
structured outputs for llms
★ 0 2y agoExplain → -
GeminiSave-fork ⑂
No description.
★ 0 1y agoExplain → -
fasthtml-starter
No description.
★ 0 1y agoExplain → -
sqlite-copy-issue
No description.
Jupyter Notebook ★ 0 1y agoExplain → -
fastsetup ⑂
Setup all the things
Shell ★ 0 2y agoExplain → -
ghapi ⑂
A delightful and complete interface to GitHub's amazing API
★ 0 5y agoExplain → -
nbdev-copy ⑂
Create delightful python projects using Jupyter Notebooks
Jupyter Notebook ★ 0 5y agoExplain → -
fastcore ⑂
Python supercharged for the fastai library
★ 0 5y agoExplain → -
clock
No description.
★ 0 1y agoExplain → -
phx-bench
Benchmarking Phoenix Arize `llm_classify` utility
Python ★ 0 1y agoExplain → -
numbered_nb
No description.
★ 0 1y agoExplain → -
fasthtml-stuff
No description.
★ 0 1y agoExplain → -
phoenix ⑂
AI Observability & Evaluation
★ 0 1y agoExplain → -
jupyter-book ⑂
Build interactive, publication-quality documents from Jupyter Notebooks
★ 0 5y agoExplain → -
radiantai_test
No description.
★ 0 1y agoExplain → -
get-amp
No description.
★ 0 2y agoExplain → -
optimi ⑂
Fast, Modern, & Low Precision PyTorch Optimizers
★ 0 2y agoExplain → -
try-mojo
No description.
★ 0 2y agoExplain → -
nano-gpt-nbdev
No description.
★ 0 2y agoExplain → -
learn-rust
No description.
Rust ★ 0 2y agoExplain → -
llm-inference-v2
No description.
★ 0 2y agoExplain → -
notebook-quarto-format-bug
No description.
JavaScript ★ 0 2y agoExplain → -
py-shiny-site ⑂
The documentation website for Shiny for Python
★ 0 2y agoExplain → -
deepspeed-lora
No description.
Python ★ 0 2y agoExplain → -
my-quarto-website
No description.
★ 0 2y agoExplain → -
quarto-action-helper
No description.
★ 0 2y agoExplain → -
quarto-actions ⑂
No description.
★ 0 2y agoExplain → -
embed-debug-quarto
No description.
HTML ★ 0 2y agoExplain → -
quartodoc-members-repro
No description.
Jupyter Notebook ★ 0 2y agoExplain → -
quartodoc ⑂
Generate API documentation with quarto
Python ★ 0 2y agoExplain → -
lightllm ⑂
LightLLM is a Python-based LLM (Large Language Model) inference and serving framework, notable for its lightweight design, easy scalability, and high-speed performance.
★ 0 2y agoExplain → -
ibis_badge
Create markdown badges for use in ibis
Jupyter Notebook ★ 0 2y agoExplain → -
plotnine-docs-demo ⑂
No description.
★ 0 2y agoExplain → -
nb-thumb
No description.
★ 0 2y agoExplain → -
include-embed-bug
No description.
Jupyter Notebook ★ 0 2y agoExplain → -
langchain ⑂
⚡ Building applications with LLMs through composability ⚡
★ 0 2y agoExplain → -
plotnine-examples-quarto ⑂
Jupyter Notebooks that are part of the plotnine documentation
Jupyter Notebook ★ 0 2y agoExplain → -
fastcore-quartodoc
No description.
HTML ★ 0 3y agoExplain → -
try-launch
No description.
Python ★ 0 3y agoExplain → -
redpajama ⑂
Training and Inference Notebooks for the RedPajama (OpenLlama) models
★ 0 3y agoExplain → -
quartodoc-mf
No description.
★ 0 3y agoExplain → -
wb-embed
No description.
CSS ★ 0 3y agoExplain → -
shiny-live-bug
No description.
★ 0 3y agoExplain → -
bytewax-demo
A Bytewax Demo
★ 0 3y agoExplain → -
quarto-cli ⑂
Open-source scientific and technical publishing system built on Pandoc.
JavaScript ★ 0 3y agoExplain → -
quarto-docker-test
No description.
★ 0 3y agoExplain → -
nbdev_ext
No description.
JavaScript ★ 0 3y agoExplain → -
my-first-jupyter-ext
No description.
JavaScript ★ 0 3y agoExplain → -
lewinb
Close pull requests on GitHub
Jupyter Notebook ★ 0 3y agoExplain → -
try-caddy
No description.
★ 0 3y agoExplain → -
pytorch.github.io ⑂
The website for PyTorch
★ 0 3y agoExplain → -
toc-quarto
No description.
JavaScript ★ 0 3y agoExplain → -
workshops ⑂
No description.
SCSS ★ 0 3y agoExplain → -
rss-quarto
No description.
CSS ★ 0 3y agoExplain → -
edu ⑂
Educational materials on deep learning by Weights & Biases
Jupyter Notebook ★ 0 3y agoExplain → -
testfoo
No description.
HTML ★ 0 3y agoExplain → -
blog
Hamel's Blog with fastpages
Jupyter Notebook ★ 0 3y agoExplain → -
test-fp
No description.
Jupyter Notebook ★ 0 3y agoExplain → -
pydnbdev
Pydata Demo
Jupyter Notebook ★ 0 3y agoExplain → -
demofoo
a demo
Python ★ 0 3y agoExplain → -
new_nbdev2
foo
Python ★ 0 3y agoExplain → -
learntorank ⑂
No description.
Jupyter Notebook ★ 0 3y agoExplain → -
mywebsite
demo
Jupyter Notebook ★ 0 3y agoExplain → -
foobar2
ye
★ 0 3y agoExplain → -
cclddg ⑂
CLOOB Conditioned Latent Diffusion Denoising GAN
Jupyter Notebook ★ 0 3y agoExplain → -
quarto_nbcopy
No description.
Jupyter Notebook ★ 0 3y agoExplain → -
tquarto
No description.
Jupyter Notebook ★ 0 3y agoExplain → -
nbdev-demo-k
a new repo to test stuff in
Jupyter Notebook ★ 0 3y agoExplain → -
nbdev-demo-j
A demo for Jacapo
Jupyter Notebook ★ 0 3y agoExplain → -
attachments_quarto
No description.
Jupyter Notebook ★ 0 3y agoExplain → -
nbdev-cards ⑂
From tutorial
Jupyter Notebook ★ 0 3y agoExplain → -
ntest13
a new repo
Python ★ 0 3y agoExplain → -
ntest12
a new repo also
Python ★ 0 3y agoExplain → -
ntest11
this is a new repo
Python ★ 0 3y agoExplain → -
ntest10
test a repo
★ 0 3y agoExplain → -
ntest8
weeee I'm here
★ 0 3y agoExplain → -
ntest7
an old world!!!!
★ 0 3y agoExplain → -
ntest6
No description.
★ 0 3y agoExplain → -
ntest5
foo bar foo
★ 0 3y agoExplain → -
ntest4
No description.
★ 0 3y agoExplain → -
ntest3
a test site
Python ★ 0 3y agoExplain → -
_delete-this
No description.
★ 0 3y agoExplain → -
test-gh-pages ⑂
No description.
★ 0 3y agoExplain → -
nbdev-master-test
No description.
Jupyter Notebook ★ 0 3y agoExplain → -
nbdev-fix-test
No description.
Jupyter Notebook ★ 0 3y agoExplain → -
test-image-embed ⑂
Description: Test out IPython.display.Image(embed=True) in nbdev.
Jupyter Notebook ★ 0 3y agoExplain → -
nbdev-minimal
No description.
Jupyter Notebook ★ 0 3y agoExplain → -
quarto-mermaid
No description.
Jupyter Notebook ★ 0 3y agoExplain → -
nbdev_blog
No description.
Jupyter Notebook ★ 0 3y agoExplain → -
quarto-latex
No description.
JavaScript ★ 0 3y agoExplain → -
quarto-web ⑂
Quarto website
★ 0 3y agoExplain → -
test_nb_new
No description.
★ 0 3y agoExplain → -
test_doc ⑂
A minimal example of nbdev using code from Allen Downey's Think Python 2nd Ed
Jupyter Notebook ★ 0 3y agoExplain → -
nb-sidenav ⑂
Test sidenav
Jupyter Notebook ★ 0 3y agoExplain → -
tst_nbp
No description.
★ 0 3y agoExplain → -
test-nbproc
No description.
★ 0 3y agoExplain → -
apl-study ⑂
fast.ai APL study group notes
★ 0 4y agoExplain → -
launch-test
No description.
Python ★ 0 4y agoExplain → -
plum_playground
No description.
★ 0 4y agoExplain → -
test-nbp3
No description.
★ 0 4y agoExplain → -
test-nbp2
No description.
★ 0 4y agoExplain → -
test-nbp
No description.
★ 0 4y agoExplain → -
test-fastscript
No description.
Python ★ 0 4y agoExplain → -
test_nbp
No description.
★ 0 4y agoExplain → -
test-new-nbproc
No description.
★ 0 4y agoExplain → -
test-new-nbproc-repo
No description.
★ 0 4y agoExplain → -
doesitwork
This is my desc!!
★ 0 4y agoExplain → -
ghp-test
No description.
★ 0 4y agoExplain → -
quarnew
No description.
★ 0 4y agoExplain → -
test-q
No description.
★ 0 4y agoExplain →
No repos match these filters.