Selected projects from banking, payments, and healthcare: the problem, what I did, and what changed. Client names are withheld to respect confidentiality.
Selected work
US banking platform
Built a retail bank client-onboarding platform end to end
Problem
A retail bank needed a responsive client-onboarding flow and staff back office that could support multiple client paths while meeting KYC and regulatory requirements.
Approach
Owned the system from requirements gathering and architecture through release. Built Java and React features, integrated identity-verification, document-management, and Google Maps APIs, automated SFTP and email workflows, and added Cypress suites for every onboarding scenario.
Outcome
Replaced a manual intake process, automated recurring back-office work, and de-risked releases during a major platform overhaul.
Java
Spring Boot
React
Material UI
Cypress
REST APIs
Global payments platform
Moved critical payment flows from a monolith to services
Problem
A global payments product needed to evolve beyond a monolithic PHP application without disrupting payment operations across multiple regions.
Approach
Built React, Node.js, and Spring Boot services while maintaining the legacy PHP and Java systems in parallel. Helped teams find common ground during the migration, created internal libraries to speed up delivery, and added load balancing, health checks, and custom tracing across multi-application workflows.
Outcome
Helped move critical flows onto the new architecture while keeping the existing platform stable, making releases easier to verify, and improving visibility across distributed services.
Java
Spring Boot
Node.js
React
PHP
Sass
Healthcare communications platform
Strengthened reliability across critical clinical workflows
Problem
A doctor-patient messaging platform depended on reliable integrations and well-tested workflows while support issues created daily operational overhead.
Approach
Shipped backend features, integrated Twilio and DrChrono, maintained more than 800 unit and integration tests, and improved resilience with redundancy and circuit-breaker patterns.
Outcome
Improved platform reliability, enabled core clinical functionality, and automated reporting and support workflows that previously consumed staff time.
Java
Spring
Node.js
PostgreSQL
Kubernetes
Twilio
Experience
Mar 2023—NowSenior Full Stack EngineerRetail Bank
Jul 2022—Mar 2023Backend EngineerTrueNorth
Jul 2021—Jul 2022Backend EngineerMedici
Jun 2020—Apr 2021Software ConsultantIndependent Freelancer
Mar 2020—Feb 2021Full Stack EngineerdLocal
Jan 2018—Feb 2020Full Stack EngineerBlue Trail Software
May 2016—Jan 2018Full Stack EngineerNetLabs
Aug 2014—May 2016Java Software EngineerGEOCOM
Core stack
Backend systems
Java
Spring Boot
Spring Data
Hibernate
Node.js
Go
Architecture and integration
Microservices
Third-party integrations
Payment integrations
Banking integrations
Healthcare integrations
Data and delivery
PostgreSQL
MySQL
Oracle
Kubernetes
CI/CD
Product interfaces
React
TypeScript
Angular
Working together
The best first message tells me what is broken, what you have already tried, and roughly when you need it fixed. I’ll tell you honestly whether I’m the right person — and if I’m not, I’ll usually know who is.