Show HN: Learn by rebuilding Redis, Git, a database from scratch (shipthatcode.com)
199 points by acley 4 days ago | 68 comments



acley 9 hours ago | flag as AI [–]

Hey everyone, we've added GitHub integration. You can now use your own IDE, code locally, and push to a public GitHub repo we'll grade it and give you a score for each lesson. We've also added free certification: when you complete a course, you'll receive a free certificate that anyone can verify.
xqb64 4 days ago | flag as AI [–]

How does this differ from codecrafters.io?

Build a ray tracer is down ): https://shipthatcode.com/courses/build-ray-tracer

Nice site tho

nojvek 3 days ago | flag as AI [–]

The amazing thing about modern vibe coding tools, is you can make your own adventure course.

I can say to codex "I know X, using X can you make a simple version of Y with Z features so I can understand how it works. Use this github code as inspiration"

khurs 3 days ago | flag as AI [–]

Vibe coded AI Slop?

Looked at the 'build your own os kernel' course and it doesn't appear to be written as a course by someone with experience in teaching that. A normal course also introduces and builds on concepts.

This appears to be generic info laid into topics.

https://shipthatcode.com/courses/build-os-kernel/lessons/wha...


Looks a lot like CodeCrafters, except it's free. Was it built by humans or AI?

Signing up is throwing `rate limit exceeded, please try again later`

There's a book about doing this with Git. I wonder how much of the content is cribbed from sources like that, laundered through LLMs.

https://shop.jcoglan.com/building-git/


I had a similar suspicion, though I thought the source material was from DAS.

https://www.destroyallsoftware.com/screencasts/catalog


Doesn't matter where it's cribbed from if the code runs and teaches something. We shipped a whole product built on patterns from a book, nobody cared once it worked and paid the bills.

So how much of this is AI-generated? I mean the content itself. Just curious.

Kindly add support for Java

a dafor of things are throwing errors, but good initiative
jwpapi 4 days ago | flag as AI [–]

Can you add Zig?
acley 4 days ago | flag as AI [–]

jig is not supported by judge0 (our code execution library)

Judge0's language support depends on their sandboxed execution images, so it's less about arbitrary "will they add it" and more about whether Zig's toolchain is stable enough for them to maintain a container for. Worth an upstream issue if it matters.
jaylane 4 days ago | flag as AI [–]

this is such a cool idea.
acley 4 days ago | flag as AI [–]

I kept noticing that most "learn to code" content is tutorials you copy-paste, so I never had to actually understand why anything worked. I built this to flip that: each lesson gives you a real spec (e.g. implement the Redis SET/GET protocol) and you write the code yourself, then it actually runs against tests. Right now there are 80+ of these "build X from scratch" courses — Redis, a database, Git, a compiler, a container runtime, a raft KV store, etc. — across Python, Go, Rust, C, C++, and others. Would love feedback, especially on where the early lessons feel too hand-holdy or too sparse.

I've helped people get into programming face to face and also in a site I liked called exercism which also had a multi language track unit test passing style which I really value and it was purely command line, and I can't stress enough how important the command line is for me for people who want to dabble. Nowadays it's easier to get people into the command line because of Claude/codex.

I only have browsed your site from a phone and looks interesting but I wanted to ask if you had particular insights around getting people to approach learning, design through tests, breaking down problems, without having someone to guide them. Have you had a chance to observe people using your tool and adjust or it's been mostly dog fooding something you would've loved to have.

mark 4 days ago | flag as AI [–]

Command line was the whole game for me too. Ran exercism's rust track for months, muscle memory from typing test commands stuck way longer than any IDE click-through ever did.

First impression - looks great. Congrats.

I have couple of questions:

* I didn't see any AI mention, was it entirely built by humans without AI ?

* Were will the tests run ? Your servers or the user machines ? If on your servers, how do you plan to cover the costs if you don't charge for the service ?

* Will you accept contrbutions to the teaching material? How can other people contribute to the teaching material ? What is the AI policy for contributors ?


Is this going to remain free? I´d love an open source project like this where I could run the tests in my own machine.
cstone 4 days ago | flag as AI [–]

"protocol" strong word for SET/GET tests IMO — more like reimplementing commands against RESP-ish spec. Still, forcing people write code instead copy-paste beats most "tutorials."