With over 20 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.
Work history
-
Integral part of a fast paced team of developers assigned to the main
project of a fintech company with a 8 million dollar fund series A.
-
Conceptualized and launched the project's MVP within a month, leveraging
Go and Supabase for backend development and employing server-side
rendering with HTMX, Templ and Tailwind for the frontend. Streamlined
deployment through a CI/CD pipeline with GitHub Actions, achieving
efficient and automated project delivery.
-
Conceptualize
Worked on the idea conceptualization, management and project
organization. Made sure the MVP idea was coherent to the idea and
was able to launch the project within the initial timeframe of 1
month.
-
Backend development
Designed and developed the backend using Go and Supabase
(PostgreSQL). The structure follows a modified Domain-Driven
pattern. Implemented different API services interconnections
(Slack, Telegram, Sendgrid, Discord, ...) and a metric system so
that users are able to understand their processes.
-
Frontend development
A server-side render approach was taken using HTMX, Templ and
Tailwind. This made the process of building the project easier,
smoother and as such, faster. Interactions like charts or modals
were created using vanilla javascript. The static files (CSS,
JavaScript) are built using ESBuild so that the code is performant
and minified.
-
Deployment process
Project passes through CI/CD (Github actions) to test, build and
deploy. Under the build task, the project is containerized and
sent to a custom private docker registry. As the last task, a
trigger is sent to the server to reconstruct the docker container
and deploy the new code. This process is straightforward, fully
automated and in the end a budget solution for a MVP of this
nature.
-
Architectured the backend that serves the 150k users with Koa/Express,
TypeScript and MongoDB, boosting performance by up to 300% in comparison
with the first version. Initiated the shift to Go for further
improvement. Transitioned the database architecture from MongoDB to
PostgreSQL with zero downtime, ensuring data integrity through custom
migration scripts. Automated the deployment process for seamless,
human-independent updates, supported by extensive unit testing ensuring
over 75% code coverage.
-
Frontend app structure
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.
-
Database architecture
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.
-
Web / Mobile app UI components
Created several UI components with Ionic / Angular to fulfill the
vision of the design. Focused mostly on the feed, notification and
chat systems.
-
Backend development
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.
-
SDK library
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.
-
Deployment process
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.
-
Unit tests on the backend
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.
-
Integrated various technologies like WebSockets for chat and streaming
for a whiteboard. Refactored the backend using Node, GraphQL and
PostgreSQL and decreased the requests time by 50-70%.
- Used React as the main framework for the frontend
-
Integrated various technologies like WebSockets for chat and
streaming for a whiteboard
-
Refactored the backend using Node, GraphQL and PostgreSQL and
decreased the requests time by 50-70%
-
API sdk to use with the Elasticsearch of the backend. Frontend
integration of the Elasticsearch filters. Visualization of data coming
from backend.
- API sdk to use with the Elasticsearch of the backend
- Frontend integration of the Elasticsearch filters
- Visualization of data coming from backend
-
Developed and architectured the backend that integrated various external
APIs like Google API, Dropbox API, Office API and aggregated them into a
single API to be used by the main project.
-
Developed and architectured the backend for the aggregator API
-
Integrated various external APIs like Google API, Dropbox API,
Office API and aggregated them into a single API to be used by the
main project
-
Developed institutional websites, games and applications for variety of
clients.
Developed institutional websites, games and applications for variety of
clients
-
Implemented standards for the company 30 developers to follow and
consequently attain a better code quality. Developed institutional
websites and applications for various clients like for example Leviton.
-
Implemented standards for the developers to follow and consequently
attain a better code quality
-
Developed institutional websites and applications for various
clients like for example Leviton
-
Worked in the backend and frontend of the notification, events and
playlist sections that served the 1 million registered users. Developed
the translation manager that was being used by the translators to handle
the multiple text throughout the application.
-
Part of the integrated front end team which took care of the
styleguide and all you can see in the browser.
-
Main developer of the translation manager that was being used by the
translators built in Node
-
Developed games, 3D environments, custom applications and other in-house
software to showcases the abilities of the main product, the ability to
interact with 3d sensors like the Kinect.
-
Developed websites and games for various different clients: GoBulling,
PortugalTecnológico, Universidade Católica, Condaltom, Jack Malipan,
Mota-Engil...
-
Developed institutional websites and branding for various clients