### Table of Contents
1. [Motivation](#Motivation)
2. [Problems](#Problems)
1. [Tailored for working professionals](#Tailored+for+working+professionals)
2. [Curating engaging and quality resources](#Curating+engaging+%26+quality+resources)
3. [Learning in community](#Learning+in+community)
4. [Accelerated learning](#Accelerated+learning)
5. [Cognitive engineering](#Cognitive+engineering)
3. [Solutions](#Solutions)
1. [Tools for Learning](#Tools+for+learning)
1. [Prophetic: an engine for creating interactive learning games](#1.+Prophetic+an+engine+for+creating+interactive+learning+games)
2. [Elderleaf: A Note-Taking Tool That Helps You Remember](#2.+Elderleaf+A+Note-Taking+Tool+That+Helps+You+Remember)
3. [Vestige: A VSCode extension that tracks your hands-on projects](#3.+Vestige+A+VSCode+extension+that+tracks+your+hands-on+projects)
4. [UX: How It All Fits Together](#How+It+All+Fits+Together)
2. [Courses](#Courses)
# Motivation
Explorable was born out of a software engineer's desire to keep learning and to practice and seek mastery of the craft and the latest innovations. That desire stems from the feeling of wonder and joy that accompanies insight and understanding: the 'kick' from solving a problem, the awe of seeing the forest for the trees and deep satisfaction of what you build working.
Take the development of LLMs and AI for instance: it's the engineer's curiosity about how it works that makes us want to know it's inner workings, not the FOMO around missing out on the latest technical fad. What I hear from various engineers is similar: I want to cut past the marketing hype, and learn how it really works and the best ways to use it--because at the end of the day, it's a really cool piece of technology built by humble geeks and hackers like many of us.
I've always felt that learning for its own sake gives me tremendous satisfaction--if you were to imprison me in a room with books and opportunities to tinker, practice and learn, I could still be content. I hope through our courses and course delivery techniques, our learners can feel the same satisfaction.
# Problems
### Tailored for working professionals
When I looked for opportunities to continue learning the most advanced topics in my field in a structured manner, I found many expensive full-time courses at well-known universities, or courses that targeted beginners and were too easy. Instead, I wanted a course that took me to the edge of my domain, worked around my working schedule and did not cost a premium solely for a fancy university label.
### Curating engaging & quality resources
Why don't we just learn using resources online? I'm a self-directed learner, but it felt like hard to manage due to the overhead of setting up a consistent practice and sifting through vast amounts of resources. And often resources are simply large bodies of text to read or videos to watch covering a scattered set of topics, without much structure.
### Learning in community
And even more so, there was a desire for being part of a small learning community. I happen to learn the best when I can have fascinating conversations with my friends or peers who are also interested in the same field--the social interaction drives even more curiosity.
### Accelerated learning
What learning techniques accelerate learning? There's often so much to learn and so little time, so I've always been interested in the research around learning theory and cognitive science. I noticed a dearth of course delivery styles that guided me to use the most effective techniques for accelerated learning. Most online courses are delivered through a linear curriculum of videos and text that we passively consume. However, research indicates that engaging in interactive learning experiences are the significantly effective and better use of a professional's limited time.
### Cognitive engineering
These accelerated learning methods include actively exploring right and wrong paths on our own, building personally meaningful projects, processing and synthesizing new information while we learn (e.g. generative note taking, or guessing what might happen instead of simply being given answers) and increasing memory retention by revising what we learn using active recall methods over a spaced out schedule. In the field of computer science in particular, there is a lot of specific education research that has not been incorporated into any learning methods, for example by the [Cognitive Engineering Lab at Brown CS](https://cel.cs.brown.edu/blog/cognitive-engineering/).
# Solutions
Explorable's work has two dimensions:
1. **Tools for Learning**: content delivery methods incorporating optimal learning techniques, allowing various visualizations and even integrated learning techniques.
2. **Courses**: designed to be engaging/fun, covering topics that are either not in universities yet or so advanced that you'd only get to them in a PhD program. These courses are delivered using the tools for learning so that you can't help but adopt the optimized learning methods.
## Tools for Learning
Developing expertise in a domain like software engineering isn't just 'knowing that'—it includes knowing 'how' and 'when':
- **Declarative knowledge (*what*)**: "Asynchronous programming allows concurrent execution without blocking"
- **Procedural knowledge (*how*)**: The ability to *implement* async/await patterns effectively in a codebase, handling race conditions and error propagation
- **Conditional knowledge (*when*)**: Knowing *when* async is necessary versus when synchronous code is clearer, and choosing between promises, callbacks, and async/await syntax
At Explorable, we build the following tools to cover the learning of this range of knowledge:
### 1. Prophetic: an engine for creating interactive learning games
Instead of passively reading course content, engage in an interactive text-adventure game where you make choices and see what happens. You're dropped into a narrative, and explore different paths to learn. When you click a choice and follow a path, an AI chatbot asks you what you think will happen and why. Once you give a good answer (or hit a dead-end), you get to see what really happens next. Cognitive science says when you're wrong is when you learn the most, and Prophetic encourages this friction. In addition, the AI learns about your thinking, including misconceptions that are so often reinforced when you passively consume content. The goal of the game isn't to find the right answer, but to collect as many 'learnings' or insights by exploring the game world.
Prophetic has the following features:
- **game engine**: to create interactive learning narratives, a bit like [Twine](https://twinery.org/) tailored for delivering educational content.
- **AI tutor**: an LLM-backed chatbot that you explore the game world with, and makes you think and not give you answers
- **maps your knowledge**: tracks your understanding and misconceptions based on the conversations and wrong paths you take
- **visualizations**: supports multi-modal representations (pictures, diagrams, animations, even cloud architecture diagrams)
- **Elderleaf integration**: has an integration with Elderleaf, our note-taking tool described below, so you can encode your learnings as notes
### 2. Elderleaf: A Note-Taking Tool That Helps You Remember
This tool lets you take notes and organize them in different ways. You can add pictures, diagrams, and animations to your notes. You can fold and unfold your notes to see more or less detail. There's also a test mode where you can practice remembering what you wrote. The tool reminds you to practice at the right times so you remember better.
Note-taking is a crucial tool for learning: the cognitive friction required to select parts of the content and create your own notes encodes knowledge into memory.
Elderleaf has the following features::
- **note-taking**: lets you take notes in a simple text syntax (extended markdown)
- **spaced repetition**: gives you a **revision schedule** optimized for memory
- **active recall**: helps you revise by trying to recreate your notes, a timeless and effective tactic, but now with feedback from AI
- **rich content**: supports multi-modal representations (pictures, diagrams, animations, interactive explorables/games)
- software-specific visualizations include:
- cloud architecture diagrams (interactive)
- code visualization (e.g. call graphs)
- sequence diagrams, state charts
- syntax highlighted code
- **Prophetic integration**:
- **deep link** into a narrative in Prophetic to reference something
- **autocapture**: captures misconceptions from your learning session on Prophetic so you can add it to your revision notes
- **assisted-note taking**: reminds you of notes you might have missed
### 3. Vestige: A VSCode extension that tracks your hands-on projects
**Vestige** watches your terminal sessions and captures the traces of your struggle—compile attempts, test runs, error patterns, time spent—without interrupting your flow. Later, it surfaces these vestiges to help you reflect on what you learned and why.
The struggle _is_ the learning. Vestige doesn't interrupt you with hints or corrections while you work. Instead, it quietly observes, capturing just enough signal to reconstruct your journey: the twelve compile attempts before tests passed, the fifteen minutes stuck on a path before backtracking, the error message that appeared seven times.
After your session ends, Vestige invites you to investigate your own actions. An AI reflection partner uses your captured journey to ask better questions: _"You ran the tests six times in quick succession here—what were you trying to figure out?"_ or _"This error appeared repeatedly before you changed approach. What clicked?"_
#### What It Captures (Minimal by Design)
- Compile/build attempts and outcomes
- Test runs and pass/fail patterns
- Error categories and frequencies
- Time-on-task and session rhythm
- Major file changes and git commits
### How It All Fits Together
Take an example of a game teaching debugging production issues in distributed systems:
1. **Explore** (tool: Prophetic narrative engine): start the text-adventure game
1. Read small story paragraph: learner explores a choice-based narrative that simulates the situation. Text is never shown all at once, to maximize engagement.
2. Choose next step: learner chooses one of the 3-7 available choices.
3. Guess consequences: the AI tutor asks the user what they expect to happen on the path they chose (can be right or wrong)
4. Socratic dialogue: AI tutor asks questions that guides the user onto the right mental models
5. See consequences: user sees the actual result of the action, so they can compare against their guess
6. Capture understanding: The AI tutor captures their understanding or misconceptions and saves them for future use
2. **Build** (tool: Vestige):
1. *Some* narrative branches require the learner to go do something hands-on.
2. The actions are tracked by the Vestige VSCode extension, which is then reported into Prophetic to continue the narrative.
3. e.g. deploy a backend with simulated traffic and a real dashboard to examine the situation.
3. **Reflect & Consolidate** (tool: Elderleaf): post-session notes
1. Recall and Consolidation:
1. Try to recollect from memory what you learnt from playing the game.
2. Create text / markdown (mdx) notes with pictures, animations, etc.--it's important this is not copy paste, i.e. active note taking.
2. Feedback:
1. Elderleaf reminds you of a) notes that you might have missed, and b) misconceptions to clarify and worth revising leater
4. **Revise & Remember** (tool: Elderleaf)
1. Login to Elderleaf dashboard to see your revision schedule (spaced repetition technique)
2. Use Test mode, and try to recreate your notes from scratch. You can use hints if you're stuck for more than 30 seconds.
3. Elderleaf tracks how many points you recollected correctly, and how many hints you needed, giving you a score for revision quality.
| Tool | Role | Type of Knowledge |
| ------------- | ---------------------------------------------------------------------- | ------------------ |
| **Prophetic** | Build mental models through productive struggle in narrative scenarios | When (Conditional) |
| **Vestige** | Capture evidence of real-world struggle for later reflection | How (Procedural) |
| **Elderleaf** | Consolidate insights into notes for spaced practice | What (Declarative) |
## Courses
The learning tools mentioned above are content agnostic. It can be applied to learning Physics or Creative Writing as much as Software Engineering.
However, the tools are developed with our specific courses in mind. See our [[devschool|Courses]] page for a list of courses.