QFM098: Elixir Reading List - January 2026
Source: Photo by Growtika on Unsplash
This month's Elixir Reading List covers AI integration and the growing Elixir ecosystem. The Arcana RAG library and its demo app bring retrieval-augmented generation to Elixir, while Codicil and a guide to building a MCP server in Elixir show the language's emerging role in the LLM toolchain.
On the practical side, 150,000 Lines of Vibe Coded Elixir is a candid account of AI-assisted Elixir development at scale, and From Skeptic to Believer traces one developer's conversion to the BEAM ecosystem. Lazy Doc tackles AI-powered documentation, Gust offers task-based workflow orchestration, and the roundup of best UI components for Phoenix/LiveView is a useful reference for front-end work.
As always, the Quantum Fax Machine Propellor Hat Key will guide your browsing. Enjoy!

Links
This is the GitHub repository for the Lazy Doc library, which detects undocumented Elixir functions and passes their source code to an AI provider to generate documentation. The library ignores functions that already have docs, those marked with @doc false, and all private functions, though private helpers are included in the AI prompt for context.
Codicil is an Elixir development tool that provides AI coding assistants with deep semantic understanding of your codebase through the Model Context Protocol (MCP). It hooks into the Elixir compilation process to automatically index functions, modules, and their dependency relationships, then exposes this information via MCP tools for semantic function search and dependency analysis.
Gust is a task-based workflow orchestration engine for Elixir, inspired by Apache Airflow but designed to be significantly more efficient and simpler to operate. It supports cron-style scheduling, dependency-aware DAGs defined via a custom DSL, multi-node execution, retry logic with backoff, corrupted-state recovery, and a built-in web UI for live monitoring, run history, and secrets management.
This blog post from the Mishka team surveys the landscape of UI component libraries available for Phoenix and Phoenix LiveView, addressing the gap that developers face when transitioning from JavaScript ecosystems. The article positions Mishka Chelekom as a comprehensive solution -- a zero-dependency, Tailwind CSS-based UI kit with over 90 components -- while also referencing other notable libraries including SaladUI, Petal Components, PrimerLive, and Fluxon UI.
Arcana Adept is a companion example Phoenix application that demonstrates how to integrate the Arcana RAG library into a real project. It ships with a pre-built Doctor Who corpus ready to be embedded and queried, providing a working reference implementation for document ingestion, vector search, and AI-powered question answering.
Arcana is an embeddable RAG library for Elixir/Phoenix that adds vector search, document retrieval, and AI-powered question answering to any Phoenix application. It uses your existing Ecto Repo and PostgreSQL with pgvector for vector storage, eliminating the need for a separate vector database, and supports both simple RAG and agentic RAG pipelines with query expansion and self-correction.
Lazy Doc is an Elixir Mix task that uses AI to automatically generate @doc and @moduledoc annotations for undocumented public functions and modules in your codebase. It scans for functions matching configurable path patterns, sends their source code to a configurable AI provider, and writes documentation back into the source files. It also provides a mix lazy_doc.check task for CI enforcement of documentation coverage.
This article describes the experience of building BoothIQ, a trade show lead retrieval app, where 100% of the 150,000 lines of Elixir code were written by AI. Elixir's small language surface and low token usage make it well-suited for AI-generated code, but AI defaults to imperative patterns rather than idiomatic functional Elixir, and fundamentally cannot debug concurrency issues involving OTP, GenServers, or the actor model.
This article walks through the practical implementation of an MCP server in Elixir, built to enable AI tools to create posts on Hashrocket's TIL website directly from within AI-powered coding environments. The author describes MCP as an API that AI tooling can consume to retrieve external data or perform actions, and found the implementation straightforward in Elixir.
This article chronicles the author's shift from skepticism to enthusiasm for AI-assisted development through what he calls the "stdlib approach." The methodology involves writing detailed project-specific documentation, specifications, and technical rules, then providing those as context to AI coding agents along with tasks -- letting the AI generate code, validate it, and iterate.
Regards,
M@
[ED: If you'd like to sign up for this content as an email, click here to join the mailing list.]
Originally published on quantumfaxmachine.com and cross-posted on Medium.
hello@matthewsinclair.com | matthewsinclair.com | bsky.app/@matthewsinclair.com | masto.ai/@matthewsinclair | medium.com/@matthewsinclair | xitter/@matthewsinclair
Was this useful?