Skip to content
View joshuaisaact's full-sized avatar

Highlights

  • Pro

Block or report joshuaisaact

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
joshuaisaact/README.md

Hi, I'm Josh 👋

I build software with TypeScript, Zig, Go, and Python, everything from AI-powered yoga instructors to hackathon-winning platforms.

I'm a Full Stack Engineer at Let's Do This, where I build event discovery and booking platforms. We handle some of the biggest events in the world, including the London Marathon ballot system. I work with TypeScript, Node.js and Next.js, and on systems that process hundreds of thousands of registrations.

Right now I'm exploring everything from AI agents to low-level systems work - basically whatever seems interesting. I write about the problems I run into on my blog.

Before this, I spent a decade selling enterprise software. Turns out understanding what people need is most of the battle.

Projects

PetriFlow - A Petri net-based safety layer for AI agents. A declarative .rules DSL compiles each rule into a verified Petri net, enforcing tool access control, sequencing, rate limits, and human approval gates before an agent runs. Includes a Vercel AI SDK adapter, interactive visualiser, and four example agents. Published on npm. I wrote about it here.

Elastic Hash - Zig implementation of elastic hashing from an academic paper. 4-8x faster inserts than std.HashMap at 99% load factor. A deep dive into hash table internals and SIMD optimization. I wrote about it here.

FizzBuzz Enterprise Edition - Satirical "enterprise-grade" FizzBuzz with event-driven architecture, AI-powered divisibility detection via LLM fallback chains, and comprehensive observability. Because sometimes you need to over-engineer the classics.

Music Round - Real-time multiplayer song guessing game. Players identify songs from Spotify previews, with daily challenges and battle royale mode. Built with React 19, TanStack Start, and Convex for real-time sync.

FlowAI - An agentic AI yoga instructor that generates personalized sessions. I wrote about the creativity vs. efficiency paradox here.

AIgument - Pit different AI models against each other in debates. You can assign personalities, control how spicy the arguments get, and save the good ones. Handles multiple LLM APIs with real-time streaming.

JoshDesk - A Slack app for hybrid work coordination. Teams across multiple companies use it to sync their office presence, check weather, and get smart reminders. Built with Bun and TypeScript, open source and self-hostable.

Foundations - 🏆 Won "Best in Category" at JumpStart Hackathon. A platform for job seekers to check companies' diversity stats and employee feedback. Went from idea to working product in 24 hours.

Tools & Templates

petri-ts - A TypeScript Petri net engine on npm. Define places and transitions, fire them, analyse reachable/terminal states, check invariants, and export Graphviz DOT. Includes a load/fire/save dispatcher for persisting net instances in production (bring your own DB transaction).

Petri Net - A Petri net engine and three worked examples that teach concurrency concepts: from basic vocabulary (coffee brewing) to parallel approval (contracts) to resource contention (checkout). Includes a reachability analyser that proves invariants like "can't oversell inventory". I wrote about it here.

Go AI Agent Foundation - Starting point for building AI agents in Go, includes file operations and search tools

Bun Server Starter - Production-ready Bun HTTP server template because I got tired of setting up the same logging and error handling


Find me: LinkedInBlueskyEmail

Pinned Loading

  1. music-round music-round Public

    Music-guessing game built as part of the Tanstack Start and Convex online hackathon

    TypeScript 1 1

  2. AIgument AIgument Public

    Pit different AI models against each other in debates. You can assign personalities, control how spicy the arguments get, and save the good ones. Handles multiple LLM APIs with real-time streaming.

    TypeScript 1

  3. Wooster Wooster Public

    Leverage AI-generated trip recommendations, explore the world with an interactive 3D globe, and build detailed, personalized itineraries.

    TypeScript 4

  4. Go-AI-Agent Go-AI-Agent Public

    This project provides a basic foundation for building AI agents in Go that can interact with users and utilize tools. It uses the Anthropic API (Claude) by default.

    Go 1

  5. tfl-pulse tfl-pulse Public

    Live TfL data

    Go

  6. Goss Goss Public

    Goss is a social media platform where users share voice notes instead of written posts. Think of it as Twitter, but for audio content! Users can record, post, listen to, and interact with voice not…

    TypeScript