Concepts 🚀 Project 🧮 Labs
📚 Learn / Build OpenBenchML — Step by Step

🚀 Build OpenBenchML — Step by Step

A 10-step course that builds OpenBenchML from scratch. Each step teaches one concept and adds one feature. By step 10, you have a deployed app.

10 concepts
1
Your First FastAPI Route
Run `python main.py`, open http://localhost:8000/health, and see {"status":"ok"} in the browser.
›
2
HTML + Jinja2 Templates — Your First Page
Visit http://localhost:8000/ and see a styled HTML landing page with your app's name.
›
3
SQLite + SQLAlchemy — Store Users
Fill a register form, submit, and see the user saved in the SQLite database file (openbenchml.db).
›
4
Forms + Password Hashing + JWT — Login
Register a user, log in, visit /dashboard and see your username. Visit /dashboard without logging in — get redirected to /login.
›
5
File Upload + Pickle — Upload a Model
Train a sklearn model, pickle it, upload via the form, and see it listed in /my-models.
›
6
Benchmark Engine — Run a Model on a Dataset
Upload a model, click 'Benchmark', and see an accuracy score. The score is saved to the DB and shown on the model's page.
›
7
Leaderboard — Rank Models by Score
After benchmarking 2-3 models, visit /leaderboard and see them ranked from best to worst, with the score and model name.
›
8
WebSocket — Live Leaderboard Updates
Open /leaderboard in two browser tabs. Benchmark a model in one tab. Both tabs update instantly with the new entry.
›
9
Notebook Kernel — Run User Python in the Browser
Visit /notebook, type print('hello world'), click Run, and see 'hello world' in the output panel. Then type x = 42 in one cell and print(x) in another — the second cell sees x.
›
10
Docker + Render — Ship It to the Internet
Run `git push`, wait 5 minutes, visit https://yourapp.onrender.com and see your live app with auth, upload, benchmark, leaderboard, and notebook.
›