Skip to content

About Quarry

Free tutorial school. One lesson, then that phase’s project. Zero backend.

Live: interview-help.vercel.app

Computer Science · Git · Web · Data · AI · Networks · Cloud · DevOps · Cybersecurity · IT Administration · Odoo

TypeScript Next.js React Tailwind Vitest Vercel

Courses Auth Content Deploy


At a glance

LandLearnProve
Paper home · course tiles · real countsOne lesson at a time · winding graph · playgroundPhase builds · interview drills · browser progress

Example

Home  →  Pick a course  →  Chapter checkpoint  →  Lesson  →  Project
                ↓                                      ↓
           /progress graph                    Mark project complete → next chapter

Architecture layers:

LayerRoleWhere
PresentationHeader, landing, lesson chrome, winding graphcomponents/
ApplicationRoutes, progress API, playgroundapp/, ProgressProvider
DomainParse Markdown into courses, phases, briefslib/
PersistenceVisited lessons, completed projectslocalStorage (interview-help-progress-v2)

Hot-path rule: Markdown in content/ is canonical. Rebuild the site and pages, search, and progress targets update with it.


Tech stack

ToolRole
Next.js 16App Router · static pages from Markdown
React 19UI · winding roadmap · playground
TypeScriptEnd-to-end types
Tailwind CSS v3Layout utilities; brand lives in app/globals.css
react-markdownLesson bodies (GFM, KaTeX, highlight)
MonacoIn-browser try-it / exercises
Mermaid / KaTeXDiagrams and math
VitestAutomated tests
Lucide / react-iconsIcons

Client-only — no paid APIs, no database, no auth.


Features

Shared chromeVisual languageProgress
Sticky Quarry bar · hamburger on phone · searchBand #282A35 · accent #04AA6D · paper #F1F1F1Phase graph · themed reset dialog · export / import
Learning loopMobileDeploy
Lesson → phase project → interview drillFull-width graph popup · checkpoint art scrolls · stacked pagersVercel · Next standalone · zero env secrets

The catalog

CourseRoute
Computer Science/courses/computer-science
Git/courses/git
Web Development/courses/web-development
Data/courses/data
Artificial Intelligence/courses/artificial-intelligence
Computer Networks/courses/networks
Cloud/courses/cloud
DevOps/courses/devops
Cybersecurity/courses/cybersecurity
IT Administration/courses/it-administration
Odoo/courses/odoo

Also: / home · /courses all tutorials · /projects phase builds · /interview spoken Q&A · /progress trail · /search · /playground.

A phase counts as done when you finish that phase’s project. Lessons alone do not raise the percent. The green marching path fills up to the phase you are on and stops there.


Prerequisites

RequirementNotes
Node.js ≥ 20 · npmLocal development
Modern browserLocalStorage for progress

No database. No API keys.


Setup

Example

npm install
npm run dev

Scripts

CommandPurpose
npm run devNext.js development server
npm run buildProduction build
npm run startServe production build
npm run testVitest (tests/)
npm run validate:contentCheck Markdown against the catalog

Project layout

Example

quarry/
├── app/                         # Routes (courses, progress, playground)
├── components/                  # Landing, winding graph, lesson / project chrome
├── lib/                         # Catalog, course tree, progress, playground
├── content/
│   ├── courses/                 # One folder per course (odoo today)
│   └── templates/               # CV template
├── data/                        # Job tracker spreadsheet
├── scripts/                     # validate-content
├── tests/                       # Vitest
└── public/
Loading diagram…
Fig 1. content/ Markdown to (LocalStorage)

Design tokens

TokenRole
Band #282A35Header, checkpoint band, captions
Accent #04AA6DCTAs, progress fill, left rules
Paper #F1F1F1Page ground
Ink #1A1A1ABody text

Fonts: Poppins (display) · Source Sans 3 (body) · JetBrains Mono (code).


Content source

Course trees live under content/courses/. Each folder is one course. Odoo is at content/courses/odoo/. Add another folder with the same Unit/Chapter shape to register a new course.

PathRole
content/courses/odoo/Odoo unit/chapter study tree
content/templatesCV template
data/Job_Tracker.xlsxJob tracker (/downloads/job-tracker)

After you edit Markdown:

Example

npm run validate:content
npm run test
npm run build

Validation

Example

npm run validate:content
npm run test
npm run build

Smoke: open /, pick a course, walk one lesson, open the phase project, mark the build complete, confirm /progress colors that node, Reset via the themed dialog (not the browser prompt).


Deploy

Vercel

Production: https://interview-help.vercel.app

Import the repo with default Next.js settings. Each push rebuilds pages from current Markdown.

No environment variables required.

Self-host

Example

npm run build
npm run start

The production build uses Next.js standalone output.


Author

Mohammad Bilal — Quarry is the website for these Interview Help roadmaps: software engineering, Git, data, networks, IT administration, AI, cybersecurity, Odoo, web, cloud, and DevOps.


Back to top · Open live

Quarry · 11 roadmaps · Next.js 16 · React 19 · Tailwind v3 · Vitest · Vercel