medyll
Profile

Lead Developer Fullstack

I build frameworks and use others.
Case studies across TypeScript, Svelte 5, Rust, Go, Python and AI tooling, exploration over finished product.

Profile


Who I am, what I do, and a full experience timeline. View profile →

Featured


  • @medyll/idae-machine

    Idae

    2026-07-25

    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.

    • · idae-machine · DDD multi-tenant app (v0.136)
    • · idae-query · MongoDB-like query engine
    • · idae-socket / idae-stator · sync and state
    TypeScriptSvelte 5SvelteKitpnpm
    View details →
  • wollama-monorepo

    2026-07-25

    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.

    • · Local inference: no cloud, no telemetry
    • · Web + desktop (Electron) + mobile (Capacitor)
    • · Voice I/O · hooks · web-search agents
    Svelte 5ElectronCapacitorNode.jsRxDB
    View details →
  • @medyll/css-base

    2026-06-13

    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.

    • · Zero build, zero preprocessor
    • · Native light-dark()
    • · Published on npm
    CSSOKLCH@functionattr()
    View details →
  • sive

    2026-05-25

    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.

    • · Real-time AI suggestions
    • · Narrative coherence checks
    • · Mobile-ready
    SvelteKitSvelte 5Tailwind v4
    View details →
  • domus

    2026-05-25

    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.

    • · Zero JavaScript overhead
    • · Web (WASM) + native desktop
    • · Alpha v0.1.0
    RustWASM
    View details →
  • latent-line

    2026-07-25

    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.

    • · Interactive timeline editor
    • · Real-time model inspection
    • · CI on GitHub Actions
    SvelteKitSvelte 5Vite
    View details →
  • humemory

    2026-07-25

    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.

    • · 5-level decay model
    • · Recall reinforces traces
    • · Resurfaces before you ask
    TypeScript
    View details →

Libraries and tools


  • Protonesk

    2026-07-25

    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.

    • · ProtonMail in any mail client
    • · IMAP / SMTP / CardDAV
    • · Windows auto-start
    TypeScriptMCP
    View details →
  • jobber

    2026-07-25

    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.

    • · Fully local: no cloud, no API key
    • · Resume + job-URL pipeline
    • · ATS PDF + Playwright autofill
    Python
    View details →
  • pseudo-stack

    2026-05-25

    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.

    • · WCAG 2.2 AA out of the box
    • · 7.7 KB gzip total
    • · Zero dependencies, zero build
    HTMLJavaScript
    View details →
  • SingletonNotepad

    2026-05-25

    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.

    • · One Markdown file, no database
    • · 2-second auto-save
    • · Optional LLM normalization
    C#WinUI 3
    View details →
  • Registry Mind

    2026-05-25

    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.

    • · On-device OCR via ML Kit, no cloud
    • · Sync to desktop over Tailscale
    • · Replaces proprietary AI Mind Space
    KotlinAndroidML Kit
    View details →
  • 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.

    • · AST analysis, no compiler
    • · Props, exports, generics, JSDoc
    • · TypeScript toolchain integration
    TypeScriptSvelte 5
    View details →

Other work


  • Qoolie

    2026-07-25

    Client-side IndexedDB the easy way, with server sync

    Client database IndexedDB the easy way, add server sync

    • · React, Vue and Svelte adapters + devtools
    • · CLI and benchmark suite
    • · Sync via idae-socket, offline-first by default
    TypeScriptIndexedDBReactVueSvelte
    View details →
  • idae.api

    2026-07-25

    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.

    • · IDQL query language: find, group, distinct, parallel
    • · Router → API parser → query layer architecture
    • · Dockerized with PHPUnit tests
    PHPMongoDBDockerNode.js
    View details →
  • Idae Legacy

    2026-07-25

    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.

    • · 12-year-old codebase, still in production
    • · Backward-compatible UI during rewrite
    • · Dockerized dev environment, PHP 5.6 to 8.2
    PHPNode.jsMongoDBDocker
    View details →
  • @medyll/idae-be

    2026-07-25

    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.

    • · Callback-based targeting, root object always returned
    • · Traversal, styling, attributes, events in one API
    • · Timer integration + HTTP content loading
    TypeScriptDOM
    View details →
  • 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.

    • · cssDom: animation/style/resize tracking
    • · htmlDom.track: attribute/child-list/character-data mutations
    • · Flexible callback-based event management
    TypeScriptDOMMutationObserver
    View details →
  • idae-router

    2026-07-25

    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.

    • · Declarative http/http_source fetching into ctx.data
    • · In-memory SWR cache with hover prefetching
    • · Nested routes with data-idae-outlet mounting
    TypeScriptSvelteVitestPlaywright
    View details →
  • 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.

    • · Deep reactivity via recursive Proxy + WeakMap cache
    • · Zero dependencies, isomorphic (browser/Node/SSR)
    • · onchange callback + addEventListener dual API
    TypeScriptProxy
    View details →
  • 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).

    • · Outbox + circuit breaker + dead letter queue
    • · mobile-first / server-first sync modes per collection
    • · SSE/WebSocket push listeners, pluggable conflict resolution
    TypeScriptIndexedDB
    View details →
  • 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.

    • · Same role runs unmodified across dev/preprod/prod
    • · group_vars/host_vars scoping, no hardcoded env in tasks
    • · Credentials stripped to ansible-vault placeholders
    AnsiblePHP7NginxMySQLRedis
    View details →
  • Ferule-Core

    2026-07-01

    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.

    • · Two formal languages: matrix topology + structural mapping
    • · LLM-driven indicator generation across 9 domains
    • · Interactive 3D semantic cloud visualization
    PythonThree.jsLLM
    View details →