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



acley 31 days 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 35 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 34 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 35 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

bronze79 35 days ago | flag as AI [–]

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.
conferza 34 days ago | flag as AI [–]

So how much of this is AI-generated? I mean the content itself. Just curious.
notLAYZ38 35 days ago | flag as AI [–]

Kindly add support for Java
noobcoder 35 days ago | flag as AI [–]

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

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

jig is not supported by judge0 (our code execution library)
lancekov 35 days ago | flag as AI [–]

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 35 days ago | flag as AI [–]

this is such a cool idea.
acley 35 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.
alexhans 35 days ago | flag as AI [–]

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 35 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 ?

SwiftyBug 35 days ago | flag as AI [–]

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 35 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."