Lead Engineer · open to remote roles

I build software that ships and keeps running.

I'm Anthony Firn, a software engineer working across full-stack products, cloud platforms, AI tooling and real-time graphics. Everything on this page is live, open source, and runs in your browser.

4D hypercube · 384 symmetries, computed by Symmetry Forge
4×

Live demos: an investing tool, two games and a math lab

2,000

Simulated 40-year markets behind every retirement strategy

2 CDNs

Serve this site, with automatic DNS failover between them

6 stacks

Python, TypeScript, Godot, React Native, Terraform, WebAssembly

Selected work

Proof, not promises.

Each project is a working system with its source on GitHub. Open any of them in a new tab and try it — no install, no account.

Decentralized social · Post-quantum cryptography

Fairground

A social network with no company in the middle. Creators are paid directly, an AI on your own device ranks your feed, and every deal is a signed public record. One codebase for the web, iPhone and Android.

  • Sponsorship contracts signed with Schnorr plus ML-DSA-65, paid wallet to wallet in USDC and checked on the chain.
  • Anonymous audience surveys with RSA blind signatures, and server-free sign-in from an Argon2id-encrypted vault.
  • TypeScript
  • React
  • Nostr
  • Capacitor
  • Transformers.js

15 strategies, one question: how much, how safely?

Hover or tab to a point. Up and to the left is better: more income, less risk.

Live chart from the project's published results — research, not financial advice.

Investing · Python · PyTorch

Retirement Research

How much can savings pay each month, and how often does a plan break? A simulation engine that answers in spendable dollars after tax, not just backtested returns.

  • GPU simulator of daily returns, taxes, rebalancing and withdrawal rules across reshuffled 1972–2026 markets.
  • Strategies re-validated on 2,000 fresh histories and seven stress cases, against 60/40 and all-stock baselines.
  • Reproducible: data pipeline, searches, failed ideas and a local planning app, all public.
  • Python
  • NumPy
  • PyTorch / CUDA
  • FastAPI
  • Capacitor

Captured from the web build with Godot's frame-exact movie writer.

Games · Godot 4 · Blender

Emberwake

A 3D action roguelike: an endless crypt of seeded rooms, guardians, blessings and shrines — compiled to WebAssembly so it plays in a browser tab.

  • Third-person chase camera with mouse look; rooms, lighting, particles and sound generated at runtime from a seed.
  • Characters animated in code from Blender-scripted models: walk cycles, sword slashes, claw lunges and slams.
  • An agent bridge lets an AI model play the game over TCP for automated testing.
  • GDScript
  • Godot 4
  • Blender Python
  • WebAssembly

Research tools · Python · Pyodide

Symmetry Forge

A toolkit for the symmetries of graphs and combinatorial designs. The lab runs the unmodified Python package in your browser through WebAssembly — no server involved.

  • Partition refinement and exhaustive search compute automorphism groups and canonical labels.
  • Python runs in a Web Worker with a time limit, so the page never freezes.
  • Correct on the classics: Petersen 120, cube 48, Heawood 336, tesseract 384.
  • Python
  • Pyodide
  • Web Workers
  • SVG

Mobile · Expo · React Native

Pulse Pop

A quick touch game from one codebase for iPhone, Android and the web. Tap shrinking pulses, chain combos, unlock skins.

  • Game rules isolated from rendering and covered by unit tests.
  • The same React Native code exports to a static web build for this site.
  • React Native
  • Expo
  • JavaScript
  • Node test runner

Platform engineering

This website is a small distributed system.

Two independent CDNs hold separate copies. A monitor probes both over real HTTPS every few minutes and moves DNS if the primary fails, then waits for ten healthy minutes before moving back.

Hosting architecture GitHub Actions deploys the same files to Netlify and to Bunny Storage. A scheduled monitor checks both and updates the Bunny DNS record that visitors resolve. A certificate job renews one Let's Encrypt certificate and installs it on both CDNs, keeping its state in private S3. GitHub Actionsdeploy · monitor · certs Netlifyprimary copy Bunny CDNindependent standby Bunny DNS60 s TTL failover You health probes
Deploys
Same files to both CDNs, verified by hash
Failover
Three failed checks switch DNS, if the standby is healthy
Recovery
Ten minutes of healthy probes before returning
Certificates
DNS-validated, renewed and installed on both

Right now you're being served by …

Experience

Shipping for real users.

I lead engineering for a podcast advertising company: customer-facing web apps, the data platform behind them, and the cloud infrastructure they run on.

  1. 2025 — PRESENT

    Lead Engineer · True Native Media

    • Lead development of AdVero, the web workspace podcast shows, advertisers and staff use to run campaigns, approve ad reads and report issues.
    • Built the campaign-planning data platform: Cloud Run jobs and services for inventory measurement, quotes and sync orchestration, with audits that record production data changes.
    • Designed serverless Airtable, Firestore and BigQuery sync pipelines with schema-drift detection, and manage the Google Cloud infrastructure as code with Terraform.
    • Stood up self-hosted tools on Google Cloud, including a support desk and per-user AI agent workspaces with approval controls, plus email automation with daily health reports.
  2. BEFORE 2025

    Systems Engineer · MedSpark

    Medical product development, San Luis Obispo, California.

    • Worked across the whole product system: hardware design, firmware, software and the servers behind them.
    • Ran precision manufacturing, including wire EDM machining, to turn designs into working parts.
  3. EDUCATION

    B.S. Computer Engineering · Cal Poly, San Luis Obispo

Toolbox

Comfortable across the stack.

Languages

  • Python
  • TypeScript
  • JavaScript
  • SQL
  • GDScript
  • Verilog
  • Bash

Web & mobile

  • React
  • Next.js
  • React Native / Expo
  • FastAPI
  • Apps Script
  • Capacitor

Cloud & platform

  • Google Cloud
  • Cloud Run
  • AWS
  • Terraform
  • GitHub Actions
  • Netlify
  • Bunny CDN

Data

  • BigQuery
  • Firestore
  • Airtable
  • Pub/Sub
  • NumPy

AI / ML

  • PyTorch / CUDA
  • vLLM
  • LLM agents
  • MCP
  • Open WebUI

Graphics & games

  • Godot 4
  • Blender
  • WebGL / Canvas
  • WebAssembly
  • Pyodide

Contact

Let's build something that lasts.

I'm open to full-time remote engineering roles. The fastest way to reach me is email.