Skip to main content

Built in public

The real numbers. No testimonials.

CodeMentor AI is a solo project run from Ukraine. The page you're reading exists because the alternative is fake stats and stock-photo quotes — and the founder values your trust more than that. Below: live counters straight from the codebase, the last five public shipments, and the three CI gates that keep the marketing copy honest.

Live counters

1,400+
interactive lessons
1,100+ Python + 299 HTML/CSS/JS bonus
13
themed tracks
10 Python + 3 frontend
18
UI languages
hand-translated, no auto-MT slop
15
free lessons
no signup, no card
694
hands-on coding lessons
around half of the library, the rest are quizzes / predict-the-output

Every number above is exported from src/lib/site-stats.ts at build time. If the curriculum changes, the page changes on the next deploy. No marketing override.

Lessons per track

Foundations174 lessons →AI Engineering105 lessons →FastAPI Production105 lessons →Interview Prep104 lessons →System Design105 lessons →Data Science Applied104 lessons →Senior Deep-Dives161 lessons →DevOps for Pythonistas104 lessons →Creative Challenges104 lessons →Python Automation54 lessons →

Last 5 public shipments

From /changelog — every entry hand-written, dated, and tied to a real deploy.

Refund follow-up — §4 rewrite + Last-updated bumped in 18 locales2026-07-14

🧾 /refund §4 (Refund Eligibility) rewritten across all 18 locales. The previous copy — a leftover from a June 24 rewrite — said eligibility 'depends on how much of the service has been used' and requests 'may be decline

Refund canonicalised to 14-day worldwide · SSOT tightened · footer + FAQ + banner fixes2026-07-13

♻ Refund policy re-canonicalised to 14-day worldwide unconditional, matching the point-of-sale promise on /pricing. /refund + /terms + /help + /pricing FAQ + /llms.txt + all 18 messages/*.json now say the same thing: ful

Light mode · per-lesson discussions · shareable level cards · 7 audit P0s closed2026-05-31

☀ Light mode shipped across the whole site. Toggle in the top nav, persisted to localStorage with a pre-paint inline script so light-mode users never see a dark flash on first paint. Five rollout phases covered body + sc

Trust audit closed + Python-first positioning + 3-intent picker2026-05-24

/stats lesson count now sums Python + frontend (was Python-only) — 1224 lessons across 13 tracks. Matches the '1200+' claim every other surface makes. /tracks page lesson claim computed at build time from the real Python

Live AI tutor, home rebuild, GDPR consent, silent-bug sweep2026-05-23

Live AI tutor on every lesson — Lambda, our in-house AI mentor engine, now powers the in-editor hint chat plus the global 🤖 Ask CodeMentor AI panel (bottom-left of every non-lesson page). Free for every student, ~1500 c

Three CI gates against marketing drift

Every Vercel deploy runs these three lints in npm run prebuild. A commit that adds a stale lesson count or untranslated string fails the build.

scripts/check-blog-no-bare-counters.mjs

Blog posts can't hardcode lesson counts. Any bare counter literal in a blog body must come from src/lib/site-stats.ts or carry an explicit @bare-counter-ok annotation.

scripts/check-ui-no-hardcoded-counters.mjs

messages/*.json + every non-data UI file goes through the same gate. Adding a stale '1,200 lessons' fails the build.

scripts/check-ui-no-cross-locale-leak.mjs

Cyrillic strings can't land in en.json; Latin-only ru/uk/bg values are flagged as untranslated. Catches the class of bug where a translation file falls back to English without anyone noticing.

CodeMentor AI was built solo from Lviv, Ukraine, starting January 2026. The product is still actively growing: tracks gain lessons weekly, the AI tutor improves, new locales land. The engineering, the writing, the translation review, and the design pass all run through one person plus a team of Claude agents. The day the founder takes outside money or hires a marketing team, this page will say so. Until then: real numbers above, real team page, real changelog, and a 7-day Pro trial when you're ready to commit beyond the free tier.

Found a stale number? support@learnpython.academy — the founder reads every message.