Launch HN: CodeCrafters (YC S22) – Practice writing complex software

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • languages

    Discontinued Powers multi-language support for CodeCrafters challenges

  • Def enough time to complete a project with 1h/day, and you can also do it in "super deep dive mode" to take full advantage of the experience. We've definitely seen engineers do that.

    For example, we're now starting to introduce source code walkthroughs. Here's one going over how the Redis event loop is implemented — https://app.codecrafters.io/walkthroughs/redis-event-loop.

    So as you build out your Redis project, you can study in parallel how the official source does it, learn some cool facts, and overall spend more time developing fluency with the Redis docs.

    One of the ways you could contribute is adding language support. If one of our courses doesn't support one of the languages you work with, you can add support for it here — https://github.com/codecrafters-io/languages.

  • build-your-own-x

    Master programming by recreating your favorite technologies from scratch.

  • They don't mind if you do it on your own for free:

    https://github.com/codecrafters-io/build-your-own-x

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • redis-tester

  • Thanks for the great question. We support ~14 languages at the moment and are working on adding more. You can visit our tracks page (https://app.codecrafters.io/tracks) to see the courses available against each language.

    As a 2-person team, we're prioritising making a complete experience for Go, Python & JS for starters (our most popular languages).

    So far, our tests are language agnostic. Our testers are written in Go (they’re open source, example: https://github.com/codecrafters-io/redis-tester). The testers interact with user code by testing for observable behaviour - exit codes, stdout/stderr, files written etc.

    Although the testers are language-agnostic, a lot of the educational “content” is language-specific. We emit language-specific hints in stages where appropriate, and have expert solutions that are language-specific. A lot of this is new, so we might not have coverage across all challenges - this will improve over time.

    Does that help explain our setup a little better?

  • git-tester

  • Thanks for the ideas — you're right that automating the UI-oriented testing is more difficult. We're already piloting some ideas in this area (e.g Build your own React) — but the current focus is on perfecting what we have.

    Our testers are all OSS. Here's our git tester for example — https://github.com/codecrafters-io/git-tester.

    Others can be found on our GitHub org.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts