Skip to content

spencerjireh/nthtime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nthtime

nthtime

Drill code patterns until they're muscle memory.

License: AGPL-3.0 Node >= 22 pnpm 10


Write real implementations from a blank canvas -- route handlers, hooks, middleware, models, and more. Get instant structural feedback powered by Tree-sitter AST analysis -- no code execution, no test runners. Just parse, verify, repeat.

For developers who know the concepts but reach for docs every time. Maintain fluency across stacks, lock in new patterns, internalize idioms fast.

Features

  • AST-based verification -- 12 evaluators check structure, not strings. Runs entirely in the browser via Tree-sitter WASM. Supports JS, TS, TSX, Python, HTML, CSS.
  • Progressive feedback -- 5 levels from bare pass/fail (L0) up to full diff against the reference solution (L4). Start strict, dial up when stuck.
  • Multi-file challenges -- Single functions to complete app structures with routing, middleware, models. Scaffolded or blank canvas.
  • Full editor -- Monaco with syntax highlighting, Vim/Emacs modes, file tree, tabs. Cmd+Enter to submit, Cmd+S to format.
  • Time tracking -- Timer starts on first keystroke. Race yourself. Watch the times drop.
  • Draft autosave -- Work-in-progress persists to localStorage. Close the tab, come back later, pick up where you left off.

Quick start

git clone https://github.com/spencerjireh/nthtime.git
cd nthtime
pnpm install
pnpm dev

For full-stack development, start Spring Boot and PostgreSQL with docker compose up alongside the dev server. See the getting started guide for full setup.

Challenge packs

A growing library of packs across frameworks and languages. Current packs include Express, React, and FastAPI -- with more on the way.

Packs are portable JSON -- author your own with a reference solution and structural assertions.

Tech stack

Frontend Next.js 16, React 19, Tailwind v3, shadcn/ui
Backend Spring Boot 3.5 + PostgreSQL 16
Verification Tree-sitter WASM (client-side)
Editor Monaco
State Zustand 5 (vanilla stores)
Testing Vitest 4 + Playwright
Monorepo Nx 22.5 + pnpm 10

Project structure

apps/web/          Next.js frontend
libs/
  shared/          Types: Pack, Challenge, Assertion, Verification
  data-access/     Repository interfaces
  verification/    Tree-sitter verification engine (12 evaluators)
  editor/          Zustand store, language mapping, draft storage
services/api/      Spring Boot backend (Java 25, PostgreSQL 16)
packs/             Challenge pack JSON (git-versioned)
tools/             CLI: validate-packs, seed

Docs

Full documentation at spencerjireh.github.io/nthtime -- architecture, pack authoring, verification engine, contributing.

License

AGPL-3.0

Releases

No releases published

Packages

 
 
 

Contributors