Frontend engineeringPortugal · — local time

LuísRibeiro

Software engineer, specialising in frontend.
Currently at VFX Financial.

I build intuitive interfaces for complex systems, turning demanding business requirements into reliable, secure, and thoughtful user experiences.

Experience
Since Sept 2021
Production frontend
At work
Blazor · C#
Before: Vue, React
Own projects
Next.js · TypeScript
React, MongoDB
Availability
Open to talk
Roles and freelance

01Selected work

Things I built
on my own time.

My professional work lives in private codebases, so it's described under Experience. These are personal and study projects, chosen over completeness.

Wedding app home after sign-in: the couple's signature over a starry night sky, a countdown, and links to Informações, Mesas, Fotos, Protocolo and GaleriaPlano de Mesas screen: guests search their name to find their table
Two screens from the Wedding Management App

Featured · Personal project

Wedding Management App

The app that ran my own wedding: invitations, RSVPs, guest seating, administration and photo uploads. A full-stack Next.js and React build, with MongoDB for data, NextAuth for sign-in and Resend for transactional email.

Role
Full-stack development
Scope
Invitations, RSVPs, seating, admin, photo uploads
Sign-in
Google, through NextAuth
Stack
Next.js, React, MongoDB, NextAuth, Resend
Used
For my own wedding

Team project · Frontend

2022

Petaway landing page: a teal navigation bar and the Petaway logo over a photo of dogs on leads

Petaway

A web app for finding pet-sitters and dog walkers nearby. React, styled-components, Ant Design and the Google Maps API on the frontend; I built the frontend, a teammate built the Node, Express and PostgreSQL API behind it.

Experiment

2023

g = 9.81 m/s² · wall hit −10% vₓ

Projectile Movement

A small physics simulation in React: a ball thrown with a random direction and speed, pulled down by real gravity, losing 10% of its horizontal speed on every wall it hits. The preview re-creates its rules.

Everything else is on GitHub

02Experience

Five years, three teams, one direction.

From full-stack beginnings in React and C#, to frontend at Prozis, to a core frontend role on a financial platform.

May 2024 – NowVFX FinancialSoftware Engineer / Frontend DeveloperBroker platform for payments and FX · Remote

Core frontend engineer on a centralised broker platform for payments, deposits, FX trading, swaps and routing rules, building complex financial workflows in Blazor.

  • Work with backend engineers across the Payments, Deposits and Trading teams, alongside QA and UI/UX designers, to ship integrated features.
  • Implement security-related functionality in a regulated environment: permissions, role-based access control and input validation.
  • Find dependencies, edge cases and implementation risks during refinement, and propose solutions before development starts.
  • Ship across development, pre-production and production, with xUnit tests and GitHub Actions in the pipeline.
  • Adopted Claude Code in feature work, and refine the prompts and reusable skills that improve delivery, reinforce security practice and reduce AI-generated errors.

Stack

Blazor · C# · xUnit
GitHub Actions · Claude Code

Apr 2023 – May 2024ProzisFrontend DeveloperEmail marketing tooling · Maia

Led frontend development in a small email marketing team, maintaining and extending the internal campaign management app.

  • Maintained and extended a Vue 2 campaign management application.
  • Initiated the migration from Vue 2 to Vue 3 to modernise the codebase.
  • Built reusable HTML email components that render consistently across email clients.

Stack

Vue 2 · Vue 3
HTML email

Sept 2021 – Mar 2023CodepointJunior Software DeveloperReact and full-stack .NET · Braga

Where I started: client web apps in React, then full-stack work across the Microsoft stack.

  • Built and maintained responsive React interfaces with designers, from UI/UX specs to production.
  • Developed and integrated APIs in full-stack applications with C#, Blazor, Azure Functions and MySQL.
  • Delivered in an Agile team, with a focus on maintainable, production-ready code.

Stack

React · C# · Blazor
Azure Functions · MySQL

03Stack

What I use, and where I used it.

Split by context, because shipping Blazor to a production finance platform and using Next.js on a personal project are different kinds of experience.

A

In production

Used at work, with a team, shipped to users.

  • Blazor, C#, .NETVFX, Codepoint
  • Vue 2, Vue 3Prozis
  • ReactCodepoint
  • xUnitVFX
  • GitHub ActionsVFX
  • Azure Functions, MySQLCodepoint
  • HTML emailProzis

B

In my own projects

Chosen by me, built end to end.

  • Next.js, ReactWedding app
  • TypeScriptPersonal work
  • MongoDBWedding app
  • NextAuth, ResendWedding app
  • Ant Design, Google Maps APIPetaway

C

Practice

The parts of the job that aren't a framework.

  • Role-based access and permissions
  • Input validation
  • Refinement and risk spotting
  • Multi-environment delivery
  • AI-assisted development with Claude Code

04About

About

Luís Ribeiro, arms crossed, smiling, in a green pinstripe shirt outdoors

I'm Luís, a software engineer in Portugal. I like the part of frontend that's easy to overlook.

The permission that hides a button from the wrong person. The validation message that tells you exactly what to fix. The state that's still right after a refresh. On a platform where people move money, those details are the product.

I started in 2021 writing React and C# at Codepoint, spent a year on Vue at Prozis, and now work remotely on a broker platform at VFX Financial. Outside work I build things for real problems, like the app that ran my wedding.

Education
CTeSP Web Development and Multimedia, IPCA, 2020–2022
English
C2 Proficient (EF SET)
Languages
TypeScript, JavaScript, C#, HTML, CSS

05Contact

Write to me.

Hiring for frontend, or need someone for a freelance project? Email is the fastest way to reach me.

↑↓ move↵ selectesc close
Luís RibeiroIndex