Get AI summaries of any video or article — Sign up free
How I Learn to Code for School and Work using Obsidian thumbnail

How I Learn to Code for School and Work using Obsidian

John Mavrick Ch.·
5 min read

Based on John Mavrick Ch.'s video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

Start with a concrete learning intention—often a project—and plan it with OKR or SMART so note-taking supports a measurable goal.

Briefing

Learning to code with Obsidian works best when notes are treated as a system for decision-making and retrieval—not a dumping ground for syntax. The core workflow starts with setting clear intentions for what to learn (often tied to a concrete project), then organizing resources and notes so progress stays trackable across school, internships, and self-study. That matters because coding skills compound: the ability to revisit the right concept quickly is what turns short-term study into long-term competence.

The process begins by choosing a target and planning it. One approach is to create a project aligned with the language or framework being learned—such as an Angular project used during work—and then structure the plan using frameworks like OKR or SMART. During this planning phase, the learner identifies the main roadmap (a primary course or learning path) and supplements it with additional materials. To manage those inputs, resources are collected into a Kanban-style board, with cards linking to lectures, videos, and articles. Each card can also link to deeper notes, such as a dedicated note for a topic like rxjs, so the system connects “what to read” with “what to remember.”

For structured curricula, notes are organized into a hierarchy: a main school note branches into courses, then into units and topics. Queries filter notes by tags like “course,” and optional parameters such as year and semester narrow results to the current term. Instead of organizing notes strictly by lecture date, the workflow pushes toward conceptual notes. After capturing key ideas from a lecture, the learner breaks them into atomic notes—small, focused entries created during class—so understanding is actively constructed rather than passively consumed. In data structures and algorithms, for example, notes for topics like binary trees use slide-like headers, subtopics, and connections, even if the layout becomes messy, prioritizing utility over aesthetics.

To keep the vault efficient, images are minimized. Screenshots are stored externally using Yazoo, then the markdown is copied into Obsidian, reducing storage bloat—especially important when syncing or uploading to the cloud. For memorization, the Space repetition plugin converts selected notes into flashcards. Notes are tagged (e.g., cards), then sub-tags organize flashcard sets by class and unit. On the commute to school, the learner reviews these cards, drilling concepts with spaced intervals.

Self-learning introduces a different risk: notes that focus only on basic syntax can become clutter once the learner moves on. The alternative is to use Obsidian as a customizable resource collection—more like a map of content than a transcript. When a tutorial is clear and referenceable, the system stores links and summarizes only what’s necessary, creating a higher-level view of strengths and gaps. For frameworks built on JavaScript, the notes become directories: React notes track components and examples like props, while Angular notes handle observables and other framework-specific concepts. The guiding principle is personal structure—notes should capture what the learner would otherwise have to look up again, whether that’s terminology, edge cases, or small “nitpicks” that matter when coding later.

Cornell Notes

Obsidian becomes a coding-learning engine when it’s organized around intentions, retrieval, and spaced practice—not when it’s used as a notebook dump. The workflow starts with planning a project (e.g., Angular) using OKR/SMART, then collecting learning resources into a Kanban board with links to deeper notes. For school-style learning, notes are organized by course → unit → topic, and lecture content is converted into atomic, conceptual notes with headers and connections. Memorization is handled by the Space repetition plugin, which turns tagged notes into flashcards reviewed on a schedule. For self-learning, the system shifts toward a “map of content” approach: store referenceable tutorials as links, summarize only what’s needed, and build framework-specific directories (React components/props, Angular observables, React Redux notes) to reduce long-term clutter.

How does setting intentions change the way Obsidian is used for learning to code?

Intentions turn note-taking into planning. Instead of collecting random notes, the learner sets a target outcome—often by creating a project tied to the language or framework (such as an Angular project from work). Planning frameworks like OKR or SMART help define what success looks like. That planning step also forces a resource audit: identify the main roadmap (primary course) and the supplemental materials available, then capture them in a Kanban board so learning inputs stay organized and actionable.

Why does the workflow shift from lecture-date organization to conceptual/atomic notes?

Lecture-date organization can make retrieval harder when the learner later needs concepts, not timestamps. After dumping key lecture content into a single note during class, the system breaks it into smaller atomic notes based on ideas and subtopics. This creates active thinking during class and produces notes that are easier to scan later—like binary tree notes built from slide-style headers, characteristics, and subtopics rather than one long transcript.

What role do Kanban boards and linked notes play in keeping resources usable?

Kanban boards act as a control panel for what to consume next. Each card can include a link to a lecture/video/article, and cards can also link to separate notes for deeper reference. For example, a resource card can link to a dedicated note for rxjs, so the learner can jump from “where the material came from” to “what the key takeaways are” without re-searching.

How does the system reduce vault bloat while still capturing visual information?

Instead of storing many screenshots directly in the vault, screenshots are saved online via Yazoo. The learner then copies the markdown into Obsidian. This keeps the vault smaller and more practical when using syncing tools like Obsidian sync or when uploading to cloud storage.

How does spaced repetition fit into coding note-taking?

The Space repetition plugin converts selected notes into flashcards using tags. Notes tagged for cards are further organized with sub-tags by class and unit, and the plugin settings control the flashcard syntax and review intervals. The learner then reviews these cards during commute time, drilling concepts repeatedly so memory sticks beyond the initial study session.

What’s the key difference between note-taking for school vs. self-learning?

School notes can be structured around curricula and frequent review, so conceptual atomic notes and flashcards work well. Self-learning carries a clutter risk if notes focus only on syntax and basics. The alternative is to treat Obsidian as a resource collection and map of content: store strong tutorials as links, summarize only what’s necessary for future reference, and build framework-specific directories (React components/props, Angular observables, React Redux notes) so the system stays useful as skills evolve.

Review Questions

  1. When planning a learning project, what two categories of resources should be identified before taking notes?
  2. How does converting lecture notes into atomic notes change how information can be retrieved later?
  3. What tagging strategy enables flashcards to be reviewed by class and unit using the Space repetition plugin?

Key Points

  1. 1

    Start with a concrete learning intention—often a project—and plan it with OKR or SMART so note-taking supports a measurable goal.

  2. 2

    Collect primary roadmaps and supplemental resources, then organize them in a Kanban board with links to both materials and deeper topic notes.

  3. 3

    Use course → unit → topic structure for school curricula, and rely on queries with tags (plus year/semester filters) to surface the right notes.

  4. 4

    Prefer conceptual atomic notes over lecture-date dumps by splitting lecture content into focused entries with headers, subtopics, and connections.

  5. 5

    Reduce storage overhead by storing screenshots externally with Yazoo and pasting markdown into Obsidian instead of embedding many images.

  6. 6

    Turn selected notes into flashcards using the Space repetition plugin with tags and sub-tags for class and unit, then review on a schedule.

  7. 7

    For self-learning, avoid long-term clutter by treating Obsidian as a map of content: store referenceable tutorials as links and summarize only what’s needed for future coding.

Highlights

A Kanban board can function as the “front door” to learning, linking each resource card to dedicated notes for topics like rxjs.
Atomic notes created during lectures shift effort from passive consumption to active concept building, even if the overall layout becomes messy.
Yazoo helps keep an Obsidian vault lean by storing screenshots online and inserting markdown references instead of embedding images.
Space repetition turns tagged notes into flashcards, letting learners drill concepts by class and unit during commute time.
Self-learning notes work best as a resource map—links plus targeted summaries—rather than retyping everything from tutorials.

Mentioned