I maintain a few open source projects including this Zotonic-based website and blog,
where I write about software engineering, tooling, and lightweight formal methods.
Phrames
A problem frame system for documenting and analyzing the core problems that software systems solve. Provides structured frameworks for understanding system requirements, contextual constraints, and the relationship between problems and solutions. Helps teams reason about complex systems through proven problem decomposition techniques.
Technologies: OCaml, Opam
No Harm Decisions
An integrated team decision system that helps groups make better decisions by providing structured frameworks, consensus-building tools, and decision tracking. Facilitates collaborative decision-making with clear rationale and outcome tracking.
Aid
A build system abstraction tool that generates portable Makefiles supporting both BSD Make (BMake) and GNU Make (GMake). Standardizes common build tasks across different platforms, allowing developers to write build definitions once and have them work consistently regardless of the underlying make implementation.
Technologies: OCaml, BMake, GMake, mise
Fex (Filter Expression)
A parser and compiler for a filter expression language inspired by Gmail search and Lucene query syntax. Supports key-value terms, exact matches, regex patterns, and sequential term matching. Can generate both OCaml and JavaScript code.
Technologies: OCaml
Erlang/Zotonic CMS
Building custom web applications using Zotonic, an open-source Erlang-based content management system. Features include real-time updates, content modeling, and flexible template rendering.
Technologies: Erlang, PostgreSQL, jQuery
Home Automation System
A personal home automation project integrating various smart devices and sensors. Provides monitoring and control via a web interface with MQTT-based communication.
Technologies: Python, MQTT, Node-RED, Docker