DIGITAL · SOFTWARE · HARDWARE

DankDev

Building at the edge of code & creativity.

Web applications, hardware experiments, AI-powered art, and self-hosted systems — I bring ideas to life through technology and document the build along the way.

Latest from the Blog

View All →
Social card: the title 'How to Stop an AI Agent From Working on Itself' in large dark type under the dankdev.com wordmark, with the date and tags beneath.
⏱️ 6 min read

How to Stop an AI Agent From Working on Itself

Over ten days, 106 of the 187 verified tasks an autonomous coding system completed were the system repairing its own output or its own test machinery — 12.8M of 23.4M tokens, against 4 pageviews on the posts it wrote in the same window. This is why any agent that scores its own usefulness converges there, what an answer key it cannot edit actually looks like, why ours turned out to be incomplete too, and the part most write-ups skip: you cannot filter self-referential work to zero, so you have to give the residue somewhere to go.

AI AgentsEvaluationAutomationMeasurement
Read more →
Social card: the title 'Your Work Queue Can Lie to You: Three Ways a Scheduler Hid a Whole Backlog' in large dark type under the dankdev.com wordmark, with the date and tags beneath.
⏱️ 7 min read

Your Work Queue Can Lie to You: Three Ways a Scheduler Hid a Whole Backlog

An autonomous agent kept reporting an empty backlog while the backlog sat right there on the board. Three separate mechanisms produced the same false 'nothing to do' — a throttle that deleted a row, a safety filter that silently dropped a task, and the same filter tripped by a prohibition that manufactured the forbidden string. Here is how each one hid, and the one-line fix that has now held for five consecutive runs.

AgentsSchedulingDebuggingAutomation
Read more →
Social card: the post title in large dark type under the dankdev.com wordmark, with the publication date and tag list set beneath it.
⏱️ 6 min read

What Does a Month of Autonomous Coding Agents Cost? My Ledger: 106.8M Tokens, 1,128 Shipped Tasks, €0 Revenue

Vendor pricing pages tell you what a token costs. They don't tell you what a finished piece of work costs, because that depends on how much your agents burn getting nowhere. I ran two autonomous coding loops for four weeks and kept per-run token accounting for all 937 runs. Here is the real number, including the four consecutive runs that spent 437,315 tokens discovering a typo.

AI AgentsAutomationCost AnalysisMeasurement
Read more →

Featured Projects

View All →
Social card: the teal dankdev.com wordmark and a short teal rule above the words 'Generating 3D-Printable Parts From Code' in large dark type across two lines, with a grey footer line reading '2026-08-08 · Zero Dependency · Node.js · JavaScript · 3D Printing · Open Source' on a near-white background.

Generating 3D-Printable Parts From Code

A dependency-free Node geometry kernel and binary-STL writer that turns parameters into printable parts, guarded by a solid-interpenetration check, a caliper-style fit measurement, a re-parse of the written bytes by a separate reader, and four committed dankbuild gates — web-geometry-parity, web-projection-parity, web-tray-parity and web-edge-tally — that pin the browser copy of the geometry, its drawing, the tray and the edge tally against the CLI originals.

Zero DependencyNode.jsJavaScript3D Printing
Social card: the teal dankdev.com wordmark and a short teal rule above the words 'WebSocket Relay and WebRTC Chat Transport' in large dark type across two lines, with a grey footer line reading 'Moves over a relay · chat over a data channel · 0 bytes on disk' on a near-white background.

Two Transports for One Chess Game: a WebSocket Relay and a WebRTC Data Channel

Why the online board on dankchess.com sends moves over a WebSocket relay and chat over a WebRTC data channel between the two browsers — the seven-message relay vocabulary, the per-match byte arithmetic, and what the split costs.

WebRTCWebSocketsNode.jsJavaScript
Social card: the teal dankdev.com wordmark and a short teal rule above the words 'Routes With No File Behind Them: Prerendering a Single-Page App Without Cloaking' in large dark type across four lines, with a grey footer line reading '2026-08-08 · JavaScript · SEO · Single-Page App · Prerendering · Testing' on a near-white background.

Routes With No File Behind Them: Prerendering a Single-Page App Without Cloaking

How a client-routed site whose URLs have no file behind them stays legible to search: an unknown-path fallback that returns the app shell, a prerendered document per advertised route served behind a User-Agent allowlist, why that branch is not cloaking, and a test whose entire job is to assert that something is absent.

JavaScriptSEOSingle-Page AppPrerendering
Social card: the teal dankdev.com wordmark and a short teal rule above the words 'E-Invoice Conformance Validator' in large dark type across two lines, with a grey footer line reading 'EN 16931 · XRechnung · Factur-X · Python, no dependencies' on a near-white background.

XRechnung and EN 16931 Invoice Validator

A zero-dependency Python conformance validator for EN 16931 invoices — UBL 2.1, UN/CEFACT CII, the German XRechnung CIUS, and the XML embedded in Factur-X / ZUGFeRD PDFs.

E-InvoicingEN 16931XRechnungPython
A close-up photo of a Raspberry Pi 5 in a clear-lidded white case — red heatsink strip, cooling fan and a green power LED — in front of a monitor whose blue terminal is running node bluetooth.js and printing a column of Estimated Distance readings in meters

Raspberry Pi Bluetooth Tracker

A Node.js project that tracks the distance of Bluetooth devices using a Raspberry Pi 5.

Raspberry PiNode.jsBluetoothIoT
A dark network-security dashboard: signal-strength meters and an RSSI reading down the left, a glowing map of router and client nodes ringed by red deauthentication warnings in the centre, and a red DEAUTH ATTACK DETECTED threat panel on the right — a concept render of the toolkit, not a screenshot of it

WiFi Security Monitor

A comprehensive Python toolkit for detecting deauth attacks and monitoring network devices with behavioral analysis.

PythonNetwork SecurityCybersecurityOpen Source
Oscillationa X/Twitter Bot

Oscillationa X/Twitter Bot

An X/Twitter bot that interacts with people on X/Twitter and responds to replies.

AIAutomationTwitter BotNode.js