Open source worth reading
Awesome lists, starter templates and complete applications on GitHub, sorted by area. Reading real code is the fastest way to learn how projects are put together.
DevOps 10
-
awesome-selfhosted: services you can run yourself
A long, well-sorted catalogue of free software you can host on your own machines, grouped by what it replaces: wikis, monitoring, chat, media, backups and much more. Useful for homelab ideas and for finding a mature project to read. Start with
README.mdfor the categories;non-free.mdkeeps proprietary entries separate so the main list stays clean. License: CC-BY-SA-3.0 for the list content.
github.comAwesome ListBeginner -
kubernetes-the-hard-way: build a cluster by hand
A classic tutorial that sets up Kubernetes step by step without installers, so you meet certificates, the API server, etcd and kubelet configuration directly. The numbered files in
docs/are the path;units/andconfigs/hold the files you generate or install. Not updated recently, but the concepts remain valid and the repo is still worth working through once. License: Apache-2.0.
github.comLearningAdvanced -
awesome-compose: Docker Compose samples for common stacks
Ready-made Compose setups for pairings like Flask with Redis, Django, Nginx with Go and MySQL, Elasticsearch with Kibana, and more. Each sample is a folder with its own
compose.yaml-style config, so you can copy only what you need. Handy for learning multi-container networking and volumes by running real examples. License: CC0-1.0.
github.comStarterBeginner -
starter-workflows: GitHub Actions templates by use case
The official source of the workflow suggestions GitHub shows when you set up Actions. Folders like
ci/,code-scanning/anddeployments/hold YAML for building and testing many languages, scanning code and deploying to clouds. Read a few to learn caching, matrices and permissions idioms. License: MIT.
github.comTemplateBeginner -
microservices-demo: Online Boutique on Kubernetes
A polyglot web shop split into small services that talk over gRPC, designed to demonstrate cloud-native tooling. Start with
kubernetes-manifests/andskaffold.yamlto run it, then read service code undersrc/and the API contracts inprotos/.terraform/andkustomize/show alternative ways to deploy. License: Apache-2.0.
github.comFull AppIntermediate -
awesome-docker: containers, tooling and learning resources
A curated map of the Docker ecosystem: tooling, security scanners, orchestration, CI helpers and tutorials. Read
README.mdby section when you hit a specific problem such as image size or registry choice. Alongside the list there is Go code incmd/andinternal/, plus awebsite/folder. License: Apache-2.0.
github.comAwesome ListBeginner -
ansible-for-devops: playbooks that grow with the book
Example playbooks from a well-known Ansible book, from simple to multi-server setups. Begin with
first-ansible-playbook/, thenlamp-infrastructure/,deployments-rolling/andmolecule/for testing roles. The author notes that not every example follows every best practice, since each one illustrates a feature. Not updated every month, but the lessons last. License: MIT.
github.comLearningIntermediate -
opentelemetry-demo: a shop instrumented end to end
A multi-language storefront built to show traces, metrics and logs in practice. Look through
src/to see the same telemetry ideas applied in different languages, and opencompose.yamlfor the local stack. A strong reference for observability wiring. License: Apache-2.0.
github.comFull AppIntermediate -
terraform-aws-vpc: a module worth copying habits from
A widely used Terraform module for AWS networking. Read
main.tf,variables.tfandoutputs.tffor how a flexible module exposes options, then run the scenarios inexamples/and look atmodules/. A good lesson in module design and interface choices. License: Apache-2.0.
github.comTemplateIntermediate -
podinfo: a small Go service for Kubernetes demos
A tiny web service used to try out deployment patterns. The repo includes Helm in
charts/, plain manifests inkustomize/, atimoni/module and signing config in.cosign/. Deploy it to learn rollout, health checks and supply-chain tooling. License: Apache-2.0.
github.comTemplateIntermediate
Backend 9
-
awesome-go: the Go ecosystem, categorised
If you write Go, this is the quickest way to find a library for routing, databases, CLIs, testing or concurrency without guessing. Entries are filtered for quality, so the list is shorter than a raw search. Fun extra: the repo ships its own Go code (
main.go,pkg/,tmpl/) that builds the site, so you get a small real program to read too. License: MIT.
github.comAwesome ListBeginner -
rustlings: small exercises that teach Rust
Tiny broken programs you fix until they compile, each one introducing a Rust idea such as ownership, enums or traits. It runs in your terminal and checks your work as you save. Look in
exercises/for the tasks andsolutions/once you are stuck. A fast way to get over the borrow checker's first hurdles. License: MIT.
github.comLearningBeginner -
full-stack-fastapi-template: a deployable API and UI
A complete starting point pairing a FastAPI backend with a React frontend, PostgreSQL and Docker Compose. It is useful as a reference for auth, migrations, tests and deployment wiring. Open
backend/andfrontend/for the code,compose.ymlto see the stack, thendevelopment.mdanddeployment.mdfor the workflow. License: MIT.
github.comStarterIntermediate -
awesome-rust: where Rust projects are indexed
A broad index of Rust libraries, applications and resources, organised by domain from web frameworks to embedded and games. Handy for discovering mature crates before you write your own. Open
README.md, and seeCONTRIBUTING.mdif you want to add something. The repo also contains a small Rust crate (Cargo.toml,src/) alongside the list. License: CC0-1.0.
github.comAwesome ListIntermediate -
awesome-scalability: reading list for large-system design
A reading list of engineering write-ups on scalability, availability and stability, grouped by topic and by company. Good for getting beyond textbook diagrams to how real systems failed and recovered. Work through
README.mdone section at a time and note the trade-offs each article makes. License: MIT.
github.comAwesome ListIntermediate -
TheAlgorithms/Python: algorithms with readable implementations
A large collection of algorithms and data structures written in plain Python for study. Folders such as
dynamic_programming/,data_structures/,backtracking/andciphers/make it easy to look up a topic, andDIRECTORY.mdis the full index. Treat it as teaching code, not production code. License: MIT.
github.comLearningBeginner -
mal: write a Lisp interpreter in small steps
A guided project to build a Lisp in numbered steps, with the same design implemented in dozens of languages under
impls/. Start withprocess/guide.md, then compare your language's version with another you know. A rewarding way to learn parsing, evaluation, environments and tail calls. License: MPL-2.0.
github.comLearningAdvanced -
cookiecutter-django: production defaults for Django
A project generator that outputs a Django app with Docker, settings per environment, testing, and optional extras. Generate one, then read the template under
{{cookiecutter.project_slug}}and thehooks/that tailor the result.docs/explains each option. License: BSD-3-Clause.
github.comStarterIntermediate -
ardanlabs/service: a layered Go service starter
A reference layout for production Go web services with Kubernetes in mind. The structure is explicit:
app/for entry points,business/for domain logic,foundation/for reusable pieces, andzarf/for deployment config. Good reading on package design and project layering. License: Apache-2.0.
github.comStarterAdvanced
Web 8
-
awesome: the list that defines the format
awesome is the meta-list behind the whole awesome-list convention, and it is the place to start when you want a curated index of anything from languages to tooling. Read
create-list.mdfirst: it explains what separates a useful list from link spam, which is handy if you ever curate one yourself. Then browsereadme.mdby topic. License: CC0-1.0, so you can reuse the material freely.
github.comAwesome ListBeginner -
create-t3-app: opinionated TypeScript web scaffolding
A CLI that scaffolds a typed Next.js project, letting you opt into pieces like tRPC, Prisma or Drizzle and Tailwind. Reading
cli/shows how a good scaffolder composes templates and installers, which is a neat lesson on its own;www/holds the documentation site. Use it when you want a well-trodden full-stack TypeScript layout. License: MIT.
github.comStarterIntermediate -
epic-stack: a full web app foundation with decisions explained
A production-minded starter for a React Router app with Prisma, Playwright tests and Fly.io deployment config. What sets it apart is documentation of why choices were made: read
docs/and thedecisionsfolder inside it before the code. Then exploreapp/,prisma/andtests/to see how it all fits. License: MIT.
github.comStarterAdvanced -
excalidraw: a whiteboard app and an embeddable library
A real, widely used React app that is also published as a component. The editor lives in
packages/excalidraw, the hosted app shell inexcalidraw-app/, anddev-docs/covers the internals and embedding. Study it for canvas rendering, state management and how a library is carved out of an app. License: MIT.
github.comFull AppIntermediate -
the-super-tiny-compiler: see a compiler in one file
A heavily commented JavaScript file that compiles a toy Lisp-like syntax into C-like calls, walking through tokenising, parsing, transforming and code generation. Read
the-super-tiny-compiler.jstop to bottom and runtest.js. Older and small, but still a clear introduction to compiler stages. License: CC BY 4.0.
github.comLearningIntermediate -
cal.diy: a scheduling app as a TypeScript monorepo
A large Next.js scheduling application organised into
apps/(includingweb,apianddocs) and sharedpackages/such asprisma,trpcandemails. Useful for seeing how a real product splits concerns across a monorepo. Check the README for how this repository relates to the hosted product. License: MIT.
github.comFull AppIntermediate -
Next-js-Boilerplate: a tidy starter with tests
A Next.js and TypeScript starter that bundles Tailwind, a database layer with Drizzle, linting, Vitest and Playwright. See
src/for the app,migrations/for schema history andtests/for how the checks are organised. Handy when you want a starting point with quality gates already in place. License: MIT.
github.comStarterBeginner -
prisma-examples: ready-to-run TypeScript data layer samples
A collection of example projects that pair Prisma with different frameworks and databases. Browse
orm/for framework samples,databases/for database-specific setups anddeployment-platforms/for hosting. Note the default branch is calledlatest. License: Apache-2.0.
github.comTemplateBeginner
Mobile 7
-
awesome-ios: Swift and iOS libraries by topic
A large index of iOS and Swift projects grouped by purpose: networking, architecture, UI components, testing, tooling and learning material. Good when you need to compare two or three options before adding a dependency. Open
README.mdand use the table of contents; the architecture and testing sections are the most useful for people past their first app. License: MIT.
github.comAwesome ListBeginner -
react-native-template-obytes: Expo app with good defaults
A mobile starter built on Expo and TypeScript with Maestro end-to-end flows in
.maestro/, EAS build config ineas.json, and an organisedsrc/folder. Worth reading for how it sets up env handling, linting, commit hooks and tests so a team can start with discipline. License: MIT.
github.comStarterIntermediate -
architecture-samples: Android app structure, compared
Google's reference to-do app showing how to structure an Android project with Compose, Hilt and Room. The main code is in
app/and shared test helpers live inshared-test/, so you can study the layers and how tests are organised. Pair it with Now in Android once the basics are comfortable. License: Apache-2.0.
github.comTemplateIntermediate -
Now in Android: a full modern Android reference
A working news app that Google uses to demonstrate current Android practice: modular layout, Compose UI, offline-first data and thorough testing. Look at
core/andfeature/to see the module split,build-logic/for convention plugins, anddocs/for architecture notes. Heavy but very instructive. License: Apache-2.0.
github.comFull AppAdvanced -
awesome-android-ui: components worth studying
A visual catalogue of Android UI libraries: animations, lists, dialogs, charts, transitions and more, with pointers to each repo. Useful when you want a polished interaction and would rather read an existing implementation. Everything is in
README.md, and theart/folder holds images. Check each library's maintenance before adopting. License: MIT.
github.comAwesome ListBeginner -
Signal-Android: study a security-minded messenger
The Android client of a privacy-focused messenger, with a large modular Gradle layout (
app/,lib/,core/) and areproducible-builds/folder explaining verifiable builds. Read it for encryption integration, background work and testing at scale. Heavy going, so pick one feature to trace. License: AGPL-3.0, which has strong copyleft terms.
github.comFull AppAdvanced -
flutter/samples: small apps for each Flutter feature
The Flutter team's collection of samples, each in its own folder:
animations/,form_app/,compass_app/and more. Pick one that matches the feature you need and read its code.compass_app/is the one to study for app architecture. License: BSD-3-Clause.
github.comTemplateBeginner
GameDev 7
-
magictools: a game developer's reference shelf
One list that covers the practical side of making games: engines, art and audio tools, level editors, tutorials and communities. It is a good map if you are choosing a first engine or looking for free assets and tooling around it. Everything lives in
README.md, organised by discipline, so skim the headings and jump to your area. License: MIT.
github.comAwesome ListBeginner -
godot-demo-projects: small Godot games to read and run
Official demos that each isolate one feature of the Godot engine, so you can open a project and see exactly how it is wired. Browse
2d/,3d/andgui/, and readnetworking/if you want multiplayer examples such asmultiplayer_pong. Great for learning scenes, signals and GDScript by reading working code. License: MIT.
github.comLearningBeginner -
Godot Engine: read a real game engine's source
A full 2D and 3D engine and editor in C++. Intimidating at first, but the layout helps:
core/holds fundamental types and the object system,scene/the node tree,servers/rendering and physics backends, andmodules/optional features. Pick one subsystem, such as input, and trace it through. License: MIT.
github.comFull AppAdvanced -
raylib: a friendly C library for making games
A small, readable graphics and game library with a simple API and almost no dependencies. The
examples/folder is the best tutorial, with short programs covering 2D, 3D, audio and input, whilesrc/is approachable if you want to see how it works.CONVENTIONS.mddocuments the code style. License: zlib, a permissive one.
github.comLibraryBeginner -
OpenRCT2: a C++ game rebuilt and maintained in the open
An open-source reimplementation of a classic park simulation game. Because it models rides, guests, finances and a scenario world, it is a rich place to study simulation code. Start in
src/openrct2, especially itsworldfolder, and checkdocs/for the build instructions. Original game data is needed to play. License: GPL-3.0.
github.comFull AppAdvanced -
Mindustry: a complete Java game with desktop, Android and server
A tower defence and factory game with its logic in
core/, platform launchers indesktop/,android/andios/, and a headlessserver/module. Reading it shows how one Java codebase targets many platforms with shared game code.CONTRIBUTING.mdis the entry point for newcomers. License: GPL-3.0.
github.comFull AppIntermediate -
Bevy: a data-driven game engine in Rust
A modular engine built around an entity component system. The
examples/directory is organised by topic, andexamples/ecsis the place to learn the core model, whilecrates/shows how the engine is split. Fast-moving, so check the version when copying code. License: MIT or Apache-2.0.
github.comLibraryIntermediate
AI 7
-
LLMs-from-scratch: build a GPT-style model step by step
Code companion to a book on implementing a small language model in PyTorch, from tokenisation and attention to pretraining and fine-tuning. Chapters are folders, each with a
01_main-chapter-codedirectory; begin withch03for attention andch04for the full model. Bonus folders go deeper on topics such as KV cache and weight loading. License: Apache-2.0.
github.comLearningAdvanced -
chatbot: a Next.js AI chat app you can deploy
A maintained reference for building a streaming chat product with the AI SDK, a database and authentication. Read
app/for routes,lib/for data and model plumbing,artifacts/for the artifacts feature, andtests/for Playwright coverage. Good if you want to see how a modern AI app is structured end to end. License: Apache-2.0.
github.comStarterIntermediate -
llama.cpp: LLM inference in plain C and C++
A compact route to understanding how local language models actually run: quantised weights, a tensor library and efficient CPU and GPU backends. Read
src/for the model code,ggml/for the tensor core, andconvert_hf_to_gguf.pyto see how models are converted.examples/shows usage patterns. License: MIT.
github.comLibraryAdvanced -
generative-ai-for-beginners: lessons on building LLM apps
A numbered course on building with large language models, covering prompts, text generation apps, chat, search, RAG and agents. Each lesson is a folder with explanations and code. Try
06-text-generation-apps,15-rag-and-vector-databasesand17-ai-agentsfor practical angles. License: MIT.
github.comLearningBeginner -
micrograd: backpropagation in a few hundred lines
A tiny automatic-differentiation engine plus a small neural network library, built to show what frameworks do under the hood. Read
micrograd/engine.pyfor the value graph andmicrograd/nn.pyfor the layers, then rundemo.ipynb. An evening's reading that makes training loops much less mysterious. License: MIT.
github.comLearningIntermediate -
openai-cookbook: worked examples for API-based apps
A large set of notebooks and articles on building with LLM APIs: retrieval, function calling, evaluation, embeddings and more. Browse
examples/for runnable code andarticles/for longer guides. Treat the patterns as transferable even if you use another provider. License: MIT.
github.comLearningBeginner -
pydantic-ai: typed agents in Python
An agent framework from the Pydantic team that leans on type hints for tools and structured outputs. Read
pydantic_ai_slim/for the core,pydantic_graph/for graph-based control flow andpydantic_evals/for evaluation, withexamples/to run. A good study in API design for LLM code. License: MIT.
github.comLibraryIntermediate
Security 6
-
OWASP Cheat Sheet Series: concise security guidance
Short, practical notes on how to build safely: authentication, session handling, input validation, secrets, REST security, Docker and many more. They are written for developers, not auditors. Browse the
cheatsheets/folder and start withAuthentication_Cheat_Sheet.md, then read whatever matches your stack. Good to keep open during code review. License: CC BY-SA 4.0.
github.comLearningIntermediate -
Trivy: a vulnerability and misconfiguration scanner in Go
A defensive scanner for container images, filesystems, IaC and dependencies. Reading it teaches how artifacts are unpacked and matched against advisories:
pkg/fanalhandles analysis of images and files,cmd/wires the CLI, anddocs/explains usage. Run it against your own Dockerfile first. License: Apache-2.0.
github.comFull AppAdvanced -
age: a small, modern file encryption tool in Go
A compact encryption library and CLI designed to be simple and hard to misuse. The core is a handful of readable files such as
age.go,x25519.goandscrypt.go, with the command incmd/and extensibility inplugin/. A good example of a deliberately small cryptographic API. License: BSD-3-Clause.
github.comLibraryIntermediate -
OWASP Web Security Testing Guide: a methodical checklist
A defensive guide for testing web applications you own or are authorised to assess, organised by area such as authentication, session management and input handling. Use
document/for the chapters andchecklists/for working lists you can follow during a review. It also teaches developers what testers look for. License: CC BY-SA 4.0.
github.comLearningIntermediate -
OpenSSF Scorecard: automated checks on repo security habits
A Go tool that scores open source projects on practices such as branch protection, dependency updates and pinned workflows. Read
ARCHITECTURE.md, then look atchecks/andchecks/raw/to see how each check is implemented. Run it on your own repository. License: Apache-2.0.
github.comFull AppIntermediate -
Falco: runtime threat detection for containers
A defensive runtime security tool that watches system activity and raises alerts based on rules. It is worth reading for how kernel events are turned into policy: see
userspace/, thenfalco.yamlandconfig/for configuration. Run it in a lab cluster to understand its output. License: Apache-2.0.
github.comFull AppAdvanced
Data/ML 5
-
awesome-machine-learning: libraries by language
A language-by-language index of machine learning libraries, which makes it easy to see what exists in, say, Go or Rust and not only Python. Besides
README.md, there are separate files forcourses.md,books.mdandml-curriculum.md, handy for building a study plan. Treat it as a map and verify maintenance status before depending on any entry. License: CC0.
github.comAwesome ListBeginner -
ML-For-Beginners: a 12-week classical ML curriculum
A lesson-based course built around classical machine learning: regression, classification, clustering, NLP and time series, with quizzes and notebooks. Each topic is a numbered folder, so you can read in order or jump in.
2-Regressionis a gentle first stop, and3-Web-Appshows how to put a model behind a small app. License: MIT.
github.comLearningBeginner -
cookiecutter-data-science: a sane layout for ML projects
A project template that gives data work a consistent structure for data, notebooks, source code and docs. The generated layout sits in the folder named
{{ cookiecutter.repo_name }}, andccds.jsondefines the prompts you answer. It also ships aMakefilewith common tasks. A good habit-former for reproducible work. License: MIT.
github.comTemplateBeginner -
handson-ml3: notebooks for classical and deep learning
The code companion to a popular machine learning book, delivered as Jupyter notebooks that move from the basics to neural networks with Keras. Start with
02_end_to_end_machine_learning_project.ipynbfor a full workflow, including data cleaning and evaluation. The notebooks explain choices as they go. License: Apache-2.0.
github.comLearningIntermediate -
DuckDB: an analytical database you can read
An in-process SQL engine for analytics, written in C++. The
src/directory follows the query pipeline:parser,planner,optimizer,executionandstorage.extension/andbenchmark/are good side trips. A strong choice if you want to learn how databases work. License: MIT.
github.comLibraryAdvanced
More from the Vault
Talk it through with people who use these
Ask about any of these in the server, share what you build with them, and get new picks every day.
online now · members