I build frameworks and use others.
Case studies across TypeScript, Svelte 5, Rust, Go, Python and AI tooling, exploration over finished product.
DDD multi-tenant platform with MongoDB-like query engine
Full-stack monorepo powering Idae-Machine, a domain-driven multi-tenant SvelteKit application. Ships a MongoDB-like query engine, real-time socket layer, reactive state management, and a pluggable API backend, all typed end-to-end in TypeScript.
Local-first AI chat: web, desktop and mobile with Ollama
Cross-platform AI chat application powered by Ollama for fully local, private inference. Supports text and voice (STT/TTS), real-time RxDB↔PouchDB sync, an extensible hooks system, and web agents. Runs in-browser, as an Electron desktop app, and on mobile via Capacitor.
Native CSS design system: zero build, zero preprocessor
Pure CSS design system built on cutting-edge native features: OKLCH color space, CSS @function, and attr() type coercion. No preprocessor, no build step, no runtime. Published on npm and production-ready.
AI writing assistant: production since v1.0
Full-featured writing application with real-time AI suggestions, narrative coherence analysis, and mobile-first design. Built on SvelteKit 5 and Tailwind v4. Production-ready since v1.0 with a clean, distraction-free editor.
Reactive UI framework in Rust: web + desktop, zero JS
Reactive UI framework written entirely in Rust, targeting both web (WASM) and native desktop with zero JavaScript overhead. Alpha stage (v0.1.0), a bet on Rust as the future of cross-platform UI.
AI-driven scene and story production pipeline
SvelteKit SPA for orchestrating AI-driven story and scene production. Combines an interactive timeline editor with asset management, real-time model inspection, and a CI pipeline on GitHub Actions.
Human-like memory with progressive decay for AI agents
Memory system for AI agents modeled on human forgetting curves. Implements 5-level trace decay where recall events reinforce memory strength. The system resurfaces relevant context proactively, before you think to ask. Zero runtime dependencies.
ProtonMail via IMAP/SMTP/CardDAV: MCP bridge over hydroxide
MCP server that bridges ProtonMail's encrypted ecosystem to any standard mail client. Built on top of hydroxide, it exposes IMAP, SMTP, and CardDAV endpoints. Ships with Windows auto-start and zero-config setup.
Local resume tailor: Ollama rewrite, ATS PDF, Playwright autofill
Local-first tool that matches your resume to a job description, rewrites targeted sections with Ollama, generates ATS-friendly PDFs, and auto-fills job applications via Playwright. No cloud, no subscription, no data sent externally.
Vanilla HTML component system: 7.7 KB, zero dependencies
Zero-dependency vanilla HTML component system at 7.7 KB gzip. Provides a structured tag taxonomy, display-hint suffixes, and WCAG 2.2 AA accessibility out of the box, no build step, no framework, no lock-in.
Windows 11 notepad backed by a single Markdown file
Minimal WinUI 3 notepad that persists everything in one Markdown file. Auto-saves every 2 seconds with optional LLM normalization to keep notes structured. Single binary, no sync service, no account.
Android on-device OCR sensor synced over Tailscale
Android screen-capture sensor for Oppo Find X9. Triggers via Snap Key, runs on-device OCR with ML Kit, and syncs results to an OpenClaw desktop instance over Tailscale, replacing Oppo's proprietary AI Mind Space with a fully self-hosted pipeline.
AST-based metadata extractor for Svelte 5 components
Parses Svelte 5 component source via AST to extract props, exports, generics, and JSDoc comments, generating structured documentation without invoking the compiler. Drop-in for any TypeScript toolchain.
Client-side IndexedDB the easy way, with server sync
Client database IndexedDB the easy way, add server sync
PHP/MongoDB REST + IDQL API for the Idae platform
Lightweight PHP REST API backed by MongoDB, built around a router → API parser → query layer pattern. Exposes a custom IDQL query language for find/group/distinct/parallel operations alongside generic REST endpoints, plus a small Node helper process for sockets and crons. Dockerized with a PHPUnit test suite.
Migrating a 2014 PHP/MongoDB CMS to a 2026 stack
Live migration of a legacy PHP 5.6, Node.js and MongoDB CMS onto PHP 8.2, a modern MongoDB driver and a Dockerized environment, keeping the original UI and behavior intact while modernizing the internals underneath.
Callback-based DOM manipulation library, always returns the root
A DOM walk and manipulation library with a callback-based approach for precise element targeting. Unlike jQuery-style chaining, idae-be always returns the root object, using callbacks to reach into nested matches while keeping the chain consistent.
CSS and DOM mutation observers for reactive UI code
Library for observing and reacting to DOM changes: cssDom tracks animations, style changes and resize events, htmlDom.track observes attribute, child-list and character-data mutations. Built for dynamic web applications that need fine-grained change detection.
Framework-agnostic SPA router with SWR cache and typed HTTP fetching
Lightweight, framework-agnostic client-side router: path parameters, query parsing, lifecycle hooks, declarative HTTP data fetching, an in-memory SWR cache, and full TypeScript generics. Supports nested routes and outlets.
Universal deep-reactive state via native Proxy, zero dependencies
Lightweight, universal, deeply reactive state management library. Uses native Proxy to track mutations at any depth in objects and arrays, and exposes both onchange callbacks and a standard EventTarget API, isomorphic across Browser, Node.js and SSR.
Offline-first sync engine: outbox, retries, conflict resolution
Syncs local IndexedDB data to a server automatically, in the background, even offline. Writes are intercepted into an IndexedDB-backed outbox with exponential backoff, circuit breakers, a dead letter queue, and pluggable conflict resolution (last-write-wins, shallow or field-level merge).
2019 Ansible playbook provisioning a telco API stack
Legacy Ansible playbook provisioning a telco API platform (PHP7, Nginx, MySQL, Redis) across dev/preprod/prod. Environment identity and per-host config live in group_vars/host_vars, keeping the common role environment-agnostic. Archived as a portfolio reference with credentials stripped to ansible-vault placeholders.
Research space for formal languages of cognition and org structure
Exploratory research project defining two formal languages, a matrix topology language and a dynamic structural mapping model, to express cognition and organizational structure. Includes an LLM engine for generating context-aware indicators across 9 domains and an interactive 3D visualization built with Three.js.