Water Tank Monitor with ESP32 and OpenWRT
An ultrasonic distance sensor on an ESP32-C3 posts water level readings over WiFi to a minimal Rust server running on an OpenWRT router — no cloud, no app, just an email when the tank runs low.
[ Home ]
Achieve an agent workflow of 0% frustration. Agents inherited a human problem: taking shortcuts. Better prompts don't fix that — removing wrong options does. This site documents the tools and patterns that force good decisions by default.
An ultrasonic distance sensor on an ESP32-C3 posts water level readings over WiFi to a minimal Rust server running on an OpenWRT router — no cloud, no app, just an email when the tank runs low.
Memex is a local CLI that gives LLMs persistent, semantic memory across sessions — no API keys, no MCP server, just markdown files and a vector index.
[SYSTEMS_LOG]
An ultrasonic distance sensor on an ESP32-C3 posts water level readings over WiFi to a minimal Rust server running on an OpenWRT router — no cloud, no app, just an email when the tank runs low.
Memex is a local CLI that gives LLMs persistent, semantic memory across sessions — no API keys, no MCP server, just markdown files and a vector index.
UTILITIES & PACKAGES
SEO meta tags and structured page metadata for Phoenix LiveView apps. Handles og:*, twitter:*, canonical, and breadcrumb generation.
Automatic whitespace normalization for Ecto text fields. Drop-in custom type that trims leading, trailing, and excess internal whitespace on cast.
Scoped CRUD with a built-in permission layer via macro DSL. Generates consistent context functions without boilerplate.
Uniform query API for in-memory lookup data. Same interface as Ecto contexts but backed by hardcoded module data — no database required.
Opinionated prompt architecture for Elixir. Structures prompts as composable modules with consistent rendering and LangChain integration.