< Get back home
With over 15 years of experience as a software engineer, I have:
. Played a key role in a startup from inception to 150,000 users
. Successfully sold startup equity shares to a financial institution
. Contributed to a project with 1 milllion active users
. Designed backends that enhanced the experience for users and developers alike
. Launched full-stack products within 1 month of conceptualization
. Worked with a variety of technologies, never limiting myself to what I know
Programming is my hobby.
Established engineering standards, coding guidelines, and architectural practices for a multi-application environment. Grew and mentored the team to ensure high-quality delivery across both greenfield and legacy projects.
Designed and implemented a modular backend with Node.js, MongoDB, and Docker, structured around domain-driven principles. Integrated Clerk for authentication and Stripe for payments. Built CI/CD pipelines to automate testing, building, and deployment, ensuring fast and reliable releases.
Architectured and contributed to a React + TypeScript frontend with Tailwind, creating a design system for consistent UX and enabling rapid prototyping. Delivered features with a balance of velocity and maintainability.
Took ownership of an existing Shopify-based application, improving code quality and introducing maintainability practices. Implemented incremental refactors to stabilize the system while aligning it with business needs.
Containerized services with Docker to unify development and production workflows. Implemented CI/CD pipelines for both the new platform and the Shopify legacy system, reducing manual interventions and minimizing deployment risks.
Enabled Blym to operate with confidence across a dual-application setup, balancing innovation with sustainable evolution of the legacy Shopify system. Ensured technical decisions supported long-term scalability and product growth.
Worked on improving and evolving the backend using Go, and PostgreSQL towards a stable product.
Implemented a hybrid frontend approach using SvelteKit that later on evolved to HTMX, and Templ for better performance and developer experience.
Worked closely with product managers and designers to align technical work with business goals. Proposed architectural improvements that reduced complexity while enabling new feature development.
Architectured the frontend using Ionic and Angular as the framework. Documented it so that other developers could easily follow the same paradigm. Fully typed with TypeScript.
Started with MongoDB and later on moved to PostgreSQL. Designed the architecture of the old MongoDB and the new PostgreSQL database and created scripts to ensure the data is converted and reliable. These scripts have been running without the users feeling any kind of downtime.
Created several UI components with Ionic / Angular to fulfill the vision of the design. Focused mostly on the feed, notification and chat systems.
Architectured and developed the whole backend with Koa / Express as the http library, TypeScript as the main programming language and a modified Domain-Driven Design pattern to be used as structure. This change provided the developers a better quality of code and the performance speed has improved in some instances 300%. Now in the process of converting to Go following the same structure and pattern.
Created a SDK library to be used internally to connect to the API. A simple way for the frontend developers to communicate to the backend and have the code fully typed with TypeScript. This library provided as well the interaction to the WebSocket used on the chat and notification systems.
Developed the deployment process used on the backend system. Unit tests run, the project is created under a Docker container, uploaded to S3 and then sent out to the Elastic Beanstalk to be deployed. The whole process doesn’t need any human interaction besides managing through PRs what goes into the staging and production branches that will automatically deploy to the respective environment.
Created tests for every section of the backend. Development was done under TDD and as such, the code coverage is over 75%. The project isn’t able to deploy without passing all the tests and ESlint rules.