Show HN: Lathe – Use LLMs to learn a new domain, not skip past it

devenjarvis 282 points 53 comments June 07, 2026
github.com · View on Hacker News

Hey HN! Lathe is an experiment in using LLMs to teach me something new, instead of doing the work for me. It generates a hands-on, source-backed tutorial for any technical topic you want to learn. Then you work through it yourself by reading and typing the code by hand ( gasp ) in a local UI built for exactly that. It's a Go CLI plus LLM agent skills (Claude Code / Cursor / Codex). You prompt something like "/lathe build a 3D slicer in Erlang", run `lathe serve` to spin up a local webapp, and read it in your browser. Every tutorial comes with the things that have made self-learning a pleasant experience for me in the past: - table of contents that follows along as you scroll - side-notes that nudge you to think - exercises for the reader - sources backing up the content that you can use to take you deeper To help make up for the lack of human brainpower behind the tutorial, you can also ask questions about the content, have another LLM verify the tutorial actually compiles and runs, or extend it with another part (no more "Part 4 of 6" that hasn't seen an update since 2021). I didn't build lathe to replace human-written tutorials. I built lathe because I _love_ human-written tutorials, but wanted to learn technical domains where no good human-written tutorial exists yet (building a 3D slicer from scratch, making embedded Zig approachable, etc). There's a longer story in the README about how I got started with programming through PSP homebrew tutorials, and why losing that to LLMs bugged me enough to build this. I'm not here to sell you anything (there's nothing close to a VC-backed startup here :D). It's an LLM, and its output is usually good but not perfect by any means. So far, my experience is that because you're the one typing and actually engaged, you catch the weird stuff (and I'm finding that pushing back on it is its own kind of learning). And yes, it's vibecoded, because it's low scope, low risk, and scratching a personal itch. I run it on Claude Code + macOS personally, other setups should work but I haven't been able to verify them yet. If you can find resources to learn something that was written by a human, read that first. But Lathe is here to fill in the gaps when that isn't the case, and I hope it serves as an example where LLMs can help us think better, rather than less. Repo: https://github.com/devenjarvis/lathe Would love your feedback if you decide to check it out!

Discussion Highlights (20 comments)

james_marks

Love this idea, can’t wait to try it. Thank you for sharing!

tatjam

This is a very cool idea, feels like a sane way to use LLMs in this crazy time! Could be a very good way to break the ice when starting a new project and everything is friction.

esafak

I just use https://blog.google/products-and-platforms/products/educatio... and similar features of other AIs.

ramon156

What I'm more looking at is your own experience with a vibed tool. I cannot really tell from this introduction whether you actually use and like it (you mentioned you use it and sometimes push back, which is a learning strategy of its own?) Also, I wouldn't say "have another model test the tutorial compiles" a feature, but also I do not expect a fool-proof tutorial from a one-shot, I guess. Not sure why I would try this over a hand-written promot. Also wondering why ChatGPT Study mode failed, it seemed interesting.

kaeluka

great, i'll try this. something like this has on my list and i'm super curious :)

schmorptron

Cool project! I'll be trying it out. I've been a big fan of throwing whatever sources I have on a new topic i'm trying to get into into a llm "project" and then asking it to teach me, grounded on the actual content to speed things up. But at the same time, I'm afraid getting everything laid out for you in exactly the way you want will erode some of the understanding you build by going through a primary source directly and figuring things out the hard way. So this having more focus on actually doing stuff by yourself seems right up my alley (while still tending to the LLM induced intellecutal laziness... ) .

dchuk

I’ve been using this general pattern - a custom cli app for deterministic tasks, skills for the agent harness, run the skills in the agent and it produces artifacts for you by using the cli and its own agentic reasoning - a lot lately for work. Things like “give me an executive brief of the activity in these teams backlogs over the last month” and in 5-10 minutes I have a few page doc I can read that is cited with the tickets it analyzed and I don’t have to go bug people or ask them to do yet another task for me, just make sure your backlog is updated and detailed like normal practice. It’s awesome and really fits a useful spot between pure agent usage (which is hard to get consistent results from on repeat tasks) and not having to build/buy a full blown app for every random thing.

4b11b4

I like the idea and I know you explicitly address this but wonder if still it could search for human made works for you to learn from first If it does find some, maybe it could supplement them instead of just from scratch

mixtureoftakes

We have notebooklm at home? Is there any comparison between these two, looks nice

28304283409234

Nice! I do this now locally with LLMS and ollama and my own havky prompts. I could not find if this also supports ollama?

xyzsparetimexyz

Just put the prompt in the bag bro

threecheese

Did you write the skill.md files yourself? I often wonder this; there’s so much text in most skills, and I can’t imagine it’s human generated. I don’t write my own - I can’t optimize for the models understanding, and so I just give the skill-creator skill an outline and then have it refine until the output is what I want.

d4rkp4ttern

A related idea is to have the LLM quiz you, Socratic-style about a topic of interest. It persists in asking questions at deeper levels until you arrive at the answer yourself. This forces you to think hard about a problem, and this effort helps with understanding, learning and retention. Of course I made a Socratic-quiz skill for this, to use with any coding agent or similar: https://pchalasani.github.io/claude-code-tools/plugins-detai... For example I’ve used this to better understand counter-intuitive things about diabetes/insulin, dopamine and motivation, Claude’s implementations, etc (to combat so-called cognitive debt). Strong LLMs are surprisingly good at this type of quizzing, they display a semblance of “theory of mind”.

rdksu

I have updated the popular /grill-me skill for this exact purpose! I had a very insightful grilling session yesterday on what exactly happens when you try to load an extremely large dataset in pandas, covering everything down to the last detail !

f311a

> If you can find resources to learn something that was written by a human, read that first. But Lathe is here to fill in the gaps when that isn't the case Well, but it will still serve you content from humans, but without any attribution.

TonyAlicea10

There is of course a degree of true usefulness to this. However I’ve been a technical educator for years and I’ve tried to do lots with LLMs. Even now, LLMs are terrible educators. They do not make coherent progressive curriculums. They hallucinate details which the student will not have the knowledge to challenge. If you use an LLM to make a tutorial you will get some benefit for sure, especially if you use it for Socratic sessions based on a corpus of data you provide (like a blog post or documentation). Don’t expect it to teach you reliably though. It feels good to ask the LLM whatever you want, but if you’re learning a topic you don’t have the instinct to realize when it’s giving you a poorly chosen progression of information or teaching you something flat out untrue.

Sathwickp

Maybe add voice to it so that it reads the tutorial out loud and listen to it lessons on the move?

mmarian

I think you're tackling an interesting area. I was thinking of something similar for system design prep. I experimented with a couple of series of blog posts - one for designing Twitter, another for WhatsApp: https://prepcommons.com/ . Still, it took a lot more effort than just delivering the initial request. AI makes everyone produce something average but you still need taste to produce something good - I guess this applies to courses too.

visarga

I just use md files to plan questions, track my answers, and implement rehearsals for concepts that need more repetition from claude code. And I start from a good book or documentation as source material, first the agent reads the learning material and structures it for learning.

Arubis

For a somewhat hybrid approach here, have a look at https://github.com/DrCatHicks/learning-opportunities — the idea is to be used during “productive work” (so it’s not purely learning-oriented as with your repo here), and to interject as you work to ensure that you learn related concepts as you go.

Semantic search powered by Rivestack pgvector
10,324 stories · 97,050 chunks indexed