Work.
Engineering projects with real architecture, real lessons, and real code. Not demos โ things I built and ran.
Oracle to AWS Migration Lab
Zero-downtime Oracle migration using DMS and GoldenGate
Move a production Oracle RAC database to AWS with under 30 seconds of data loss and no weekend maintenance window.
Sequences do not migrate with DMS โ you need to script and offset them manually. Archive log retention must outlast your full load phase or CDC silently falls behind.
- 01Enable supplemental logging on source Oracle and configure DMS replication instance via Terraform
- 02Run full load + CDC with DMS, monitor lag with CloudWatch until steady state under 5 seconds
- 03Freeze application writes, verify lag = 0, promote target, update Route 53 โ total cutover under 12 minutes
AWS Database DR Lab
Cross-region Oracle failover with RTO under 15 minutes
Build and test a real DR setup for Oracle on AWS โ primary in Sydney, standby in Singapore โ with automated failover triggered by CloudWatch alarm.
Promoting an RDS replica is fast (~5 min) but Route 53 TTL is the hidden delay. Set TTL to 60 seconds well before you need it โ not during the incident.
- 01RDS Oracle primary in ap-southeast-2 with cross-region read replica in ap-southeast-1
- 02CloudWatch alarm triggers Lambda on primary failure โ Lambda promotes replica and updates Route 53
- 03Measured RTO: 8 minutes automated. RPO: under 30 seconds with GoldenGate replication running
GoldenGate Replication Lab
Oracle to Oracle and Oracle to PostgreSQL real-time replication
Demonstrate GoldenGate CDC pipeline end-to-end โ including the rarer heterogeneous Oracle-to-PostgreSQL path that most DBAs have never configured.
Long-running transactions on the source hold EXTRACT back โ the oldest active transaction determines how far you can advance. The heartbeat table is the only reliable way to measure actual end-to-end lag.
- 01Configure EXTRACT on Oracle source with supplemental logging, write local trail files
- 02PUMP sends trail files over network to remote server โ separates capture from transfer
- 03Two REPLICATs in parallel: one to RDS Oracle, one to RDS PostgreSQL with type mapping
Jarvis โ RAG AI Assistant
AI chatbot grounded in real content using vector search
Build an AI assistant that answers questions about my work accurately โ not from hallucinated training data, but from my actual resume, blog posts, and project docs.
Context stuffing (pasting the whole resume into the system prompt) works but does not scale past ~10 documents. Vector retrieval finds the right 500 tokens out of 50,000 โ that is the difference.
- 01Every blog post and resume section is chunked and embedded into pgvector using text-embedding-3-small
- 02User question is embedded at query time, compared against stored vectors using cosine similarity
- 03Top 5 most relevant chunks passed as context to Claude โ answer is grounded in real content with citations
Kubernetes YAML Reviewer
AI audit for Kubernetes manifests
The same mistakes appear in production Kubernetes clusters repeatedly โ missing resource limits, no liveness probes, latest image tags. Automate catching them before they reach production.
The prompt engineering matters as much as the model. Structured output (JSON with severity, field, fix) is far more useful than a paragraph of advice. The first version returned prose โ nobody read it.
- 01User pastes any Kubernetes manifest โ Deployment, Service, StatefulSet, CronJob
- 02Claude audits against a structured checklist: security context, resource limits, probes, image tags, RBAC
- 03Returns severity-ranked findings with the exact YAML fix for each issue
Infrastructure from Intent
Natural language to production-ready Terraform
Writing Terraform from scratch takes time and the boilerplate is always the same. Describe what you need in plain English and get HCL with variables, outputs, and inline comments.
Adding "explain every non-obvious decision as an inline comment" to the prompt produced dramatically more useful output โ it teaches Terraform while generating it.
- 01Describe infrastructure in plain English: "RDS PostgreSQL in private subnet with read replica"
- 02Claude generates complete Terraform with provider config, variables.tf, outputs.tf, and commented decisions
- 03Output is validated against common mistakes โ hardcoded passwords, public subnets for databases, missing encryption