Skip to content

About

Interview Preparation Course Platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Roundhouse

Roundhouse

Open-source interview preparation courses that are text-first and interactive.

Reading, not video. Every few paragraphs you have to do something: answer a question, recall a list, predict what breaks, critique some code. Courses are Markdown files in this repo, so anyone can fork one, fix one, or contribute one through a pull request.

Why

Long documents do not get finished. Video courses are slow to skim and impossible to search. This is the middle: dense written explanation with retrieval practice built into the page.

Run it

Two processes. The API first:

cd backend
pip install -r requirements-dev.txt
python3 -m pytest -q
uvicorn app.main:app --reload

That serves http://localhost:8000, with OpenAPI at /openapi.json and docs at /docs. Then the reader, in another terminal:

cd frontend
npm install
npm run dev

That serves http://localhost:5173 and proxies /api to the backend, so there is no CORS step and no env file to write. If 5173 is taken, Vite picks the next free port and the proxy follows.

The API client in frontend/src/api/ is generated by orval from the OpenAPI schema. After changing a route or a schema, regenerate it with the backend running:

cd frontend && npm run api

See CLAUDE.md for the plan and the next tasks.

Writing a course

A course is a directory under content/courses/:

content/courses/my-course/
  course.yaml
  lessons/
    01-first-lesson.md

Lessons are Markdown with YAML front matter. Interactive elements are fenced directives:

Prose explaining the idea.

:::quiz id=example
question: What does this actually do?
options:
  - text: The wrong but tempting answer
    explain: Why it is tempting and why it is wrong.
  - text: The right answer
    correct: true
    explain: The reason.
:::

Block types are quiz, recall, answer, code and note. The full spec, with the fields each one takes, is in CLAUDE.md.

Quiz answer keys never reach the browser. The lesson endpoint strips correct and explain from the options, and grading is a POST that returns the correct keys along with the explanations for whatever was picked.

Licence

MIT. See LICENSE.

About

Interview Preparation Course Platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages