Query optimization for stock screeners
Reworked slow stock-screener workloads so large result sets moved from 8-22 seconds to under 600ms, using read-model separation to keep transactional database paths isolated from analytical reads.
Backend / platform / reliable data systems
I build backend platforms, event-driven workers, query paths, and observability surfaces for systems where duplicate work, delayed jobs, data drift, and partial failure have to be handled correctly.
Engineering profile
My strongest work is in systems where the hard part is not drawing the interface, but keeping data correct while load, retries, schema changes, and partial failure are happening at the same time.
The systems I want to keep building are change data capture pipelines, event-driven workers, analytical query paths, database performance work, data reconciliation, precision-critical components, and observability surfaces that prove the system is healthy.
I design service boundaries around clear contracts, idempotent job processing, bounded queues, recovery paths, and database queries that match how the storage engine actually reads data.
Accomplishments
Reworked slow stock-screener workloads so large result sets moved from 8-22 seconds to under 600ms, using read-model separation to keep transactional database paths isolated from analytical reads.
Made notification workers safe under duplicate messages, retries, failed deliveries, graceful shutdowns, delayed processing, and replay from dead-letter queues.
Linked records across eight independent sources, produced stable canonical records, and preserved evidence scoring, conflict cleanup, field-level audit trails, resumable runs, and distributed traces.
Recovered deleted production rows from a point-in-time database branch, then added migration safety checks that block known destructive SQL patterns before deployment.
Project lanes
APIs, workers, auth, service boundaries, and production recovery.
Query optimization, read-model separation, audit trails, and query routing.
Event-driven workers, idempotent processing, bounded queues, replay, ordering, and lag visibility.
Precision-critical components, protocol-adjacent tooling, and latency-sensitive code.