Skip to content
View donatj's full-sized avatar
Getting back to business
Getting back to business

Sponsors

@passbolt

Sponsoring

@composer
@Homebrew
@fyne-io

Organizations

@capdig @CorpusPHP @QuorumCollection @SophistryEng @NoteOf @thank-you-php @ShieldedDotDev @RenaissancePlace

Block or report donatj

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
donatj/README.md

Hello!

I am a PHP, Go and TypeScript developer based in Minneapolis.

I work across the entire stack, but I’m happiest in the backend. Moving data, pushing bytes around, making things fast.

I ❤️ tiny reusable parts with single responsibilities and no side effects. I keep code simple, clear, and easy for anyone to read.

I’ve spent fifteen years in EdTech keeping old systems running and new ones from catching fire. Before that I built industrial and B2B tools where things had to work because people depended on them.

What I've been up to recently

I’ve been busy building out Shielded.dev, including a new keyed image route for serving user-specific shields and improvements across its authentication, CLI, and GitHub Action tooling. The goal is to make badge updates easier to manage while keeping the hosted service and self-hosted pieces dependable. Serve shields through stable user-and-key URLs (github.com)

On my own projects, I’ve been tightening Boomerang’s validation and testing tools. I fixed closure-based validations so thrown errors become useful failed expectations instead of stopping the whole run, while also raising static-analysis coverage and modernizing the test setup. Turn validation-closure errors into readable test failures (github.com)

What I have been thinking about

I keep coming back to simple software, strong QA, and keeping humans in control of AI-assisted development. AI can speed up implementation, but I still want small, reviewable changes, understandable code, and tools that preserve judgment rather than replacing it.

Last update: 2026-08-09

Pinned Loading

  1. maennchen/ZipStream-PHP maennchen/ZipStream-PHP Public

    💾 PHP ZIP Streaming Library

    PHP 1.9k 113

  2. force-color.org force-color.org Public

    Website data for force-color.org

    SCSS 26 13

  3. PhpUserAgent PhpUserAgent Public

    Lightning Fast, Minimalist PHP User Agent String Parser.

    PHP 595 127

  4. mock-webserver mock-webserver Public

    Simple mock web server in pure PHP for testing.

    PHP 139 22

  5. Circle-Generator Circle-Generator Public

    Tool to generate circles for block building games like Minecraft

    TypeScript 131 40

  6. CsvToMarkdownTable CsvToMarkdownTable Public

    Simple CSV to Markdown Table Converter

    TypeScript 300 47