My work connects engineering decisions to product outcomes.
From architecture to operations, I connect technical decisions to the experience they support.
How I work
I start with the product problem, not the technology. I understand the constraints, reduce complexity, and turn real needs into engineering decisions the team can execute and sustain.
I work alongside the team, from discussion through execution. I make trade-offs explicit, create the context for good decisions, and stay accountable for what reaches production.
At RWS Integration, an infrastructure platform for B2B integrations, I was responsible for modernizing the company’s legacy system.
Restructured the codebase as an Nx monorepo.
Worked on the evolution of services built with AWS Lambda.
Built isolated, egress-only OpenVPN connectivity from customer-provided profiles, allowing the platform to access overlapping private networks securely and transparently.
I joined to lead backend engineering and soon became the team’s primary technical reference, expanding my scope across engineering and product until taking on the CTO role.
Worked with the team to scale email infrastructure from zero to millions of messages per day using queues and AWS Lambda.
Contributed to a zero-downtime migration of the platform to Event Sourcing.
Modernized existing systems into an AWS Lambda-based microservices architecture.
Modernized infrastructure management with Terraform.
Pingback needed a workflow engine that could make its marketing platform more expressive and react to changes throughout each lead’s lifecycle.
Technical challenge
The platform needed to preserve a complete event history while evaluating graph-based workflows without coupling producers to automation logic. At scale, full replays and global searches against a single event stream also became operationally expensive.
Architecture / Approach
I designed an event-driven architecture in which domain changes were published through AWS SNS, buffered by AWS SQS, and processed with AWS Lambda. A dedicated consumer evaluated each event against the workflow graph, while every event was written to a global Event Store in PostgreSQL. As the stream grew, Apache Airflow materialized aggregate and projection tables in PostgreSQL for read use cases, avoiding global scans; the high-volume event history was later organized in Parquet for more scalable replay and analysis.
Result
The system sustained more than 50 million events per day and kept end-to-end delay around five seconds during peak load.
02
WYDBOT · Protocol research and sandboxed scripting
Independent technical project
Ghidra · Wireshark · Reverse engineering · Electron · Vite · QuickJS · Sandboxing · Network protocols
Problem
I used WYD as a constrained systems-research environment: reconstruct a proprietary protocol and explore an independent client that could be extended safely through user-written scripts.
Technical challenge
The project required reconstructing the network protocol without depending on the original client and executing third-party scripts without granting arbitrary access to the host machine.
Architecture / Approach
I reverse engineered the protocol with Ghidra and built a standalone game client with Electron and Vite. I also developed a Wireshark dissector that interpreted the already-decrypted traffic, exposing the protocol’s messages and fields for analysis and debugging. User scripts ran in an isolated QuickJS runtime that exposed only controlled APIs, reducing the attack surface of untrusted code.
Result
Six months of continuous execution validated the stability of the protocol implementation and script-isolation model, meeting the technical goals defined for the experiment.
RWS Integration needed secure, transparent access to customers’ private networks while supporting overlapping address ranges.
Technical challenge
The solution had to be delivered in days, under tight budget constraints, without a managed firewall appliance, while handling CIDR collisions and asymmetric routing in AWS.
Architecture / Approach
I built a containerized gateway that isolated each customer tunnel in a Linux network namespace. veth pairs, NAT with iptables, and policy routing through a secondary ENI connected each OpenVPN tunnel to the VPC without leaking routes between tenants. Client profiles were provisioned from Amazon S3 using SSE-KMS with a dedicated AWS KMS key per customer. Connectivity was egress-only by design: tunnels were initiated from RWS, and routing and security controls allowed only return traffic for sessions initiated by the platform, preventing customers from initiating access to the AWS network.
Result
A new customer connection could be provisioned from an encrypted profile and its route definitions, with isolated tunnels, health checks, and connection recovery. The gateway met the delivery window and remained stable in operation.
04 / Toolbox
Languages & runtime
TypeScript · JavaScript · Node.js · Deno — APIs, asynchronous services, and product systems
Interfaces & applications
React · Electron · Vite · QuickJS — web interfaces, desktop clients, and isolated scripting