Compilecuriosityinto shipped systems
Lumina Labs is where programmers and AI engineers learn by running real code - from your first Python line to a deployed LangGraph agent. Every code step gives you three ways through: struggle it out, follow along, or direct an AI.
Courses aren't a list. They're a network.
Every workshop connects to what comes before and after it. Hover a node to trace the path - this is how a Lumina track actually flows.
Pick a mission. We built the path.
Seven guided sequences across AI, foundations, backend, frontend, and DevOps - each one ends in something deployed.
AI Engineer
Zero setup to deployed agent systems. Each course compiles into the next.
Python Foundations
From your first program to importable packages.
5Frontend Engineer
HTML/CSS to reactive React - portfolio, game, full-stack app.
6Backend & Systems Design
APIs to distributed systems - data modeling, security, and a system-design capstone.
5DevOps & Cloud
Docker, CI, serverless, Kubernetes.
4CS & Interview Prep
Data structures, DP, graphs, Git internals.
Struggle, follow, or direct an AI.
Every path lands on the same code.
Each code scene authors three parallel routes to the same result - so you set the depth. Grind it out for recall, type along for a demo, or write a prompt and audit the AI's output. One verify command checks all three.
$ node -e "require('./auth/passwords')" && echo OKA wrong answer on any path fails the same import - fail-loud, no branching logic.
Your task - build it from the spec
Create auth/passwords.js: • Import bcrypt from bcryptjs • Export hashPassword(password) - hash with 12 salt rounds, return the hash • Export verifyPassword(password, hash) - compare, return a boolean • Both functions must be async
Hint 1Conceptual nudge
bcrypt.hash(password, saltRounds) and bcrypt.compare(password, hash) - both return Promises.Hint 2Partial snippet
Hint 3Near-complete logic
bcrypt.compare returns a boolean Promise - true if the password matches the hash. Return its result directly from verifyPassword and remember module.exports.Read less. Build more.
Read a concept
Short, visual explanations - no hour-long videos to scrub.
Choose your path
Every code step offers three routes - struggle solo, follow along, or direct an AI. Switch mid-step; they all land on the same code.
Build a project
Each track ends in a real artifact - an API, a game, a deployed agent.
Ship & advance
Unlock the next node in your track and keep the momentum.
Your first build is free.
Eight starter workshops are free forever - including Programming Foundations and Dev & AI Setup. No card required.