AIdaemon
A self-hosted AI agent that runs as a background daemon, accessible via Telegram, Slack, or Discord.
Rust · SQLite · Telegram · MCP · AI

David Loor
Open to consulting and the right full-time role
I've shipped web platforms for 17 years. These days that means agents, MCP servers, and the cloud plumbing that keeps them working in production.
Ask about my work. The answers come from my projects and blog posts.
Runs on Cloudflare Workers AI. It can get things wrong.
A self-hosted AI agent that runs as a background daemon, accessible via Telegram, Slack, or Discord.
Rust · SQLite · Telegram · MCP · AI

AI-powered RFP aggregator that scrapes government and nonprofit opportunities nightly.
Cloudflare Workers · React Router · Hono

Free 3D learning experiences that open in a VR headset's browser, from Apollo 11 to the inside of a cell, with nothing to install.
WebXR · Babylon.js · three.js

Persistent browser strategy game about growing a medieval House across fiefs, alliances, markets, and wars.
React · TypeScript · Cloudflare Workers
Bannermarch is a 3D game that runs in the browser. Now you can open it in the Meta Quest browser, press Enter VR and walk around inside it, with nothing to install. Here's how the browser does VR, how Babylon.js helps, and what went wrong along the way.
Typing a password on a Meta Quest means pecking at a floating keyboard, so Bannermarch signs headsets in like a TV does. The headset shows a code and you approve it at /pair on your phone. Here's how the pieces fit, why someone who reads the code can't use it, and the reverse flow I added because you can't see your phone with a headset on.
AIdaemon could save a fact and then fail to find it when I asked for it. Semantic search ranks by what's on the same topic, so the short fact holding the real answer gets buried under wordier ones nearby. A reranker reads each candidate against the question and puts the right one back on top.
At Makpar, a federal contractor, I design and build integrations for a national unemployment benefits platform. Once claimants verify their identity, my integration hands the results to their state's unemployment system over signed, encrypted APIs. I also built a SOAP client with message-level signing and encryption for a cross-state integrity service. I work with coding agents throughout, and every change still goes through tests and security review.
I led a cross-functional team of 4+ on government-focused AI and web projects. We built security-focused government solutions that combined AI, databases, and web technologies and stayed available through national traffic surges.
Led and mentored a global team of 10+ developers across three continents on large-scale enterprise platforms. Managed Drupal and WordPress implementations with robust security, performance, and WCAG 2.1 accessibility standards.
Architected enterprise Drupal and WordPress solutions while managing a team of 3+ engineers. Established technical standards and led continuous improvement initiatives.
Developed custom Drupal modules and implemented advanced search features using Apache Solr and Elasticsearch with geolocation capabilities. Built Single Sign-On integrations and collaborated on code reviews.
I built Drupal websites for Ecuadorian private and government companies, and international clients around the world. This taught me how to work well with people from different countries and time zones.
I managed network systems and taught Python programming to help students learn computer science fundamentals. I implemented and managed security systems, handled network infrastructure, and supported 200+ users with hardware and software needs.
Earned my degree in Computer and Information Sciences from Ecuador's top technical university, building a strong foundation in software engineering, algorithms, and computer science principles.
I usually reply within one business day.