innerpulse / portfolio
Consulting

innerpulse.net · selected work · 2026

From prototype to production.

Applied AI consulting and engineering: agent systems, research automation and live data platforms, designed, built and run in-house. 32 recent projects. The screens are from running systems, with personal and identifying details redacted.

Projects
32
Repositories
35
Commits
1,470
Live web platforms
11
Languages
17

Index

The band plan

Every project is a carrier. Peak height follows commit volume. Hover a carrier to identify it, and click to tune in.

01

Band 01 · 5 projects

AI & agents

Production AI, built and run in-house: research agents that write and maintain reports, a multi-model fact-checking panel with human review, and the clients and orchestration that run coding agents.

agora.innerpulse.net RX

A published fact-check: eight models, 46 sources read, 16 quotes confirmed.

CH 01 Python 6 commits

agora.innerpulse.net

Agora

AI models fact-check in public. Blind first, then they face each other’s evidence.

A fact-checking network in which a panel of AI models assesses each factual claim independently, then sees the others’ evidence once before settling. Every quoted source is re-fetched and checked on its page, a human editor reviews the result, and agents take part through both a REST API and an MCP tool server.

  • One core enforces the rules and scoring for both REST and a streamable-HTTP MCP server
  • Evidence quotes are re-fetched and matched verbatim; quotes that can’t be found count against the model
  • Reputation from calibration: time-averaged Brier scores at fixed UTC checkpoints
  • Monoculture warning when the contributors to a claim share a model family
  • Server-rendered SVG gauges, spectra and network views, plus a public event log announced to IRC
  • Python 66%
  • HTML 23%
  • CSS 11%
  • Python
  • FastAPI
  • MCP
  • SQLite
  • Jinja2
  • Docker
Live prototype agora.innerpulse.net
Innerpulse · Windows desktop RX
InnerpulseLocal workspace · coding profilePROJECTSLocal workspaceRemote · SSHFirmware toolsCONVERSATIONSAdd retry with backoff to the upload client and run tests.search_workspace“UploadClient” · 3 matchesread_fileUploadClient.cs · lines 40–118edit_file · UploadClient.csawaiting approval- await client.PostAsync(uri, body);+ var retry = Backoff.Exponential(3, TimeSpan.FromMilliseconds(250));+ await retry.RunAsync(() => client.PostAsync(uri, body));ApproveDenyAllow for this filerun_command · dotnet testRestoring and building…Build succeeded · 0 warnings, 0 errorsTest run: 214 testsPassed! Failed: 0 · Passed: 214 · Skipped: 0Turn changes · 2 files+31−6Message…Auto low-riskTASKSFind the upload clientAdd retry with backoffRun the test suiteSummarise the changeTOOL CATALOG74 tools · schema budget 56%REMEMBERED GRANTSread_file · workspacesearch · workspacerun_command · testsSchematic render

Schematic render of an approval-gated agent turn: tool calls, a diff awaiting approval, streamed test output and the turn’s Git card.

CH 02 C# 312 commits

Windows desktop AI client

Innerpulse

A Windows AI workbench where every tool call asks first.

A WPF desktop client on .NET 10 for local and hosted models, speaking OpenAI-compatible Chat Completions, the Responses API and Anthropic’s native Messages API. It streams replies into project-scoped conversations and drives a catalog of roughly 74 approval-gated tools across local and SSH-backed remote workspaces.

  • Workspace search, line-addressed reads, Roslyn navigation, git, processes and desktop control, grouped into command families
  • File edits previewed as unified diffs before approval, and every remembered grant is revocable on its own
  • Persistent per-conversation Python interpreter with crash recovery and rich table and image previews
  • Implementer subagents work in isolated worktrees and hand back unapplied diffs; optional auto-verification builds and tests the result
  • Live-streamed build and test output, mid-turn steering, and a Git card summarising each turn’s changes
  • 1,079 passing tests, a zero-warning release build and self-contained win-x64 releases
  • C# 100%
  • C#
  • .NET 10
  • WPF
  • Roslyn
  • SSH / SFTP
  • Python
Private
retina.innerpulse.net RX

A cited web-search answer with its reasoning trace, per-response metrics and the live model catalog. Sidebar blurred.

CH 03 Python 128 commits

retina.innerpulse.net

Retina

The Innerpulse desktop client, reimagined for any browser.

A responsive web client for LLM servers. PHP owns sign-in, sessions and all metadata, while a private FastAPI service owns every model call, SSE stream, tool loop and usage record. Conversations sync live across devices, and history is fitted to each model’s context window without deleting anything from the transcript.

  • The web server is the only public entry point; the model service listens on loopback behind it
  • Identity crosses from PHP to Python only in short-lived signed tokens, with ownership re-checked on every object
  • Provider keys held as libsodium secretbox ciphertext; one live run per conversation under a row lock, with stale runs reaped
  • Context fitting elides old tool results first (about 79% of replayed history), then older messages
  • Per-model reasoning effort from the live catalog, rate-limit budgets surfaced as run events, and remote MCP tool servers
  • Python 48%
  • JavaScript 27%
  • PHP 16%
  • CSS 9%
  • PHP 8.3
  • Python 3.12
  • FastAPI
  • MySQL 8
  • SSE
  • Google OIDC
Private · sign-in required
retina2 · mission control RX

Mission control with a Grok Build master and Hermes and Antigravity workers. Account details blurred.

CH 04 JavaScript 25 commits

Multi-agent coding harness

Retina 2

Mission control for a room full of coding agents.

A containerised harness that spawns real PTYs for coding-agent CLIs, streams them to the browser over WebSockets with xterm.js, and puts a mission-control panel beside them. Work is queued one task per agent, fans out by role or parent, and runs as multi-step plans whose steps wait on each other.

  • Raw terminal bytes and structured JSON events travel on separate WebSocket streams and never mix
  • Harness catalog and agent roster reconcile live: renames touch records, command changes respawn only that PTY
  • Plans with dependencies across fan-outs; a failed prerequisite cancels its dependents
  • Shell steps report their own exit status through an invisible terminal escape sequence
  • Crash-looping CLIs are marked blocked instead of respawning forever, and credentials never pass through the app
  • Per-agent subscription usage windows fed by the AI Credits daemon; 54 end-to-end assertions against real PTYs
  • JavaScript 84%
  • CSS 13%
  • Shell 3%
  • Dockerfile 1%
  • Node.js
  • node-pty
  • xterm.js
  • WebSocket
  • Docker
Private · Docker
intel.innerpulse.net RX

A 5,500-word consensus report: contents rail, summary, sources and tags.

CH 05 PHP 64 commits

intel.innerpulse.net

intel

Deep-research documents, written by agents and kept current on a schedule.

A public knowledge base whose long-form reports are researched and written by an AI model against the live web, then filed by a second agent that curates the whole library. A brief can run once, publish a fresh edition every period, or keep one living document rewritten in place with its full revision history.

  • Research toolbox with batched web search, academic source search, PDF and filing reads, site crawls and citation metadata
  • Length enforced rather than requested: the model sizes the subject, budgets every section, then writes to plan
  • Degraded backend fallbacks are labelled to the model and kept out of the cache instead of passing silently
  • A librarian agent merges near-duplicates, files topics into sections and chooses the front-page lead
  • Markdown extended with key figures, server-rendered SVG charts, timelines, head-to-head tables and citation chips
  • Dependency-free PHP 8.3 and SQLite with no build step, and eight WCAG AA colour themes
  • PHP 88%
  • CSS 12%
  • PHP 8.3
  • SQLite
  • systemd worker
  • LLM gateway
  • SearXNG
  • SVG
02

Band 02 · 10 platforms

Web platforms

Production web apps and live services, from browser-based radio receivers to analytics warehouses.

localhost:8073 · uSDR-1000 RX

Live wideband FM carrier: spectrum, waterfall, passband and MPX scope. Memory presets blurred.

CH 06 Rust 48 commits

Upstairs SDR

uSDR

A hardware transceiver face for a thirty-dollar dongle, served to a browser.

A receive-only RTL-SDR inspector that streams a live FFT, waterfall and narrowband inspect chain to one web page over WebSocket. It runs the same in-process classifier and protocol decoders as the full scanner, so a signal can be identified, decoded and heard without leaving the machine.

  • Eleven modes, including P25 Phase 1, DMR, NXDN, POCSAG, FLEX and AX.25, decoding side by side in AUTO
  • Classifier spanning 20+ modulation families; a profiling pass cut AUTO from ~102% to ~33% of a core
  • 1×–32× real zoom with the FFT sized to the window, down to ~9 Hz per bin
  • Guarded AGC across the R820T’s 29 real gain steps, plus DC, LO-leakage and IQ correction
  • Deterministic replay: a saved I/Q capture reproduces identical decode events with no radio attached
  • Rust 80%
  • HTML 16%
  • JavaScript 5%
  • Rust
  • Axum
  • Tokio
  • SoapySDR
  • rustfft
  • WebSocket
  • Web Audio
Lab receiver · open source github.com/innerpulsenet/uSDR
scannerd · radio operations RX

Site telemetry: locked P25 control channel, control and TSBK rates, band plan and the serving site’s neighbours.

CH 07 Rust 111 commits

Trunking scanner

scannerd

A multi-radio trunking scanner that transcribes its own traffic.

A Rust server that owns a pool of RTL-SDR radios and every stage of the DSP: it follows trunked systems, records calls, transcribes them locally with Whisper and serves a modular web client for live audio, history and site telemetry. No external decoders, and no audio ever leaves the box.

  • Analog NFM with CTCSS/DCS, MDC-1200, DMR Tier II/III, P25 Phase 1/2 trunking and NXDN
  • Radios pinned by USB serial to pool, control and idle roles; hot-plug discovered every three seconds
  • Automatic drift trimming from decoded frames, correcting anything past ±0.3 ppm
  • whisper.cpp transcripts indexed into SQLite FTS5, archived hourly to Oracle ADB and Object Storage
  • Bounded I/Q fan-out, so a slow consumer drops its own blocks instead of back-pressuring the radio
  • Rust 78%
  • JavaScript 12%
  • CSS 6%
  • HTML 3%
  • Rust
  • Axum
  • Tokio
  • SoapySDR
  • SQLite FTS5
  • whisper.cpp
  • Ogg/Opus
  • Oracle ADB
Self-hosted · private
scanner.innerpulse.net RX

Radio relationships, topology view. System label redacted.

CH 08 PHP 11 commits

scanner.innerpulse.net

Scanner Network

Who talks to whom, inferred from nothing but the order of transmissions.

The archive reader for scannerd: browse, filter and full-text search recorded calls and transcripts, with audio streamed straight out of hourly Object Storage bundles. Its radio-network view infers relationships between radio IDs that transmit back to back on a channel, then maps them as topology, orbit and matrix views.

  • A contact is counted when two IDs transmit consecutively within a 120-second reply window
  • Activity rhythm, traffic trends and derived indicators recomputed for every selection
  • Plays a call from a byte-range slice of its hourly Ogg/Opus bundle, cached locally
  • Google sign-in against an allowlist, with HMAC-signed sessions re-checked on every request
  • PHP 47%
  • CSS 27%
  • JavaScript 26%
  • PHP
  • Oracle (oci8)
  • OCI Object Storage
  • Google OAuth
  • SVG
Invite-only
stats.innerpulse.net RX

Home: league landscape scatter and opponent-adjusted power rankings.

CH 09 PHP 21 commits

stats.innerpulse.net

NFL Stats

Every snap, measured: opponent-adjusted, and drawn in hand-built SVG.

A server-rendered analytics site built on nflverse play-by-play, with an hourly Python ingest into Oracle Autonomous Database and pages that only ever read pre-warmed JSON. Opponent-adjusted EPA, power ratings and win-probability projections drive live scores, tiebreaker-correct standings and a chart maker.

  • Iterative opponent adjustment of EPA/play and success rate, shrunk toward the league mean early on
  • Game projections with home field and a Φ(margin ÷ 13.5) win probability set against the market line
  • Ingests play-by-play, Next Gen Stats, PFR advanced, QBR, snap counts, injuries and depth charts
  • Every chart is generated, animated SVG, with no third-party scripts, fonts or CDNs
  • PHP 66%
  • JavaScript 14%
  • Python 12%
  • CSS 7%
  • PHP 8.3
  • Python
  • pandas
  • Oracle ADB
  • SVG
antenna.innerpulse.net RX

20 m three-element Yagi at 18 m: 13.0 dBi gain, 1.50 SWR, 26 dB front-to-back.

CH 10 TypeScript 26 commits

antenna.innerpulse.net

Antenna Modeler

A real NEC-2 solver, compiled to WebAssembly, running in your tab.

A Three.js antenna modeller that opens EZNEC files and NEC-2 decks and simulates them entirely client-side, with nec2c compiled to WebAssembly inside a Web Worker. Gain, front-to-back, impedance and SWR arrive alongside a 3D radiation surface and polar cuts.

  • Reverse-engineered the binary EZNEC .EZ format (v4–v7 and legacy DOS), and can read and write it
  • 3D pattern surface with azimuth and elevation cuts, SWR, impedance and takeoff angle
  • Parametric dipole, vertical, Yagi and hex-beam builders driven by a sweep optimiser
  • Lossy-feedline transform applied outside NEC to answer real cable-loss questions
  • Thirty-plus example models, from a 160 m dipole to a 33 cm panel array
  • TypeScript 80%
  • JavaScript 11%
  • CSS 5%
  • HTML 3%
  • TypeScript
  • Three.js
  • nec2c → WASM
  • Web Workers
  • Vite
  • Vitest
justice.innerpulse.net RX

Overview: statewide choropleth and headline indicators.

CH 11 PHP 85 commits 3 repos

justice.innerpulse.net

CT Justice Data

Connecticut’s courts and prisons, searchable and measured.

An analytics interface over public Connecticut sentencing and Department of Correction records: more than 247,000 sentenced dockets and 17,000 corrections profiles, linked, mapped and tracked over time. It runs PHP over Oracle Autonomous Database, and no page computes an aggregate on request; pre-warmed JSON payloads, materialized fact tables and a SQLite FTS5 index serve every view.

  • More than a dozen analytic views: arrest geography, sentencing practice, case processing, defense-counsel caseloads, corrections population and movement
  • Materialized fact tables turned ~45-second window-function builds into flat indexed reads
  • Payload cache rebuilt every 20 minutes, with a forced rebuild and fresh search index after each nightly refresh
  • SQLite FTS5 index built from Oracle in ~30 s drives search, geography and trends; record pages read Oracle by primary key
  • Google sign-in with an admin-managed allowlist, plus hashed, expiring and revocable demo tokens rate-limited per IP
  • Careful semantics: case- vs. charge-level counts, suspended-sentence decomposition and superseded-row exclusion
  • PHP 70%
  • Python 13%
  • CSS 9%
  • JavaScript 9%
  • PHP 8.3
  • Oracle ADB
  • SQLite FTS5
  • Python
  • Apache
  • Google OIDC
  • SVG
Private · sign-in required
dashboard.innerpulse.net RX

Market heatmap: tile area is traded value, colour is day change.

CH 12 JavaScript

dashboard.innerpulse.net

Station Wallboard

Eighteen live dashboards, built for a 4K wall.

A wallboard hub of real-time telemetry for 4K and 1080p displays: propagation and space weather, severe-weather radar, global markets and a news briefing, each as a full-screen board. A slideshow mode rotates through them hands-free, with single-key controls and a motion pause for always-on screens.

  • Seven radio boards: grayline map, MUF and ionosonde field, DX spots, beacons and satellite passes
  • Four weather boards: NWS warnings, SPC convective outlooks and Doppler radar with warning polygons
  • Six market boards: NYSE/Nasdaq treemap by traded value, FX matrix, crypto and prediction markets
  • Feed-freshness monitor, UTC clock, slideshow and keyboard shortcuts for unattended displays
  • JavaScript
  • SVG
  • Canvas
  • NOAA / NWS / SPC
  • PSKReporter
  • CelesTrak
ping.innerpulse.net RX

Signal profile, latency timeline and per-phase statistics from a completed run.

CH 13 HTML 22 commits

ping.innerpulse.net

Ping

Thirty-six seconds to learn whether your connection is fit for a firefight.

A browser benchmark that measures latency at idle, then under download load, then under upload load, and grades how steady it stays. All timing and grading happen client-side; three tiny PHP endpoints act as the probe, the upload sink and an incompressible download source.

  • Three-phase test with per-phase jitter, packet loss, bufferbloat and throughput
  • Median and P95 latency rolled into a letter grade tuned for competitive play
  • Load-onset spikes excluded by discarding the first ~300 ms of each phase
  • Zero dependencies: performance.now() timing across parallel fetch connections
  • HTML 96%
  • PHP 4%
  • JavaScript
  • PHP
  • Fetch API
  • SVG
replay.innerpulse.net RX

Late-game Erangel, tracked squad. Every player name replaced with a pseudonym.

CH 14 JavaScript 8 commits

replay.innerpulse.net

Drop Replay

Find the fight. Replay the drop.

Look up a PUBG player, pick a recent match and watch all hundred players move from the opening flight to the final circle. The server samples official telemetry (positions, zones, vehicles, combat), and the browser animates it on scale-correct maps with a kill feed and tracking camera.

  • Team dots, flight path, vehicle and glider trails, zone countdowns, care packages and knock rings
  • Scrub with hover preview, 1–30× speed, bookmarks, 1–128× zoom and squad follow
  • Clip export to MP4 or WebM, 1080p or 9:16, using only the browser’s native encoder
  • Disk cache keyed to source mtimes stays within API rate limits; the API key never leaves the server
  • JavaScript 59%
  • PHP 28%
  • CSS 13%
  • PHP 8
  • cURL
  • PUBG API
  • Canvas
  • MediaRecorder
dx.innerpulse.net RX

Live grayline and NCDXF/IARU beacon network.

CH 15 JavaScript 26 commits

dx.innerpulse.net

DX Amateur Radio

Propagation, callsigns, Morse and the FCC exam: one operator’s console.

A single-page amateur-radio workstation that combines live solar and HF propagation telemetry, callsign intelligence, RF and antenna calculators, a CW trainer and the complete FCC license-exam pools. A Python backend loads the FCC ULS licence database into MySQL behind a read-only API, and a WebSocket-to-telnet bridge brings DX clusters into the browser.

  • Live grayline, NCDXF beacons, NOAA SWPC indices, SDO imagery and point-to-point path forecasts
  • FCC ULS importers: a weekly full load plus daily transactions, swapped in atomically
  • Standard-library-only Python RFC 6455 WebSocket server bridging to telnet DX clusters
  • CW trainer with Koch drills, keyer and decoder; all three exam pools, with the official figures as SVG
  • JavaScript 86%
  • CSS 7%
  • Python 5%
  • HTML 3%
  • JavaScript
  • Python
  • MySQL
  • WebSocket
  • NOAA SWPC
  • FCC ULS
03

Band 03 · 11 applications

Desktop & native

Native clients, tray tools, terminal UIs and Game Bar widgets for KDE Plasma and Windows.

CH 16IRCv3 client · KDE & Windows58 commits

kIRC

IRCv3 with the soul of a terminal.

A desktop IRC client for KDE Plasma and Windows with a deliberately console aesthetic. A pure-Rust protocol engine owns all IRC state; the Kirigami/QML interface talks to it through a CXX-Qt bridge.

  • server-time, message-tags, batch, echo-message and chathistory; SASL PLAIN, SCRAM-SHA-256 and EXTERNAL
  • A 20,000-row buffer that costs the same at ten lines or ten thousand
  • Fourteen monospace themes with optional glass and CRT effect layers
  • Secrets in KWallet or Windows Credential Manager, never in config
  • Rust
  • QML / Kirigami
  • CXX-Qt
  • Qt 6
  • CMake
CH 17Tray monitor · KDE & Windows28 commits

AI Credits

Nine AI providers’ quotas in one tray icon.

A Plasma 6 applet and a Windows 11 tray port that track remaining quota, credits and renewals across nine AI providers, with burn-rate pacing and time-to-exhaustion estimates.

  • A collector writes a state file the UI only reads, so a slow vendor API never blocks the panel
  • Normalises every provider’s percent, ratio and timestamp quirks, each pinned by a test
  • Windows build ships as .NET 10/WPF alongside a Python/PySide6 reference implementation
  • Python
  • QML
  • C# / .NET 10
  • WPF
  • SQLite
  • systemd
CH 18KDE Plasma 6 global themes1 commits

ELEVEN

Windows 11 polish, native to KDE Plasma 6.

Three independently installable global themes (Dark, Aero Glass and Carbon Glass), each with a desktop style, colour scheme, native KWin decoration, icons, cursors, splash and original wallpaper.

  • Strict Plasma 6 KPackage structure, validated against Plasma 6.7
  • Per-variant install, uninstall and validate scripts; one versioned package per theme
  • Applying a variant preserves existing panels, widgets and layout
  • QML
  • KWin
  • FrameSVG
  • Shell
CH 19Xbox Game Bar widget20 commits

Vecta Crosshair

A crosshair overlay for Xbox Game Bar, shipped on the Microsoft Store.

Dot, plus, ring, diagonal and T-style reticles with full control over colour, opacity, gaps, outlines and centre dots, and presets that travel as checksummed share codes.

  • Local-only settings: no account, telemetry or network
  • x86, x64 and ARM64 packages for Windows 10 1809+
  • C#
  • UWP
  • XAML
  • Game Bar SDK
Microsoft Store
CH 20Terminal HF panadapter70 commits

hfscan

An HF panadapter and FT8, CW and PSK decoder that lives in a terminal.

A zoomable spectrum and waterfall drawn in half-block glyphs, a band scanner and up to 24 concurrent decode slots fed by a single shared FFT.

  • A full 24-slot decode fleet costs ~1.8% of real time at 192 kS/s
  • FT8/FT4 with LDPC, Costas sync and successive-interference cancellation
  • Rust
  • ratatui
  • SoapySDR
  • SDRplay RSP1A
CH 21Deterministic HF receiver28 commits

digisdr

hfscan rebuilt headless, where byte-identical replays gate every build.

An 18-crate Rust workspace: a daemon owns the radio, classifier and decoders and publishes immutable state snapshots, while a presentation-only TUI connects over TCP.

  • Spectrum subscribed on demand: 438 B/s by default versus 10.5 MB/s of full state
  • unsafe_code forbidden workspace-wide
  • Rust 2024
  • rustfft
  • TCP protocol
Private
CH 23Audio DSP · VST 2.410 commits

Footsteps

Hear footsteps through your own gunfire, at zero latency and ~1% of a core.

An Equalizer APO plugin that holds down loud sounds and lifts quiet ones on the output mix, after the audio has left the game. Nothing reads or hooks a game process.

  • C++17
  • VST 2.4
  • WASAPI
  • Python
Private
CH 24RTL-SDR bench tool3 commits

rtlutil

A keyboard-first test bench for RTL-SDR dongles.

Enumerates every RTL2832U by serial and runs the rtl_* tools against it with live output, with EEPROM writes guarded by a typed confirmation and automatic backup.

  • Rust
  • ratatui
  • nusb
CH 25Xbox Game Bar widget11 commits

VectaZoom

A GPU-captured 2× zoom lens for Xbox Game Bar.

Windows.Graphics.Capture plus Win2D, with multi-display selection and self-exclusion so the lens never magnifies itself.

  • C#
  • UWP
  • Win2D
Private
CH 26Code knowledge graphs2 commits

Codeview

Codebases as navigable 2D and 3D knowledge graphs.

tree-sitter parsing for C, C++, Rust and TypeScript feeds GPU force-directed 3D views, C4-style maps, call-flow diagrams and execution-trace stepping.

  • TypeScript
  • Three.js
  • tree-sitter
Private
04

Band 04 · 3 firmware builds

Firmware

Bare-metal DSP and protocol work on handheld radios: STM32, HR-C6000 and BK4819. Every build is receive-only.

CH 27

DM-1701 Tier III Monitor

OpenGD77 fork · STM32F405

312 commits

A DMR Tier III trunking monitor that runs entirely inside a handheld radio.

A firmware fork for the Baofeng DM-1701 that decodes trunked control signalling on the radio’s own HR-C6000 baseband, follows voice grants to the granted channel, timeslot and colour code, then returns to control when the call ends. Documented as a capture-driven reverse-engineering log across more than 300 commits.

  • On-radio decode of Aloha, broadcast and multi-block channel grants, paired per timeslot
  • End-to-end trunk following verified on air, retuning with each grant’s own slot and colour code
  • Recovered the vocoder call path by tracing a register-clobber bug to specific compiled instructions
  • Liveness rebuilt on CRC-valid bursts, lifting control-block yield ~59% and data blocks ~72%
  • C
  • STM32F405
  • HR-C6000
  • AT1846S
  • OpenGD77
  • Python
CH 28

UV-K5 Receiver

Custom firmware · DP32G030

14 commits

A handheld stripped to a receiver, then taught to read pagers.

A receive-focused UV-K5 firmware that trims the build to a baseline, freeing ~14.7 KB of a 61,440-byte flash window, and spends it on a data mode, a message-history page and POCSAG and MDC-1200 decoders driven by the BK4819’s single FSK modem.

  • POCSAG at 512/1200/2400 baud: frame sync, BCH(31,21) checking and 7-bit ASCII assembly
  • MDC-1200 PTT-ID decode with CRC-16, so no frame ever decodes to a wrong ID
  • Full hardware tuning range of 18–630 and 840–1300 MHz
  • Host-side decoder test suite that runs without a radio
  • C
  • BK4819
  • DP32G030
  • Make
CH 29

DM-1701 P25 Workspace

Bare-metal DSP · Cortex-M4F

2 commits

A P25 Phase 1 receive chain squeezed onto a Cortex-M4F.

A portable firmware workspace with a from-scratch barebones base and an OpenGD77 experiment that runs a complete receive-only P25 pipeline on the radio, from discriminator audio to IMBE voice.

  • Frame sync, NID, LDU de-interleave and Golay/Hamming FEC on-device
  • Q12 integer matched filters removed the capture overruns of the float loop
  • Unicorn-emulated self-test; bundled toolchain rebuilds on Windows or Linux
  • C / C++
  • STM32F405
  • HR-C6000
  • mbelib
  • Unicorn
05

Band 05 · experiments

Lab

Prototypes, agent infrastructure and experiments.

CH 30Unreal Engine 5.8 prototype

Home Run Derby

Batting practice with real baseball aerodynamics.

Drag, Magnus lift, seam-shifted wake and spin decay drive every pitch and batted ball, and a Python mirror of the same model verifies break and carry without launching Unreal.

  • C++
  • Unreal Engine 5.8
  • Python
CH 31Cerebrum → MarioMCP

Unified MCP servers

One authenticated toolbelt shared by every AI client.

Two generations of a single MCP endpoint: search, scraping, OCR document reading, academic source search, durable evidence snapshots and a stateful Playwright browser, with per-token scopes.

  • TypeScript
  • Python
  • MCP
  • Playwright
  • SearXNG
CH 32Hermes Desktop plugin

Session Delegation

Per-session subagent policy, with the backend kept authoritative.

A single-file plugin that drives the gateway’s delegation RPCs, validates concurrency and timeouts, and never mistakes an unsaved edit for the policy in force.

  • JavaScript
  • React
  • Hermes SDK
06

Infrastructure & signal analysis

Under the hood

Everything above runs on a small, deliberately lean footprint spread across more than one cloud and a home lab, stitched together by a private mesh network. Provider details are left out on purpose.

TLS EDGEPRIVATE MESH VPNCLOUD Apublic subnetproxyweb tierprivate subnetserviceson loopbackNAT · gatewayskey vaultCLOUD Bagent hostssearchedge sitesHOME LABSDR receiversworkstationsDATAOracle ADBmTLS wallet onlyMySQLapplication stateOBJECT STORAGEstandardhourly bundlesinfrequentafter 30 daysarchiveafter 365 days
  1. 01 · Compute

    Arm and x86 hosts, each with one job

    Web tiers, model and agent services, self-hosted search, and the radio receivers at home, spread across providers rather than stacked on one box.

  2. 02 · Network

    Segmented, and meshed privately

    Public and private subnets behind NAT and service gateways. Hosts talk to each other over an encrypted mesh VPN instead of open ports.

  3. 03 · Data

    Oracle Autonomous Database and managed MySQL

    Warehouse access only through mutual-TLS wallets with least-privilege application accounts; application state in managed MySQL.

  4. 04 · Storage

    Object storage that ages gracefully

    Hourly call-audio bundles move to an infrequent-access tier after 30 days and to archive after a year, with no manual cleanup.

  5. 05 · Edge

    Proxies in front, services on loopback

    A TLS edge in front of the public sites; application services bind to localhost behind reverse proxies and run under systemd.

  6. 06 · Operations

    Scheduled, observable, boring

    Secrets in a managed vault and protected environment files; timers drive hourly syncs, nightly refreshes and cache warmers.

CommitsAIWEBAPPFWLAB
Commits per projectInnerpulse312DM-1701 Tier III Monitor312Retina128scannerd111CT Justice Data85hfscan70intel64kIRC58uSDR48AI Credits28digisdr28Antenna Modeler26DX Amateur Radio26Retina 225Ping22NFL Stats21Vecta Crosshair20UV-K5 Receiver14Scanner Network11VectaZoom11Footsteps10Drop Replay8Agora6Unified MCP servers6KQLink5Session Delegation5rtlutil3Codeview2DM-1701 P25 Workspace2Home Run Derby2ELEVEN1
Language mixrepo-equivalents
Language mixRust · 4.8 repo-equivalentsJavaScript · 4.6 repo-equivalentsPHP · 3.2 repo-equivalentsC# · 2.8 repo-equivalentsC++ · 2.8 repo-equivalentsPython · 2.7 repo-equivalentsC · 2.7 repo-equivalentsTypeScript · 2.0 repo-equivalentsHTML · 1.8 repo-equivalentsQML · 1.6 repo-equivalentsCSS · 1.3 repo-equivalentsShell · 0.5 repo-equivalents
  • Rust4.8
  • JavaScript4.6
  • PHP3.2
  • C#2.8
  • C++2.8
  • Python2.7
  • C2.7
  • TypeScript2.0
  • HTML1.8
  • QML1.6
  • CSS1.3
  • Shell0.5

Commit bars use a square-root scale so small projects stay visible beside the 300-commit firmware log. Languages are counted per repository rather than by bytes, so vendored toolchains don’t drown out the rest.

innerpulse · applied AI

Want something like this built for you?

The same studio takes on applied AI consulting and engineering: agent systems, research automation and data platforms, from prototype to production.