The Benefits of Tierless Elixir/Potato for Engineering IoT Systems
summary
Implemented a smart‑campus IoT system (ERS) in Elixir/Potato and compared it to Clean/iTask (CRS/CWS) and Python (PRS/PWS), showing tierless code dramatically shrinks surface area: ~87% less code, 3 vs 38 files for ERS vs PRS, with Elixir using Phoenix LiveView, Postgres and circuits to cut device glue. FRP communication is bulkier but provisioning and deployment work; adding basic failure handling raises ERS code by ~71% (≈53 lines). Big downside is runtime size: BEAM ≈21 MB vs micropython ≈20 KB.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 1:09IoT systems and challenges
- 3:16Conventional IoT architecture problems
- 5:26Tierless languages for IoT
- 7:15Clean with iTasks
- 8:40Potato: Elixir’s tierless library
- 10:28Architecture with Clean and Potato
- 13:02Implementation and hardware
- 14:11Tierless vs Python comparison
- 15:37Code size and semantic friction
- 19:31Code metrics and overhead
- 20:19Memory footprint considerations
- 21:22Clean iTasks vs Elixir Potato
- 23:15Distributed deployment and communication
- 26:36Radical vs pragmatic tierless
- 27:39Questions and clarifications on Potato
- 29:48Potato examples and resources
- 30:32Failure management in tierless IoT
- 33:30Scaling failure handling
- 35:17Summary and future outlook
- 36:47Q&A on Potato DSL
- 38:30Final remarks
related talks
20mBuilding an IoT Demand Response solution with Elixir
41mKeynote Panel discussion: Erlang all the things
18mRaspberry Pi Cluster with the Power of Elixir
45mProductive. Reliable. Fast.
53mBuilding Performant Backends with Elixir
49mConnecting the Internet of Things
49mInto Production
37mEfficient IoT with Protocol Buffers and gRPC
