An open learning engine · early preview

Learn it by
seeing it work.

Code, systems, machine learning, physics. Each idea becomes a picture you can question: you call what happens, then watch it play out. The engine that draws it, MartyGraphics, is open source.

One engine · many worlds

Call it. Then watch it work.

Each stop is a real idea from a Morrowdock course. One scene description draws the picture, the numbers and the words, so they always agree. You make the call first; nothing gives the answer away.

Code Gym · two pointers

Find two numbers that add to 19, without trying every pair.

From the written lesson “Two fingers on the list” · not in the app yet

Sorted list 1, 4, 6, 8, 11, 13, 17; target 19. L points at 1, R points at 17; 1 + 17 = 18, less than 19. Nothing ruled out yet. Checks so far: 1.1 + 17 = 18 < 191468111317LRchecks: 1 · every pair: 21

1 + 17 = 18 is too small. Which pointer moves?

What you take away: on a sorted list, each move rules one number out for good, so you need at most n − 1 checks instead of every pair.

System design · caching

At a 90% hit rate, requests average 10.9 ms. Raise it to 99%. How much faster?

From the authored caching lesson · not in the app yet · illustrative timings: 1 ms cache, 100 ms database

100 requests at a 90% hit rate: 10 misses go to the database. Average latency 10.9 ms; misses take 92% of the total time.100 requests · hit rate 90%■ cache 1 ms ■ database 100 mswhere the time goesmisses: 92% of the timeaverage latency10.9 msavg = h · 1 ms + (1 − h) · 100 ms = 10.9 ms

Make your call before you change anything.

What you take away: the average is dominated by the slow path, so the last few points of hit rate buy most of the speed.

AI Lab · covariance to PCA

Squash these points onto one line. How much of their spread can a single direction keep?

From the AI Lab course “Covariance to PCA” · draft in review · not in the app yet

14 points spread along a tilted cloud, with a line through their centre at 0°. The spread kept by the best line is hidden until you predict.line angle0°spread kept?spread on the line = uᵀ Σ u

Each point drops a shadow onto the line. Keep the best line you can find.

What you take away: the direction that keeps the most spread is the covariance matrix’s top eigenvector, the first principal component.

Physics · force and motion

Push a cart, predict how fast it speeds up, then release it.

Physics practice is in the private iPad beta; this full lesson is a browser demonstration

The complete lesson runs below: a worked example, a guided change you control, then a fresh problem with the answer held back until you commit. A slope lab follows, where every arrow is a numbered quantity you can question.

Go to the full lesson

What is real here. These stops are browser re-creations written for this page, drawn the way MartyGraphics describes scenes. MartyGraphics is open source as an early preview (Apache-2.0, Swift); its public templates include a two-pointer array and a binary-search tree, and its own native exports show them. The courses they come from are still being written.

Where things stand

Physics · a complete lesson

Learn it. Work it out. Try it yourself.

One idea, three steps: a worked example, a guided change, then a fresh problem with nothing given away.

Physics · force & motion

Browser demonstration · runs on this page

Acceleration

a = F ÷ m

= 8 N ÷ 2 kg

= 4 m/s² right

2 kilogram cart; 8 newton net force right; acceleration 4 metres per second squared right; released from rest it travels 2 metres right in 1 second 2 kg F = 8 N a = 4 m/s² t = 0.00 s Δx = 0.00 m

On this board · ? is yours to work out
Net forceMassAccelerationDistance in 1 s from rest
8 N right2 kg4 m/s² right2 m right

1 · Learn the idea

Force changes motion.

Acceleration is net force divided by mass. This 2 kg cart gets an 8 N push, so it speeds up by 4 m/s every second.

Released from rest, it covers ½ · a · t² = ½ × 4 × 1² = 2 m right in 1 s. The faint outlines show where it is every quarter second.

Illustrative, interactive example written for this website: not an app screenshot, a recording, or live AI. Nothing is saved or scored.

MartyGraphics · the teaching board

A picture you can question.

Every arrow is a real quantity with a number, a direction and an explanation. Predict first, then change the slope: picture, maths and words move together.

Predict first

A 4 kg block starts at rest on a 25° slope. Does it stay put or slide?

Static friction μs = 0.3, kinetic μk = 0.2, g = 9.81 m/s². The slope is the only surface it touches, and nothing else pushes or pulls on it.

4 kg block at rest on a 25° slope. Weight 39.2 N down, normal force 35.6 N, 16.6 N along the slope. Whether it holds or slides is hidden until you predict. θ = 25°1 4 kg W cos θ6 W sin θ5 W3 N4 f7 a8 Holds or slides? Predict first.
  1. W = mg = 4 kg × 9.81 m/s² = 39.2 N
  2. N = W cos θ = 39.2 N × cos 25° = 35.6 N
  3. W sin θ = 39.2 N × sin 25° = 16.6 N
  4. f ≤ μs N, with μs = 0.3: holds or slides?
  5. a = ?
All 8 quantities as a table
Everything on the board · choose one to explain it
Marker#QuantityValue and direction
125° rises to the right
24 kg starts at rest
339.2 N straight down
435.6 N perpendicular to the surface, away from it
516.6 N down the slope (part of W)
635.6 N into the surface (part of W)
7? after you predict
8? after you predict

Choose a quantity

Tap an arrow on the board, or choose a row in the table. Each row and its arrow share a numbered marker.

What is real here. A browser re-creation, in JavaScript, of the incline teaching model in MartyGraphics, Morrowdock’s native Swift graphics engine: same physics, numbered objects, step sizes and arrow colours. It does not run the Swift engine. The engine’s source also has Atwood, circular-motion, projectile, spring and third-law templates; their app placement is still being tested.

Starting small. Building with care.

Courses across the things worth learning.

Private iPad beta

Physics

Learn-first setup, explanations before guided practice, optional placement you can skip, and a saved next lesson to return to.

Submitted for private iPad testing. No public download; tester availability is unverified.

Marty the otter, Morrowdock’s learning companion, thinking

Private beta · one lesson

Code Gym

Explore variables: watch, predict, assemble and explain, then try a fresh problem on your own. Broader coding and interview practice is coming soon.

Coming soon

Planned paths

  • AI Lab
  • Autopilot Lab
  • Terminal & Git
  • System design
  • Part 107
  • School classes

Across every path

  • Pencil-first thinking · in beta
  • Practice-exam loop · in development
  • Marty Home · in development
  • Real GitHub repos · coming soon
What each one covers
  • AI Lab foundations, experiments, deeper-study prep
  • Autopilot Lab sensing, control and decisions
  • Terminal & Git make the command line familiar
  • System design services, data and tradeoffs
  • Part 107 study tools, not a substitute for FAA requirements
  • School classes physics in the private beta; class setup later
  • Pencil-first thinking part of the private iPad beta
  • Practice-exam loop generate, try, revisit; still in development
  • Marty Home what to learn next; no promises of grades or jobs
  • Real GitHub repos projects you own; publishing is your choice

See every course being written, lesson by lesson

Why we’re building this

Make room for understanding.

Morrowdock is an independent learning project built around one habit: understand a small idea, work through it with support, then try it yourself.

Questions? Contact hello@morrowdock.app.

Open by design · MartyGraphics is public

Your learning should stay yours.

MartyGraphics is public under Apache-2.0 as an early preview. Other repositories and packages, course contributions, imports and exports are still being prepared.

The plan: a Free app with your own supported AI, and free Self-hosted server software. Both are still in development; hardware, hosting and external AI costs are separate. Plus, a hosted option, is planned. It is not for sale, and it has no price and no date.

Compare the planned options Explore the plan for creating courses

Before you join

A few useful answers.

Can I download it now?

The latest iPad build has been submitted for private testing. Tester assignment and download availability have not been verified, and joining the interest list does not grant app access. There is no public download or release date; iPhone and Mac are coming soon.

What’s in the latest private-beta build?

The submitted private beta adds one hands-on Code Gym variables lesson: watch, predict, assemble, explain, then try a fresh independent problem. Your Hub continues the exact lesson; drafts, help and reveal state are retained when you leave and return. Learn-first setup and optional placement remain. Broader tracks, Course Studio and the full generated-exam loop are still in development.

Is the lesson on this page the app?

No. The cart lesson and the slope lab are browser demonstrations written for this website. The lab re-creates the incline teaching model from MartyGraphics, the app’s native graphics engine, but it does not run the engine and is not a screenshot or recording of the app.

Is there a paid plan?

Not today. The plan is a Free app with your own supported AI and free self-hosted server software; both are still in development. Plus, a hosted option, is planned. It is not for sale: no price and no date. Plus and account sign-in are not available.

Will AI cost money?

Your chosen AI service may charge for usage. Paid AI is opt-in; supported connections are still being built. Joining the interest list is free.

Can I keep my work?

Portable courses, import and export are our direction. The planned formats are not all available today. See the portability plan.

What happens after joining?

We record your interest in future Plus and open-source updates. Email updates are not active yet. Joining is no purchase or access guarantee, and we promise no launch date. You can request deletion.