Skip to content
View eddmann's full-sized avatar

Block or report eddmann

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 supported. This note will be visible to only you.
Report abuse

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

Report abuse
eddmann/README.md

Hey there! I'm Edd 👋🏻

15+ years of building software, always exploring new tech, and sharing what I learn along the way. Currently interested in how LLMs and agents fit into development workflows.

LinkedIn Blog Podcast

Languages: TypeScript, PHP, Rust, Swift, Go, Python
Cloud: AWS (Lambda, CDK, Fargate, EventBridge), Terraform, Serverless Framework
Interests: Language design, LLM tooling, low-level emulation, distributed systems


Highlights

serverless-fargate · 11k+ weekly downloads
Maintain long-running Fargate ECS tasks within your Serverless project.

phpboy · Game Boy Color emulator in PHP 8.4
Full DMG backward compatibility, high accuracy (100% Blargg pass rate), and multiple frontends (CLI, WebAssembly, SDL2).

c3 · Chess engine in C++23
Educational chess engine with magic bitboards, iterative deepening, alpha-beta pruning, transposition tables, and UCI protocol.


santa-lang

A functional programming language built for Advent of Code. What started as a single interpreter grew into a complete language ecosystem spanning multiple implementations, compilers, and tooling.

Repository Description Language
santa-lang Language specification and documentation -
Comet Tree-walking interpreter with CLI, WASM, Lambda, PHP, and Jupyter runtimes Rust
Prancer Tree-walking interpreter with CLI, Web, and Lambda runtimes TypeScript
Blitzen Bytecode VM compiling to FrostByte for optimized puzzle solving Rust
Dasher LLVM-based AOT native compiler for optimized machine code Rust
Donner JVM bytecode compiler generating optimized bytecode via ASM Kotlin
Tinsel Opinionated code formatter with CLI and WebAssembly runtimes Zig
Workbench Desktop IDE with multi-reindeer execution, benchmarking, and AoC integration TypeScript

MCP Servers

Model Context Protocol servers that connect LLMs to real-world data:

Server Description
obsidian-mcp Access and manage notes in git-backed Obsidian vaults with automatic sync
garmin-connect-mcp Interact with Garmin Connect - activities, health metrics, sleep, and training
strava-mcp Interact with Strava - activities, segments, routes, and training analysis
whatsapp-mcp Interact with WhatsApp - messaging, full-text search, contacts, and media
intervals-icu-mcp Interact with Intervals.icu - training data, wellness metrics, and workout planning

CLI Tools

Tool Description
phpx Run PHP scripts with inline dependencies. Like npx/uvx for PHP
buns Run TypeScript scripts with inline npm dependencies - no package.json needed
garmin-connect-cli Garmin Connect from your terminal. Pipe it, script it, automate it
strava-cli Strava from your terminal. Pipe it, script it, automate it
whatsapp-cli WhatsApp from your terminal. Pipe it, script it, automate it
turbo-png Fast lossless PNG optimization and lossy compression with Zopfli and imagequant

macOS & iOS Apps

Native Swift/SwiftUI apps, available via Homebrew:

App Description
VoiceScribe Privacy-first transcription with global hotkey, on-device WhisperKit + MLX
ClaudeMeter Track Claude.ai plan usage in real-time with session limits and smart notifications
ClipVault Secure clipboard manager with AES-256 encryption, smart filtering, and rich text
CaffeineMate Keep your Mac awake with configurable timers, global shortcuts, and display control
Ovlo Guided breathing exercises, meditations, and ambient music for iPhone and Apple Watch

Products

Product Description
MyPodcast Turns saved articles and YouTube videos into a narrated podcast feed
Chessmate Multi-engine chess analysis PWA with online and local (WASM) engines
DailyThing Personalised, bite-sized content throughout the day
Name That Color Point your camera at anything to get its color name, HEX, and RGB
Secret Santa Organise draws with exclusions, gift ideas, and anonymous messaging

Writing & Podcasts


More Projects

Explorations

Project Description Tech
Rubik's Cube Solver Thistlethwaite's algorithm with 3D visualization Rust, React, Three.js
advent-of-code Solutions to the annual Advent calendar of programming puzzles Various
Our Wedding Website Because every RSVP website needs DDD, CQRS, Hexagonal Architecture, and Event Sourcing PHP, Terraform
Secret Santa Series Same draw, different platforms Arcade · Game Boy · Step Functions

Hardware

Project Description
pico-2fa-totp Raspberry Pi Pico/MicroPython 2FA TOTP generator
pico-secret-santa Raspberry Pi Pico/MicroPython/SIM800L Secret Santa allocator

Pinned Loading

  1. santa-lang-comet santa-lang-comet Public

    Comet - Rust tree-walking interpreter for santa-lang with CLI, WASM, Lambda, PHP, and Jupyter runtimes

    Rust 4 1

  2. rubik-cube-solver rubik-cube-solver Public

    3x3x3 Rubik's Cube Solver using Rust/WASM & React/Three.js

    Rust 7 2

  3. enigma-machine-clojurescript enigma-machine-clojurescript Public

    ClojureScript, Reagent, clojure.spec and GitHub Pages

    Clojure 2

  4. our-wedding-website our-wedding-website Public

    Because every Wedding RSVP website needs to follow DDD, CQRS, Hexagonal Architecture, Event Sourcing, and be deployed on Lambda.

    PHP 9 3

  5. advent-of-code advent-of-code Public

    Solutions to the annual Advent calendar of programming puzzles

    C 12

  6. serverless-fargate serverless-fargate Public

    Maintain long-running Fargate ECS tasks within your Serverless project

    JavaScript 56 23