Staff AWS Engineer building scalable cloud platforms. Terraform, AWS cost optimization, search systems, pragmatic data engineering. Open source and SaaS
packer_ansible_inspec_terraform_aws. A demo application using Packer, Ansible, InSpec and Terraform on AWS
119apache_flink_and_docker_compose. A complete real-time Change Data Capture (CDC) pipeline using Apache Flink, MariaDB, and Docker Compose. This project demonstrates how to build a modern streaming analytics system that processes database changes in real-time.
37apache_flink_and_iceberg. A complete data engineering project demonstrating modern data stack practices with Apache Flink, Iceberg, Trino and Superset
26Codeigniter-URL-Shortener. A URL Shortening application built using Codeigniter
24warpstream_debezium. Using Debezium with WarpStream as a Kafka alternative for CDC
22cloudfloe. The Switzerland of Iceberg queries: neutral, easy entry across S3, R2, MinIO
22php-compare-databases. A script to determine if 2 mySQL Databases have the same tables and table structures
19mandrill-with-mailchimp-templates. This is a basic working example of how to send an email using Mandrill using a Template created in MailChimp.
16apache_fluss_flink_and_paimon. This project integrates Apache Fluss (stream-batch unified storage) with Apache Paimon (data lake storage) using Apache Flink
13android-auto-photo-capture. A simple android app to take a photo every few seconds
12apache_flink_and_paimon. A complete Docker-based setup demonstrating how to use Apache Flink to write data to MinIO (S3-compatible storage) using Apache Paimon as a lakehouse storage format.
10python_url_shortener. A basic URL shortening service built using Python/Flask
9terraform_aws_rds_secrets_manager. Create an AWS RDS instance, generate and store its admin password in AWS Secrets manager
8codeigniter-linkedin-library. Sign in with Linkedin and post a status update on Linkedin with Codeigniter
8ecs_cluster_using_aws_cli. A couple of scripts to create an AWS ECS cluster using the AWS CLI
7metabare.com. A minimal image search engine showcasing Firn over Lance on AWS S3. Upload an image, CLIP turns it into a 512-dim vector, Lance stores it on S3, and Firn serves nearest-neighbour queries through a tiered RAM + NVMe cache.
7codeigniter-list-unused-functions. A codeigniter controller to list all functions and show unused ones
6gittwork. A small collection of methods to enhance Teamwork Projects
6apache_flink_paimon_and_seatunnel. Local Docker demo for Apache Flink, Paimon, SeaTunnel, and Iceberg: ingest products from MariaDB with Flink CDC, store them in Paimon on S3-compatible storage, then use SeaTunnel to transform and move the data into Iceberg
6terraform_rds_debezium_msk_kafka. Creates an entire environment within its own VPC on AWS to stream data from a MariaDB RDS instance to Kafka using Debezium with Avro serialization. Apicurio provides a schema registry for the data.
4terraform_aws_rds_proxysql. A Terraform + Ansible sandbox for trying out ProxySQL in front of AWS RDS MariaDB - primary and read replica, with Adminer on a webserver.
4ansible_1password_role. Create a Vault on 1password and add a secure note, shared with a user using Ansible
4terraform_salt_digitalocean. Use Terraform to create a small Salt cluster on DigitalOcean
4apache_flink_and_hudi. Change Data Capture (CDC) pipeline that streams data from MariaDB to S3-compatible object storage using Apache Flink and Apache Hudi.
4terraform_aws_atlantis. A Terraform module to create an EC2 instance with Atlantis and Infracost
3alert_blacknight_errors. Check for Errors on a Blacknight FTP account and then make a phone call using Twilio to report the number of errors
3fastapi-temporal-logic-of-actions. A small introduction to verification using TLA+ through a file upload idempotency problem
3terraform_aws_apache_drill_zookeeper. An Apache Drill cluster with Zookeeper on AWS using Terraform
3singlelog. The last logging solution you'll ever need - ship logs with Vector to Tigris object storage (free egress) and search them fast with ClickHouse.
3dam-pipeline-fastapi-clip. A decoupled, async processing pipeline for digital asset management using FastAPI, RabbitMQ, Cloudflare R2, and PyTorch models for image analysis.
2terraform_aws_api_gateway_proxy. An AWS API gateway to receive data via POST and store the data in to an s3 bucket. An Ansible playbook is included to test that the API endpoint is working and saving data to s3
2flycost. flycost analyzes your `fly.toml` configuration files and estimates monthly costs for compute, storage, bandwidth, and IP addresses. Similar to Infracost but specifically for Fly.io.
2codeigniter-plivo-library. A CodeIgniter library to interact with Plivo
2warpstream_tableflow. End-to-end guide for streaming IMDB data through WarpStream Kafka to Iceberg tables using TableFlow.
2bullethq. A PHP wrapper for BulletHQ's API
2terraform_aws_eks. A Kubernetes cluster created on AWS EKS using Terraform
2warpstream_fluent_bit. A quick example of using Fluent Bit to send nginx access logs to WarpStream
1workstation-elementaryos.sh. The perfect ElementaryOS installation
1ansible_webserver_aws. Use Ansible to create and configure a simple webserver on AWS
1bitbucket_activity. A small collection of methods to report on Bitbucket developer/project activity
1clean-import-headings. A class to help clean headings on an imported CSV file to make them more understandable to an automated process
1php_post_to_linkedin. A very small PHP application to automatically post content to Linkedin, including titles, descriptions, hash tags and images.
1mandrill-receive-email. Some sample Codeigniter code to receive and process emails sent to it from Mandrill
1apache_flink_using_checkpoints. I tried out Checkpointing in some Flink Jobs to see if it would help with Job restarts
1terraform_consul_digitalocean. Using Packer & Terraform to create a small Consul droplet on Digital Ocean
1apache_flink_catalog_misuse. (Mis)using Catalogs in Apache Flink for identifying Jobs
1match-import-headings. A class to match cleaned column headings on an imported CSV to known column headings
1review-toolbar. A toolbar to help clients to review development work
1kashflow-export. A simple application to view, export and delete your data from Kashflow
1terraform_packer_puppet. Using Packer and Terraform to make a small Puppet cluster
1ansible_using_SSM. An example of using Ansible to install a package on an EC2 instance using SSM
1opensearch_proxy. A proxy to sit between an application an AWS Opensearch domain to log queries submitted to OpenSearch for debugging
1terraform_aws_deepseek. A terraform project to create an EC2 instance running Deepseek R1
1fastapi-lance-local-storage. A minimal FastAPI API that accepts an image via POST, stores it locally with a SHA256 filename, vectorizes it using OpenAI's CLIP model, and appends the vector to a local Lance dataset. Designed as a small MVP for local or Fly.io deployment.
1