Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@ study-lab-focus*.json
__pycache__/
*.pyc
*.class

# Learner-created Python environments are local tooling, not study material.
.venv/
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 0.3.0 — 2026-09-06

- Expand the engineering pack to 40 lessons with eight ordered AI modules and a Kafka consumer-lag lesson in Distributed systems.
- Keep the previous 31-lesson pack byte-for-byte, with an explicit preview option for reopening its notebooks. New pack selection creates separate histories.
- Add original teaching material and unsolved framework/capstone exercises; retain the existing FDE route and shared lessons.
- Refresh the practice screenshot and add an actual AI-route capture with reviewed metadata and exact-byte checks.

Validation: 78 application tests, syntax and static build checks, publication scans of current files and reachable history, and independent content/privacy review. Real-interface checks covered all six filters, all nine new lesson entry points, AI and Kafka recognition/model gates, 375px layout, keyboard focus, manual reduced motion, and reopening the unchanged previous notebook. No learner exercise was solved or live framework, Kafka cluster, provider or deployment experiment run for these materials.

## Documentation update — 2026-09-06

- Add four actual-app screenshots with labelled demo data, capture details and exact-byte publication checks.
Expand Down
2 changes: 1 addition & 1 deletion PACKS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Study pack format

The included [engineering pack](packs/engineering.json) provides 31 lessons across six tracks. Preview it from **Study packs**; selection is explicit and its records stay separate from the original starter. See the [track guide](docs/STUDY_TRACKS.md) for prerequisites and exercise materials.
The included [engineering pack](packs/engineering.json) provides 40 lessons across six tracks. Preview it from **Study packs**; selection is explicit and its records stay separate from the original starter. The previous 31-lesson [engineering-v1 pack](packs/engineering-v1.json) remains available for reopening its records. See the [track guide](docs/STUDY_TRACKS.md) for prerequisites and exercise materials.

Start by downloading **Study packs → Download current pack** or copying [`packs/starter.json`](packs/starter.json). The version 1 envelope is:

Expand Down
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Your work stays in your browser. Optional tutoring connects to your own Codex ac

[Try Padipps](https://siddath.github.io/padipps/) · [Study tracks](docs/STUDY_TRACKS.md) · [Create a pack](PACKS.md) · [Codex setup](docs/CODEX.md)

![Padipps practice library in the Ink theme, with 31 lessons and six track filters](docs/screenshots/practice.jpg)
![Padipps practice library in the Ink theme, with 40 lessons and six track filters](docs/screenshots/practice.jpg)

*The running app with the engineering pack selected. Screenshots use an isolated demo session; no personal study records or account details appear. [Capture details](docs/screenshots/README.md).*

Expand All @@ -15,7 +15,7 @@ Your work stays in your browser. Optional tutoring connects to your own Codex ac
| Feature | What you can do |
| --- | --- |
| Guided practice | Recognise the problem, work through a small model and trace, explain it back, then attempt an independent task. Record an outcome, evidence and a review date. |
| Study library | Start with three lessons or select the optional engineering pack: 31 lessons across six overlapping tracks, with 96 exercise/material files. Filter by track and search within it. |
| Study library | Start with three lessons or select the optional engineering pack: 40 lessons across six overlapping tracks, including an eight-module AI route and a Kafka consumer-lag lesson. Filter by track and search within it. |
| Notebook | Link notes to lessons, search them, mark them Open, Revisit or Resolved, and inspect up to 20 previous versions. Drafts save as you type. |
| Focus timer | Configure focus, short-break and long-break intervals. Pause, resume or reload without losing the timer. Start each interval yourself. |
| Study shelf | Reveal a book after a finished focus timer. Choose philosophy, art or spirituality ideas with source links and reflection questions, or turn ideas off. |
Expand All @@ -27,7 +27,11 @@ Your work stays in your browser. Optional tutoring connects to your own Codex ac
Practice outcomes are self-reported. A completed timer records elapsed time; it does not establish attention or understanding. The app does not run learner code or grade mastery. Book ideas are editorial interpretations, with sources, rather than quotations.

<details>
<summary>More screenshots: notebook, focus timer and book reveal</summary>
<summary>More screenshots: AI route, notebook, focus timer and book reveal</summary>

**AI route, Ink theme.** Eight modules in order, followed by two shared API exercises.

![Padipps AI track showing ten lessons and the LLM foundations starting point](docs/screenshots/ai-route.jpg)

**Notebook, Violet theme.** A sample note marked Revisit, with zero practice attempts recorded.

Expand Down Expand Up @@ -59,9 +63,9 @@ The [hosted app](https://siddath.github.io/padipps/) supports practice, notes, f

## Choose your study material

Open **Study packs → Preview engineering pack → Use this pack**. The included tracks cover DSA, backend engineering, distributed systems, AI application engineering, forward deployed engineering/customer delivery and product design. Some lessons belong to more than one track. See the [track guide](docs/STUDY_TRACKS.md) for counts, prerequisites and the fictional customer-delivery capstone, and [exercise materials](materials/engineering/) for unsolved starters.
Open **Study packs → Preview engineering pack → Use this pack**. The included tracks cover DSA, backend engineering, distributed systems, AI application engineering, forward deployed engineering/customer delivery and product design. Follow the [eight-module AI route](docs/AI_ROUTE.md) from LLM foundations through a production capstone. Kafka consumer lag belongs to Distributed systems. Some lessons belong to more than one track. See the [track guide](docs/STUDY_TRACKS.md) for counts, prerequisites and the fictional customer-delivery capstone, and [exercise materials](materials/engineering/) for unsolved starters.

The original three-lesson starter stays available. Switching packs preserves its records. To create another subject, download the current pack as a template, edit its JSON, then import and preview it before choosing **Use this pack**. [PACKS.md](PACKS.md) documents lesson fields, validation and extension rules.
The original three-lesson starter and [previous 31-lesson engineering pack](packs/engineering-v1.json) stay available. Switching packs preserves its records. To create another subject, download the current pack as a template, edit its JSON, then import and preview it before choosing **Use this pack**. [PACKS.md](PACKS.md) documents lesson fields, validation and extension rules.

Keep copies of the exact pack files you use. Backups belong to a pack ID and SHA-256 content fingerprint; even an editorial change creates a separate revision. Switching revisions does not merge histories. Import validation checks structure and safe links, not teaching accuracy.

Expand Down
38 changes: 38 additions & 0 deletions docs/AI_ROUTE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# AI application engineering route

Open **Study packs → Preview engineering pack → Use this pack**, then **Practice → AI application engineering**. Begin with **Trace text into a validated model result** and follow the eight modules below. Titles in the app may spell out the specific problem; the stable IDs identify the lessons and their materials.

The guided lesson opens with a diagnostic, then a small model and trace, a decision and an unaided explanation. The independent assignment takes place in your editor and may need several study blocks. Prerequisites suggest an order; they do not certify readiness or prevent opening a lesson.

| Module and materials | Concepts | Independent assignment |
| --- | --- | --- |
| 1. [LLM foundations](../materials/engineering/ai-llm-foundations/README.md) | Token pieces and IDs, internal embeddings, attention, parameters, training/post-training/inference, logits, probabilities, next-token generation, context, sampling, hallucination; system/user/few-shot prompts and structured output. Distinguish base generation from external retrieval. | Compute cosine similarity from scratch, validate edge cases and structured JSON, and make an optional call through your own chosen provider. |
| 2. [RAG foundations](../materials/engineering/ai-rag-foundations/README.md) | Ingest, chunk, embed, index and retrieve; generation with sources; chunk and embedding choices; HNSW, IVF and PQ tradeoffs. | Build an end-to-end LangChain/Chroma pipeline on a fictional corpus with retrieval and answer checks. |
| 3. [Advanced RAG](../materials/engineering/ai-advanced-rag/README.md) | Query expansion, HyDE, multi-query, cross-encoder reranking, metadata filters, dense/sparse hybrid search, multi-vector and Self-RAG distinctions; faithfulness and relevance. | Compare retrieval variants with the same held-out evaluation set. Record failures, cost and latency as well as quality. |
| 4. [RAG architectures](../materials/engineering/ai-rag-architectures/README.md) | Production pitfalls; graph retrieval, KAG, agentic, multimodal and LightRAG approaches; evidence-based architecture selection. | Implement a Neo4j graph retrieval variant and compare it with a vanilla RAG baseline on the same use case. |
| 5. [Single agent](../materials/engineering/ai-single-agent/README.md) | Model/tool/observation loops, deterministic workflows, validated function dispatch, ReAct, typed outputs, Pydantic AI, MCP and permission boundaries. | Build a bounded agent with tools, structured results, guardrails and failure tests. |
| 6. [Multi-agent workflow](../materials/engineering/ai-multi-agent/README.md) | Orchestrator-worker and routing patterns; planning, handoffs, information isolation, short/long memory and cost/latency budgets. | Build a LangGraph research/writer/critic pipeline with explicit routing and bounded retries. |
| 7. [Context and evaluation](../materials/engineering/ai-context-evals/README.md) | Context selection, trust boundaries, memory retention; accuracy, F1, exact match and tool-call accuracy; judge rubrics, calibration and bias; redacted traces. | Evaluate the previous workflow with quantitative metrics and a separate optional model judge, including guardrail failures and observability. |
| 8. [Production capstone](../materials/engineering/ai-production-capstone/README.md) | MVP scope, stack/RAG/agent choices, reliability, security, observability, cost and release evidence. | Produce an implementation, architecture review, eval walkthrough, operations plan and demo with structured feedback. Describe the limits of what you verified. |

The route uses these stable IDs in order:

`ai-llm-foundations` → `ai-rag-foundations` → `ai-advanced-rag` → `ai-rag-architectures` → `ai-single-agent` → `ai-multi-agent` → `ai-context-evals` → `ai-production-capstone`.

The AI track ends with two existing companion lessons, `job-api` and `ai-gateway`, for retry-safe API behavior and model-output validation. They remain single shared lesson records. The FDE route keeps its existing permissioned-retrieval delivery exercise; it does not acquire duplicate copies of these eight modules.

## Kafka has a separate home

[Kafka consumer lag](../materials/engineering/kafka-consumer-lag/README.md), ID `kafka-consumer-lag`, belongs to **Distributed systems**. Its fixture exercise traces a producer, topic partitions, brokers and a conventional consumer group; compares log-end and group positions; and asks you to discriminate causes with evidence. It is not an AI prerequisite.

## Tools and evidence

Local starter checks use the language/runtime named in each exercise. Framework assignments need a learner-owned environment and may need dependencies, a local database or a model account. Consult the linked official documentation and record the versions you use. The Padipps tutor connection does not supply an API key to exercise code.

All starters remain unsolved. Synthetic fixtures, blank review templates and example traces are teaching aids. They are not live integrations, production deployments, real user outcomes or completed learner evidence. Live peer/mentor feedback must come from an actual reviewer; the app does not supply a cohort, certification or scheduled one-to-one review.

Write your own implementation, record the tests you ran and assistance you used, then explain a counterexample without the lesson open. Neither a model response nor completion of a focus timer proves understanding.

## Existing notebooks

The expanded pack is `engineering-v2`: 40 lessons in six overlapping tracks. The 31-lesson `engineering-v1` remains available through **Study packs → Preview previous engineering pack** and as [engineering-v1.json](../packs/engineering-v1.json). Its bytes and existing lesson objects are unchanged. Choosing the expanded pack opens separate notebook, focus and conversation histories. No records are migrated or merged. Keep backups and the exact pack revision associated with them.
8 changes: 5 additions & 3 deletions docs/STUDY_TRACKS.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
# Engineering study tracks

> **Summary:** [`engineering.json`](../packs/engineering.json) contains 31 reusable lessons across six overlapping tracks: DSA 9, backend 3, distributed systems 4, AI application engineering 2, forward deployed engineering 21, and product design 3. The FDE route begins with discovery and carries one fictional Slack, CRM, and permissioned-document capstone through delivery. Every coding artifact is an unsolved starter or bounded synthetic fixture. Learners produce and review their own implementation evidence. The three product-design sessions are the current public baseline; a broader design-school integration is an extension path, not completed material.
> [`engineering.json`](../packs/engineering.json) contains 40 lessons across six overlapping tracks: DSA 9, backend 3, distributed systems 5, AI application engineering 10, forward deployed engineering 21, and product design 3. The AI track includes eight ordered modules and two shared companion lessons. The FDE route retains its fictional delivery capstone. Starters are unsolved and fixtures are synthetic; learners produce their own evidence.

The pack can be imported from **Study packs** in Padipps. Its first recommended session is `customer-discovery`, but every track remains directly accessible from the practice library. A lesson can belong to more than one track without being duplicated.

| Track | Lessons | What it practises |
| --- | ---: | --- |
| Data structures and algorithms | 9 | Hash lookup, two pointers, prefix sums, windows, monotonic structures, graph traversal, bipartite checking, and minimum spanning trees. |
| Backend engineering | 3 | Retry-safe API contracts, Spring proxy transaction boundaries, and SQL job claiming. |
| Distributed systems | 4 | Recoverable migration work, overload diagnosis, idempotent job creation, and concurrent ownership. |
| AI application engineering | 2 | Bounded model-output validation and dependable API behavior. |
| Distributed systems | 5 | Recoverable migration work, overload diagnosis, idempotent job creation, concurrent ownership and Kafka consumer lag. |
| AI application engineering | 10 | Eight modules from LLM mechanics through RAG, agents, context/evals and production; shared API and output-validation companions. |
| Forward deployed engineering | 21 | Discovery, scoping, APIs, identity, integrations, tenant isolation, security, permissioned retrieval, delivery, operations, measurement, and productization. |
| Product design | 3 | Evidence-grounded critique, recovery flows, accessibility, and responsive implementation. |

See the [AI route guide](AI_ROUTE.md) for its module sequence, concept coverage and independent assignments. The 31-lesson [previous pack](../packs/engineering-v1.json) stays available with unchanged bytes and a separate notebook identity.

## Prerequisites and order

Prerequisites in the pack are advisory links to earlier concepts. They do not lock a lesson. The FDE sequence is deliberately discovery-first:
Expand Down
5 changes: 3 additions & 2 deletions docs/screenshots/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Application screenshots

These are unedited browser captures of Padipps 0.2.0, app revision `5b45173988a447e082a812a02e7a0257af0d47fa`, taken on 6 September 2026. They show the public application running on a separate local port with chat disabled. The browser's default viewport was 1280 × 720; no device emulation or screenshot compositing was used.
These are unedited browser captures taken on 6 September 2026. Practice and AI route show Padipps 0.3.0, app revision `f9a74d223277bbb354409a439d058833b359b717`. Notebook, focus room and study shelf retain their 0.2.0 captures from `5b45173988a447e082a812a02e7a0257af0d47fa`; those interfaces are unchanged in 0.3.0. They show the public application running on a separate local port with chat disabled. The browser's default viewport was 1280 × 720; no device emulation or screenshot compositing was used.

| Image | Visible state |
| --- | --- |
| [Practice library](practice.jpg) | Engineering pack selected; 31 lessons, six overlapping track filters; Ink theme. |
| [Practice library](practice.jpg) | Engineering pack selected; 40 lessons, six overlapping track filters; Ink theme. |
| [AI route](ai-route.jpg) | AI filter selected; eight ordered modules plus two shared exercises; Ink theme. |
| [Notebook](notebook.jpg) | One sample note titled “Demo note: plan the next study block”, marked Revisit; zero recorded attempts; Violet theme. |
| [Focus room](focus.jpg) | Short break ready to start following a five-second QA timer; Sand theme. |
| [Study shelf](shelf.jpg) | One book labelled “QA timer check”, its five-second duration and a source-linked editorial reflection; Sand theme. |
Expand Down
Binary file added docs/screenshots/ai-route.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/screenshots/practice.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 5 additions & 1 deletion docs/screenshots/reviewed-images.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,13 @@
"c5a88b859fda3329f4de8ae375245cce6eea35886b86278a6c4c471caf415343"
],
"docs/screenshots/practice.jpg": [
"8a8a32fef0bd64ef1ea5465840448b74cf49c65ef2bd6ad6d443c7ea4d45efe5"
"8a8a32fef0bd64ef1ea5465840448b74cf49c65ef2bd6ad6d443c7ea4d45efe5",
"cbe9cd303223238020f35939f4db6ad8266cb9431dd8188a37f03edfa0988aef"
],
"docs/screenshots/shelf.jpg": [
"ed8c5884835b2af060282f7b9d0b5b1fe5eda474be4f517f1d4d9b0bdc6a692f"
],
"docs/screenshots/ai-route.jpg": [
"49d4661378b211169687a5feb44941077e5d053882ffbb7ed6f01ee5dd063fac"
]
}
Loading
Loading