I started creating software in 2010 as a naive sophomore in high school, full of hope for the possibilities technology offered for the future. Armed with a shitty laptop and a cursory knowledge of C++, I began my tour of duty in the deepest trenches of despair: Windows Forms applications 🤡
A decade and a half later, I have learned better. My interests revolve around agentic and generative AI applications, devops tooling, automation/orchestration, scientific computing, and embedded systems programming - particularly in the context of IoT and home automation. I also like to solder and cannibalize circuits and every now and then.
Below are some personal projects I think are pretty cool; let me know if you find them useful.
These are template codebases that are ready to be copied for your next project. Begin your new web application with a preconfigured local setup that bootstraps in as little two clicks with Dev Containers!
Repository | Description |
---|---|
django-app-template | Django applications, complete with a container-native development setup. |
go-app-template | Go applications or libraries, complete with a container-native development setup. |
rails-app-template | Rails applications, complete with a container-native development setup. |
Repository | Description |
---|---|
genesis | An efficient, parallelizable, Docker-based CI/CD pipeline runner. Create and run both simple and complex workflows with a directed acyclic graph configuration using containers, commands, and mounted volumes. This tooling implements another public library of mine, gograph, to power an elegant lifecycle loop. |
SujuNN | A convolutional neural network that can identify the number of sides in a polygon. |
mailbucket | An email server that uploads incoming emails to an S3 bucket. Useful for email data processing. |
tugboat | A microservice provisioning automation tool. Automates the creation and configuration of service dependencies for new microservices. |
Repository | Language | Description |
---|---|---|
conduit | Go | A minimal, concurrent, asynchronous file processing ETL library for AWS S3 |
gograph | Go | A library providing graph theory primitives and operations |
If you're looking to create and maintain a proper engineering-org scale AWS infrastructure with Terraform, these modules will get you pretty far. These modules follow a DNS zone strategy as devised here, and implement ingress domains with a maintainable, extensible, and practical strategy for service-based application architectures. Essentially, an organization is tied to a domain name, and there's a heirarchy of subdomains thereafter.
If you're also interested in microservices (for which these modules are indeed compatible!), be sure to check out the k8s tugboat project.
Repository | Description |
---|---|
terraform-aws-organizations | Deploy infrastructure for an organization with a domain name |
terraform-aws-operations | Deploy infrastructure for an operation within an organization (e.g. stage, prod) |
terraform-aws-applications | Deploy infrastructure for an application within an operation |
Below are technologies I've implemented and maintained in a professional capacity; feel free to reach out if you need a hand with something!