I am passionate about building tools and systems that help developers be more productive and successful. Here is a collection of open-source projects I have created or contributed to over the years, organized by focus area.
AI
As AI transforms the technology landscape, I have been building tools to help developers leverage these powerful capabilities:
- AI Chat Accelerator - A production-ready reference implementation for building RAG-based AI chat applications on AWS.
- Bedrock Tools - A streamlined Python library for working with Amazon Bedrock’s Conversation API.
- AWS News Agent - An AI-powered assistant that helps you stay current with AWS news and announcements.
- Page Insights - Leverage AI to generate intelligent summaries of web pages.
AWS Containers Expertise
I was an early adopter and advocate for AWS Fargate, creating several widely adopted tools that improved the developer experience:
Fargate Tooling
- Fargate Create CLI - A pioneering CLI tool for scaffolding AWS ECS Fargate applications, featuring an opinionated multi-environment setup and an extensive template library.
- Fargate CLI - Simplifies image deployments with support for docker-compose.yml files.
- Fargate CLI Build - Build environment for the Fargate CLI.
- Terraform Fargate - Simplified, less opinionated version of fargate-create for Fargate deployments.
- Fargate SAM - Template for deploying public ALB + ECS Fargate services using CloudFormation and SAM CLI.
- Fargate SQS Worker - Boilerplate for Fargate containers processing SQS queues.
Fargate Infrastructure Templates
A collection of production-grade Terraform templates for AWS container deployments (compatible with the Fargate Create CLI tool):
- ALB Template - The gold standard for deploying web applications on Fargate, including logging, observability, and auto-scaling.
- Specialized Templates:
Other AWS Container Tools
- Ephemeral Preview Environments - An innovative solution for container-based preview environments using Lambda.
- App Runner Multi-region - Reference architecture for highly resilient, multi-region applications.
- App Runner Demo - Containerized application deployment on App Runner.
- Amazon App Runner Deploy - GitHub integration for AWS App Runner deployments.
- Compose to Batch - Transform docker-compose.yml into AWS Batch job definitions.
- EC2 Metadata in Docker - EC2 instance metadata mocking service.
Developer Productivity Tools
Go Tools & Libraries
I have created numerous tools in Go to solve common development challenges:
- Go HTMX Tailwind Example - Example CRUD app showcasing Go + HTMX + Tailwind CSS.
- Gotoolbox - A collection of useful Go tools that use only the standard library, with no external dependencies.
- S3lib - Simplified Go library for S3 operations.
- Scaffolder - Go library for tools that generate files and directory structures.
- SecretsManager Sidecar - An elegant solution for managing AWS Secrets in containerized environments.
- Default Backend - Simple HTTP server for health checks and default responses.
- KPL Server - Multi-language support for the Amazon Kinesis Producer Library, which is written in Java.
- KPL Client Go - Go client library for KPL Server.
- Protonizer - CLI tool for AWS Proton Infrastructure as Code.
Project Templates
Battle-tested starter templates that accelerate development:
- Cookiecutter Python - Modern Python project scaffolding.
- Python Template - Quick-start Python project structure.
- Go Template - Quick-start Go project structure.
- Terraform Starter - Production-ready Terraform project foundation.
- Lambda Python Template - Streamlined AWS Lambda development in Python.
AWS Cloud Architecture
Solutions and reference implementations for various cloud architecture patterns:
- PDF/Video Extraction Pipeline - An automated content extraction system using AWS services.
- Doppler - A high-scale registration service showcasing AWS scalability.
- Lambda FURL TF - A simple Lambda URL implementation using Terraform.
- Proton CodeBuild Examples - Sample templates for AWS Proton with CodeBuild.
- Rekognize - CLI wrapper for the AWS Rekognition API.
- SAML Keygen - An authentication tool for AWS using the ADFS SAML provider.
Container Orchestration
Tools for container management and deployment:
- Harbor - An abstraction layer for container orchestration systems.
- Harbor Compose - A Docker Compose-like tool for Harbor deployments (written in Go).
- Harbor Terraform Provider - Use Terraform to manage Harbor applications (written in Go).
🔧 My Development Environment: Check out my dotfiles to see how I set up my development environment.