Skills & expertise

Capability map

Plain statements of what I do, grouped by area. There are no percentages or years of experience here on purpose: each group links to the projects that back it.

  • AI-assisted engineering

    Using AI agents as working tools, with controls that keep a human in charge.

    • Wrapping an AI coding agent CLI as a local runtime with read-only defaults
    • Hash-bound human approval for any write, with a guard hook that fails closed
    • Documenting residual risks such as prompt injection instead of ignoring them
    • Building scripted pipelines around local speech models, with automated quality checks

    Technologies

    • Claude Code
    • Whisper (faster-whisper)
    • Chatterbox (local voice model)
    • Python

    Backed by

  • Application engineering

    Typed, tested application code from user interface to storage.

    • Offline-first applications with an in-app database and migrations
    • Typed TypeScript code with unit, scenario and browser tests
    • Small Node.js services with a clear, loopback-only HTTP surface
    • Bilingual interfaces with an automated translation completeness check

    Technologies

    • TypeScript
    • React
    • Node.js
    • Express
    • SQLite
    • Vite

    Backed by

  • Mobile development

    Web interfaces packaged as Android apps, with native code where it matters.

    • Capacitor Android projects with a native plugin written in Java
    • Release configuration checks: permissions, exported components, backups, no test code
    • Separate debug and release identities so testing cannot touch real data
    • Release signing handled outside the repository

    Technologies

    • Capacitor
    • Android SDK
    • Gradle
    • Java
    • Android Keystore

    Backed by

  • Security-conscious development

    Reduce what can go wrong by limiting what the software is able to do.

    • Removing capabilities, such as network permission, instead of only guarding them
    • Encryption at rest with the key held by the platform keystore
    • Fail-safe storage that stops rather than overwrites on uncertain reads
    • Fixing and regression-testing authentication, escaping and webhook defects
    • Secrets kept out of repositories and CI, read-only CI tokens

    Technologies

    • AES-256-GCM encryption
    • Android Keystore
    • GitHub Actions
    • pytest

    Backed by

  • Automation and integration

    Connecting data sources to people through small, observable automations.

    • Polling public data feeds and turning them into structured, matched records
    • Telegram bot design: commands, admin controls, allowlists and dry-run mode
    • Notification dedupe and restart-safe delivery
    • Scheduled tasks as fixed read-only templates with a kill switch

    Technologies

    • Telegram Bot API
    • Windows Task Scheduler
    • Python
    • Node.js

    Backed by

  • Infrastructure and operations

    Boring, recoverable systems on Linux and Windows.

    • Hardened systemd services on Linux with writes limited to one directory
    • Release directories with an atomic symlink switch, and scripted rollback
    • Backups and recorded file hashes before a change
    • Windows scheduled tasks, Job Objects and manifest-driven PowerShell deployment
    • Small alerting: failure threshold alert plus a recovery notice

    Technologies

    • Linux (Ubuntu)
    • systemd
    • Bash
    • Windows
    • PowerShell
    • Git

    Backed by

  • Testing and quality

    Checks that run every time, so confidence does not depend on memory.

    • Regression tests for each defect fixed
    • Browser end-to-end tests and on-device checks with made-up data
    • Automated visual QA: contrast, clipping, overlap and caption checks
    • Continuous integration on every pull request

    Technologies

    • Playwright
    • pytest
    • Node.js test runner
    • GitHub Actions

    Backed by

  • Media pipelines

    Programmatic audio and video with reviewable decisions.

    • Transcript-driven edit decision lists with reasons for every cut
    • GPU rendering with FFmpeg NVENC and loudness normalisation
    • Programmatic overlays with React and Remotion (evaluation)
    • Local-only workflows with no uploads

    Technologies

    • FFmpeg
    • Remotion
    • React
    • Whisper (faster-whisper)

    Backed by