Welcome to GigaElixir Gazette, your 5-minute digest of Elixir ecosystem news that actually matters.
This week in Elixir: Dstar ships a Datastar toolkit that makes Phoenix pages reactive over plain HTTP and SSE, no WebSocket required. durable_stash combines LiveStash and DurableServer to give your assigns survival through navigation, crashes, and full redeploys.
Also: CDPEx drives Chrome directly over CDP without ChromeDriver. Elixir v1.20 is officially live as a gradually typed language. The Pro Tips section covers what WhatsApp, Discord, and Klarna actually built on the BEAM at scale.
. WEEKLY PICKS .
🚀 Dstar Makes Phoenix Pages Reactive Over SSE - No WebSocket Required
Dstar is a Datastar toolkit for Phoenix: LiveView-style ergonomics over plain HTTP and SSE, no WebSocket required. Mount, handle_event, and render define a page; a router macro handles registration. PubSub subscriptions push signal patches over the open SSE stream. One caveat: HTTP/1.1 browsers cap connections at six per domain, so the included mix dstar.https command forces HTTP/2 locally before SSE streams stall. The functional core is battle-tested; the page layer is 0.1.0-alpha.2.
⚡ durable_stash Fixes LiveView Assigns That Die on Every Deploy
durable_stash combines LiveStash and DurableServer to give Phoenix LiveView assigns that survive navigation, crashes, and full redeploys. One durable process per browser session, keyed from a cookie-based sid. Per-key recovery scopes let you tune policy: :session recovers on every mount including fresh navigation; :reconnect recovers only on rejoins, so a form draft survives a deploy mid-edit but starts blank on fresh navigation. Writes are per-key diffs merged by a single actor - two tabs writing different keys cannot clobber each other.
🔧 CDPEx Drives Chrome From Elixir Over CDP - No ChromeDriver, No Zombies
CDPEx drives Chrome from Elixir directly over CDP - no ChromeDriver, no WebDriver, no zombie processes. The with_page/3 wrapper guarantees teardown on every exit path. Clicks and keystrokes are dispatched as genuine user gestures rather than synthetic events, which matters for pages that detect automation. Connect to a local launch or a remote Chrome over ws(s)://. Network observation, screenshots, PDF rendering, proxy support with authentication, and an optional warm browser pool are all included. Pre-1.0 but running in production.
🔥 Elixir v1.20 Lands: Gradual Types Check Every Line Without Annotations
Elixir v1.20 is now the official release, completing the gradual typing milestone: every line of code gets type-checked without a single annotation required. Developers are already dropping Dialyzer. The same episode covers a supply chain worm called Miasma that compromised 73 Microsoft GitHub repos using legitimate OIDC tokens and valid SLSA provenance - then weaponized AI coding tools including Claude Code and Cursor as propagation vectors. The Hex community is discussing a package cooldown mechanism similar to one Ruby recently shipped.
🛡️ Your mix.lock Has Vulnerable Deps - Here Is How to Actually Find Them
Elixir applications can be fault-tolerant and still ship vulnerable Hex packages - the risk hides in mix.lock, not mix.exs. Two tools help: mix hex.audit catches packages marked retired by maintainers and exits non-zero in CI; mix_audit checks all dependencies against the Hex advisory database and surfaces the CVE. Phoenix packages on sensitive paths - plug, ecto, guardian, ex_aws - deserve audit discipline equal to application code. Adding mix hex.audit as a CI gate is one configuration line.

💡 Pro Tip
Your Architecture Debate Ends Here: WhatsApp Did It With 50 Engineers
The abstract arguments about language performance never resolve - they restart in a new GitHub thread.
The engineering case studies do.
WhatsApp served 900 million users with 50 engineers on an Erlang backend. The number engineers cite most: 2 million simultaneous connections per server, 50 billion messages per day at peak. Each connection is a BEAM process consuming roughly 2KB.
Process isolation means one bad connection cannot corrupt another state; the preemptive scheduler keeps latency predictable under load that would saturate a thread-per-connection system.
Discord built real-time communication for 5 million concurrent users on Elixir, later added Rust for one specific component - member list sorting - and kept Elixir for the messaging core. When Discord needed maximum performance they chose Rust. They kept Elixir for concurrent scale.
Bleacher Report migrated sports content infrastructure from Ruby to Phoenix. The mechanism is concrete: a Phoenix server handles concurrent connections as lightweight BEAM processes; a Puma server uses OS threads. At the same traffic level, Elixir uses a fraction of the memory and CPU.
Klarna runs financial transaction infrastructure on Erlang with hot code loading - payments infrastructure that deploys updates without taking the system down. Remote.com is the only Elixir unicorn.
These are documented engineering decisions, not conference-talk optimism.
The argument that the BEAM is only right for messaging collapses when you look at what companies actually build on it.
Remember, for BEAM at production scale:
2 million connections per server is a cost model - WhatsApp benchmark at roughly 2KB per BEAM process changes infrastructure unit economics more than any framework benchmark comparison
Process isolation bounds bug blast radius - When one connection cannot corrupt another state, the scope of any failure is limited to a single process; OTP supervision handles the restart
Hot code loading is a business requirement - Klarna deploys to financial infrastructure without downtime not because of operational excellence but because the BEAM runtime supports live code replacement natively
Team size is the real benchmark - WhatsApp had 50 engineers at 900 million users; the supervision model substitutes for the infrastructure team that would otherwise rebuild crash recovery
. TIRED OF DEVOPS HEADACHES? .
Deploy your next Elixir app hassle-free with Gigalixir and focus more on coding, less on ops.
We're specifically designed to support all the features that make Elixir special, so you can keep building amazing things without becoming a DevOps expert.
Keep it simple, keep it functional.
See you next week,
Michael
P.S. Forward this to a friend who loves Elixir as much as you do 💜

