BEAM (Erlang/Elixir) - Expanded Project Guides
Generated from
BEAM_ELIXIR_ERLANG_LEARNING_PROJECTS.md.These standalone guides move from Elixir data transformation through OTP, persistence, networking, embedded systems, native extensions, compiler tooling, numerical computing, and ecosystem internals.
Overview
Projects 1-13 emphasize the BEAM runtime: processes, supervision, ETS, distribution, real-time delivery, backpressure, release handling, and multi-network failure recovery. Projects 14-33 add a deliberate seniority ladder: junior-level language and data tools, mid-level ecosystem integrations, senior production systems, staff runtime/control-plane work, and one principal-level Ecto extension. Projects 34-37 add explicit durable-table recovery, self-contained deployment, and distributed process-discovery drills.
Every expanded guide defines an observable product, theory, architecture, implementation phases, tests, failure cases, interview questions, and a Definition of Done. The guides explain designs with pseudocode, protocol transcripts, configuration shapes, and CLI output rather than complete runnable solutions.
Project Index
| # | Project | Difficulty | Seniority | Time | Key Focus |
|---|---|---|---|---|---|
| 1 | Supervised Real-Time Chat System | Level 2 | Mid-level | 10-15h | Processes and supervision |
| 2 | Rate Limiter and Circuit Breaker | Level 2 | Mid-level | 12-18h | ETS and failure policy |
| 3 | Distributed Key-Value Store | Level 3 | Senior | 20-30h | Distribution and replication |
| 4 | LiveView Operations Dashboard | Level 2 | Mid-level | 12-20h | Server-rendered realtime UI |
| 5 | GenStage Backpressure Pipeline | Level 3 | Senior | 18-25h | Demand-driven flow |
| 6 | Fault Injection Harness | Level 2 | Mid-level | 10-15h | Supervision strategies |
| 7 | Presence and Notification Service | Level 3 | Senior | 20-30h | Distributed presence |
| 8 | ETS Cache and Session Service | Level 2 | Mid-level | 10-15h | Table ownership and TTL |
| 9 | Hot Code Upgrade Drill | Level 3 | Senior | 15-25h | Release state migration |
| 10 | Telemetry Pipeline and Live Metrics | Level 3 | Senior | 15-25h | Runtime observability |
| 11 | Multi-Network Cluster Formation | Level 3 | Senior | 18-28h | Secure cluster bootstrap |
| 12 | WAN Netsplit Recovery Drill | Level 4 | Staff | 24-36h | Partitions and reconciliation |
| 13 | Federated Edge Event Bus | Level 4 | Staff | 24-40h | Cross-site backpressure |
| 14 | Bank Statement Reconciliation CLI | Level 1 | Junior | 6-10h | Matching, tagged errors, streams |
| 15 | iCalendar Conflict Detector | Level 1 | Junior | 8-12h | Calendars and intervals |
| 16 | Duplicate File Quarantine Planner | Level 1 | Junior | 8-12h | Files, hashing, reversible actions |
| 17 | Concurrent Link and TLS Expiry Auditor | Level 2 | Mid-level | 10-16h | Task concurrency and TLS |
| 18 | Fixed-Width Settlement Parser | Level 2 | Mid-level | 12-18h | Binary patterns and StreamData |
| 19 | Mix SBOM and License Auditor | Level 2 | Mid-level | 12-18h | Mix and dependency graphs |
| 20 | Compile-Time Pricing Policy DSL | Level 3 | Senior | 16-24h | Macros, AST, diagnostics |
| 21 | Webhook Authenticity Gateway | Level 2 | Mid-level | 12-18h | Plug, HMAC, replay defense |
| 22 | Inventory Ledger and Reservation API | Level 3 | Senior | 18-28h | Ecto transactions and invariants |
| 23 | Pluggable Object Storage Library | Level 2 | Mid-level | 14-22h | Behaviours, protocols, Hex |
| 24 | Oban Document Workflow | Level 3 | Senior | 18-26h | Durable jobs and idempotency |
| 25 | TCP Device Telemetry Gateway | Level 3 | Senior | 20-30h | gen_tcp, framing, ownership |
| 26 | Nerves Cold-Chain Gateway | Level 3 | Senior | 20-32h | Embedded reliability and firmware |
| 27 | Rustler Perceptual-Hash NIF | Level 4 | Staff | 24-36h | Native code and dirty schedulers |
| 28 | Compiler-Aware Migration Linter | Level 3 | Senior | 20-30h | Compiler tracers and AST |
| 29 | Nx Demand Forecasting Engine | Level 3 | Senior | 20-32h | Tensors, defn, evaluation |
| 30 | :gen_statem Escrow Workflow |
Level 4 | Staff | 24-36h | Temporal state machines |
| 31 | Multi-Tenant Dynamic Repo Control Plane | Level 4 | Staff | 24-40h | Dynamic supervision and Ecto |
| 32 | BEAM Artifact Reproducibility Auditor | Level 4 | Staff | 22-34h | beam_lib and release provenance |
| 33 | Custom Ecto HTTP Document Adapter | Level 5 | Principal | 35-60h | Ecto internals and query translation |
| 34 | Crash-Resilient ETS/DETS Session Store | Level 3 | Senior | 24-36h | ETS hot path, DETS durability, replay |
| 35 | Distributed Mnesia Work-Order Ledger | Level 4 | Staff | 35-55h | Transactions, disk copies, recovery |
| 36 | Self-Contained Mix Release and Air-Gapped Deployment | Level 3 | Senior | 22-34h | ERTS packaging and clean-host proof |
| 37 | Distributed Service Directory and Worker Fleet Router | Level 4 | Staff | 28-42h | Registration, :pg, discovery, routing |
Requested Topic Coverage
| Requested Topic | Primary Projects |
|---|---|
| Data structures | P14, P16, P18, P29 |
| Modules, hierarchical data, protocol polymorphism | P23, P20, P33 |
| Registering processes | P30, P31, P37 |
| Network-connected processes | P3, P7, P11 |
| Clustered processes | P11, P12, P13, P37 |
| Supervised recovery from persisted data | P24, P30, P34, P35 |
| Supervisor trees | P1, P6, P25, P31 |
| ETS and persistent alternatives | P8, P34, P35 |
| Self-contained release tarball | P36, with P32 for artifact auditing |
| Process discovery | P11, P30, P31, P37 |
Learning Paths
Elixir language foundation
14 -> 15 -> 16 -> 18 -> 23 -> 20 -> 28
Production application engineer
17 -> 21 -> 22 -> 24 -> 30 -> 31
OTP and distributed systems
1 -> 2 -> 5 -> 3 -> 7 -> 11 -> 37 -> 12 -> 13
Runtime, edge, and native systems
25 -> 26 -> 27 -> 29 -> 32
Principal ecosystem builder
19 -> 23 -> 28 -> 32 -> 33
Stateful BEAM operator
8 -> 34 -> 35 -> 36 -> 37
Prerequisites
- Projects 14-16 require only programming fundamentals and command-line comfort.
- Projects 17-24 assume basic Elixir syntax, structs, modules, result tuples, and ExUnit.
- Projects 25-37 assume OTP process/supervision knowledge; complete Projects 1, 2, and 5 first if those concepts are new.
- Project 34 assumes basic ETS from Project 8; Project 35 assumes both Project 34’s durability model and Project 11’s cluster model.
- Project 36 requires a clean compatible target fixture such as a VM or container image. Project 37 requires three locally networked BEAM nodes.
- Project 33 assumes strong Ecto usage, callback contracts, query semantics, and production API design; complete Projects 22, 23, 28, and 31 first.
- Hardware is required only for the full Project 26 outcome; its first phases can use simulated sensors and a host target.
- Rust is required only for Project 27. PostgreSQL is required for Projects 22, 24, 30, and 31.