Skills
AWS
Built/managed infrastructure across ECS, EC2, RDS, S3, SQS, SNS, CloudMap, IAM, ASGs, CloudFormation and CloudWatch. Handled networking with VPCs and security groups. Used AWS Transcribe for subtitles at Coursera and SQS/SNS for event-driven APIs at Pontica.
NodeJS
My primary backend platform for building GraphQL/Prisma APIs and background job systems. Experienced with Node performance debugging - profiling event loop blocks in resolvers and jobs, reducing heap usage, improving startup time by untangling import graphs and instrumenting services with Sentry and Datadog.
Databases
Daily work with PostgreSQL (Prisma) at Loancrate - schema design, migrations, seed infrastructure, query optimization and multi-tenant data management. Used Redis for caching and job queues (BullMQ). At Synthesis, consolidated separate per-user-type tables into a single table with a discriminator column and JSON profile field, eliminating expensive multi-table joins and significantly speeding up search queries across a read-heavy app. At Coursera, designed PostgreSQL schemas for indexing S3-hosted videos and subtitle translations.
Terraform/IaC
Authored custom Terraform modules to manage Buildkite CI infrastructure on top of the AWS Elastic Stack - clusters, pipelines, S3 buckets for logs/cache/artifacts, secrets management, CI feature flags and a release freeze implementation.
Docker/CI
Used multi-stage Docker builds for shipping Node apps. Have done a ton of image size optimizations, security maintainance, health checks for ECS services and Docker Compose for local dev and testing. Authored 50+ production shell scripts for ECS deployment orchestration, Terraform automation, Docker image builds, test sharding and Lambda deployments. Built a custom Buildkite plugin for S3-based git repo caching with file locking for concurrent agents.
Algorithms
Applied often in production work - BFS/DFS for CI job dependency skipping, topological sorting for multi-table database syncing with foreign key dependencies, bin-packing for test splitting with historical timing data, task queues for parallel workloads. Rendering ASTs of business rules to human-readable sentences, serializing ASTs for similarity comparisons. Using longest common subsequence on token representations to detect similar config record names for quality control.
Typescript
My primary language for the last 10 years across frontend, backend, infrastructure tooling and CI pipelines. Experienced with scaling TypeScript builds in large monorepos - simplifying complex types to reduce tsc overhead, tuning module structure and heap size to cut build times. Fluent in advanced type-level features regularly - branded types, conditional types, template literals, mapped types. Author of a TypeScript compiler plugin (tsx-ctrl-statements) with 4K weekly npm downloads.
React
10 years of experience building production UIs with React across five companies. Often implemented performance improvements such as virtualization for large interactive tables/lists, code splitting with dynamic imports, bundle analysis and profiling re-renders with React DevTools and CPU/network with browser DevTools. Use Apollo GraphQL hooks at Loancrate and React Query at Synthesis, including optimistic updates with both. Testing with Chromatic visual snapshots and Playwright e2e. At Coursera I worked on an in-browser VM environment with audio/video calls.