Work

Platform engineeringProduction2017 - 2022

Cloud-native microservices for mortgage loan automation

Designed and built many of the platform's scalable microservices on AWS, owning each from design and Terraform to code and deployment.

  1. Edge

    • CloudFront

      Entry for the application

  2. Services

    • Spring Boot microservices

      Docker on ECS and EC2

  3. Events

    • Kafka and Kinesis

      Loan workflow events

    • Lambda

      Event handlers

  4. Data

    • DynamoDB and RDS PostgreSQL

      Operational data

    • S3

      Documents and files

How the loan platform services fit together.

Context

From 2017 to 2022 I was a senior engineer on the platform engineering team behind a mortgage loan automation application. Loan workflows touch many systems, carry regulated data, and have to keep moving reliably at every step.

The problem

The application needed independent, scalable services that could react to loan events, store and serve data safely, and be rebuilt and redeployed repeatably, rather than one large system that every change had to wait on.

My role

Senior software engineer on the platform team. Designed and built many of the platform microservices and managed them end to end: design, infrastructure as code, implementation, and deployment.

Approach

  • Built services with Spring Boot 2 and Java 8, packaged with Docker and run on Amazon ECS and EC2.
  • Connected services through events with Apache Kafka and Amazon Kinesis, with AWS Lambda for lightweight event handlers.
  • Stored data in Amazon DynamoDB, Amazon RDS for PostgreSQL, and Amazon S3, chosen per access pattern.
  • Defined infrastructure in Terraform and AWS CloudFormation, served through Amazon CloudFront, and monitored with Amazon CloudWatch.

Outcome

  • Services owned end to end by the engineers who built them, from design through infrastructure, code, and deployment.
  • Infrastructure defined as code, so environments could be recreated and reviewed like any other change.
  • The platform experience that now shapes how I design production AI systems.
Next storykvfleet: cache-aware routing for LLM fleets