business card

What I've built

A detailed look at the projects that make up my portfolio: what they are, the purpose behind each one, and the stack that makes them work.

View projects ↓
01
QA AUTOMATION · API & E2E TESTING

SecureGate

An automated QA suite that tests the Shipping Hub platform end to end — API, UI and BDD — in a CI pipeline with a quality gate.

See repository ↗
What it is

A professional QA automation suite that validates the Shipping Hub platform (project 02) the way a QA Automation Engineer would: API contract and functional tests with Karate, end-to-end UI journeys with Selenium under the Serenity Screenplay pattern, BDD scenarios with Cucumber/Gherkin, and a hand-runnable Postman/Newman collection — including security-oriented negatives such as rate limiting, broken authorization and tampered tokens. The Page Object Model was retired in favour of Screenplay (Actors performing Tasks, asking Questions), which stays maintainable as the UI surface grows. All layers run in CI: the pipeline spins up the API, the web app and a headless browser, produces Serenity living documentation plus a Karate report, and includes a SonarQube quality-gate step.

Purpose

To demonstrate professional QA automation against a real distributed system: designing a layered test strategy (API, BDD, UI), automating it in CI, and gating quality — reflecting hands-on experience testing production software rather than toy examples.

Stack used
Java · Karate
API contract & functional testing (Gherkin + match), with security negatives
Selenium · Serenity Screenplay
End-to-end UI journeys as Actors performing Tasks (replaces POM)
Cucumber (BDD)
Gherkin scenarios as living documentation
Postman · Newman
Hand-runnable API collection, headless in CI
GitHub Actions
CI pipeline: nightly and on-demand test runs
SonarQube
Static-analysis quality gate on the test framework
Serenity BDD
Living documentation reports with screenshots
02
FULL-STACK · DISTRIBUTED ARCHITECTURE

Full-Stack Hub

A reactive, multilingual interface on top of a distributed architecture that connects multiple languages and services into a single system.

Live app ↗ See repository ↗
What it is

A UPS/FedEx-style parcel shipping & tracking platform. A reactive, SEO-optimized bilingual (es/en) web interface sits on top of a distributed backend: a transactional Node.js API — with JWT auth, a shipment state machine and a wallet backed by a double-entry ledger — talks to PostgreSQL, while stateless Python microservices handle pricing/ETA and PDF labels. Anyone can track a parcel with no account.

Purpose

To demonstrate end-to-end full-stack capability: designing a modern, fast frontend while orchestrating a distributed backend where different languages and services (Node.js and Python) communicate and share persistence. It reflects experience with real production architectures, not just a static site.

Stack used
Next.js · React
Bilingual SSR interface, full SEO and Leaflet route maps
TypeScript
Static typing across web, API and shared contracts
Tailwind CSS
Design system
Node.js · Express · Prisma
Transactional API: auth, state machine, ledger
PostgreSQL
Append-only tracking events and double-entry ledger
Python · FastAPI
Stateless pricing/ETA and PDF-label microservices
Docker · Railway
Single-container all-in-one deployment, live in production
03
FRONTEND · VANILLA WEB

Personal Web Portfolio

This very site: a two-page portfolio built from scratch without frameworks — pure web technologies only.

See repository ↗
What it is

A personal portfolio made up of two connected pages: the main page — with my introduction, experience, and skills — and this projects page. Everything is built from scratch with plain HTML, CSS, and JavaScript, and includes a hero greeting that rotates through twelve languages, reveal and typing animations, a background that subtly shifts colors, and a fully responsive design.

Purpose

To demonstrate command of frontend fundamentals without relying on frameworks: building an interactive, polished experience using only native web technologies. It is also my calling card in action: the project you are evaluating is the very page you are reading it on.

Stack used
HTML5
Semantic structure of both pages
CSS3
Animations, dynamic gradients, and responsive design
JavaScript
All the interactivity — including the eight-language rotating greeting — with no frameworks or libraries
Google Fonts
Typography: Space Grotesk, Space Mono, Inter and JetBrains Mono