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.