Full-Stack Developer · Lisbon, Portugal

Building enterprise web apps
with React & .NET

Hi, I'm Ruben Cipriano — a Lisbon-based software developer shipping scalable React, Next.js and C#/.NET applications for banking, public-sector and enterprise clients.

Who I am

About Me

I'm a full-stack software developer based in Lisbon, Portugal, with 4+ years building scalable web applications for banking, insurance, public-sector and enterprise clients. I work end to end — React, Next.js, Angular and TypeScript on the front end; C#/.NET and Node.js on the back end — designing REST and SOAP APIs and modernizing legacy systems. I've owned payment and fraud-prevention flows end to end — along with the concurrency, idempotency and security controls that keep them correct under load — turned around a stalled banking project solo, mentored junior developers, and shipped features that are live in production today.

I care about clean, responsive, accessible interfaces and dependable delivery: secure authentication (Keycloak / OAuth2 / OIDC), automated testing with Jest and NUnit, and CI/CD pipelines on Azure DevOps, Docker and Kubernetes. I'm happiest turning complex requirements into maintainable, well-tested software.

4+
Years of experience
5
Companies
45+
Technologies
What I use

Skillset

The core stack I work with day to day — from React, Next.js and TypeScript on the front end to C#/.NET and Node.js on the back end.

TypeScript

TypeScript

My primary language

Next.js

Next.js

React framework

React

React

UI library

Angular

Angular

SPA framework

C#

C#

.NET back-end

SQL Server

SQL Server

Relational database

Node.js

Node.js

JavaScript runtime

Git

Git

Version control

Spoken Languages

Portuguese flag
Portuguese
Native
English flag
English
C1 · Professional working proficiency
Spanish flag
Spanish
Basic to intermediate
Where I've worked

Working Experience

My professional journey, starting back in 2020.

Full-Stack Developer
Growmate / Accenture · client: IRN

Full-stack developer (consultant, via Growmate / Accenture) on Portugal's national registry services platform (IRN) — a greenfield, high-traffic public-sector system covering the citizen, company, property and movable-asset registry lifecycles. React 19 + Next.js 15 front ends and C#/.NET services across the public, reserved and in-person service areas.

  • Own the payment domain end to end — Multibanco reference, MB WAY, credit card, TPA, cheque and cash across both online and in-person registry-office channels — together with exemptions, urgency fees, cost-rule pricing and automatic rejection on non-payment. Carry the largest share of the platform's payment backlog of any engineer on the team.
  • Built the accounting-document layer that payments depend on: billing data and receipt issuance, collection documents, debit and credit notes, request proofs, and the cash-sheet register — a recurring source of correctness bugs across every registry lifecycle.
  • Delivered a tracked security-remediation backlog of 20+ findings spanning authentication and session handling, upload validation, error disclosure and access control, alongside CVE-driven runtime and dependency upgrades and a migration to next-auth.
  • Implemented optimistic concurrency control across the request and payment flows — versioning, guarded state transitions and idempotency — eliminating duplicate submissions and double payments under concurrent use.
  • Built and maintain the three front-office areas — public, reserved and collaborator — with their backend-for-frontend services, collaborator authentication and profile-based context switching, plus the shared React component libraries consumed across the platform, built on Portugal's official AMA Agora government design system.
  • Shipped multi-party request flows (representative nomination, action blocking for represented parties, participant summaries) and composite requests across all three areas.
  • Refactored the shared service-step flow — the component layer every registry service renders through — standardizing data fetching and state handling so the public, reserved and collaborator areas consume one consistent contract instead of three divergent ones.
  • Integrated Keycloak (OAuth 2.0 / OIDC) with Portugal's Chave Móvel Digital (CMD) government identity and the payment gateway; Kafka and Redis on the C#/.NET back end; GDPR-compliant analytics and cookie consent; Docker to Kubernetes delivery with Jenkins CI/CD; mentor interns and junior developers in an Agile/Scrum team.
C# 12 .NET 8 React 19 Next.js 15 TypeScript 5 Tailwind CSS 3.4 SCSS AMA Agora Design System Keycloak OAuth2 / OIDC next-auth 4 Kafka Redis REST APIs CQRS Entity Framework Core 9 Node.js 22 Docker Kubernetes Jenkins CI/CD Git Jest 30 Agile / Scrum
Oriente, Lisbon, Portugal - Hybrid location flagOriente, Lisbon, Portugal - Hybrid

May, 2025 - Present

1 year & 3 months
Full-Stack Developer
Neotalent Conclusion · client: VORTAL

Full-stack developer (consultant, via Neotalent Conclusion) on VORTAL's enterprise e-tendering platform, as part of Operations Team II — the escalation tier that resolves the real underlying defects, rather than the first-line user unblocking handled by Operations I.

  • On Operations Team II — the escalation tier that fixes the real underlying defects, not first-line unblocking — diagnosed, resolved and tested complex production incidents across C#/ASP.NET services and React UIs, minimizing downtime on a high-availability public-procurement platform.
  • Shipped full-stack features spanning SQL Server data access through to the React interface, and refactored legacy modules for performance and maintainability.
  • Built and optimised Azure DevOps CI/CD pipelines, and supported SLA compliance and incident-response efficiency alongside operations and infrastructure teams.
C# ASP.NET React TypeScript JavaScript SQL Server REST APIs Azure DevOps Docker CI/CD Git NUnit Jest Agile / Scrum
Lisbon, Portugal - Hybrid location flagLisbon, Portugal - Hybrid

Jun, 2024 - May, 2025

11 months
Back-End Developer
VIA Consulting S.A. · client: Ageas Seguros (Millennium BCP, ActivoBank, SIBS, VISA)

Back-end developer who took sole ownership of a stalled integration project for regulated financial clients — Millennium BCP, ActivoBank, Ageas Seguros, SIBS and VISA — turning it around and delivering secure banking and insurance integrations to production.

  • Single-handedly rescued a stalled, non-functional integration project — rebuilt the C#/Java service layer connecting Millennium BCP and Ageas (REST + SOAP), delivered it to production, and restored a blocked banking–insurance data pipeline.
  • Built and shipped online pet insurance end to end for Millennium BCP — a product the bank previously lacked — integrating it into the existing MBCP mobile app architecture, now live for customers.
  • Developed automated batch programs for VISA that removed manual effort from report generation, and file data-mining solutions for SIBS that extract and analyse large-scale financial files.
  • Automated detection and processing of financial files (movements, transfers) with Rundeck jobs persisting to MySQL / SQL Server, wrote NUnit tests, and managed delivery through Git, SVN and Azure DevOps CI/CD under financial data-security standards.
C# Java REST APIs SOAP SQL Server MySQL Rundeck Azure DevOps CI/CD Git SVN NUnit Unit Testing Functional Testing Agile / Scrum
Lisbon, Portugal - Remote location flagLisbon, Portugal - Remote

Jan, 2023 - Jun, 2024

1 year & 5 months
Front-End Developer — Intern
Emvenci Business Services

Front-end intern modernising a legacy platform UI into a new Angular design system built on Atomic Design principles.

  • Rebuilt UI components in Angular + TypeScript + SCSS following Atomic Design for reuse and visual consistency.
  • Fixed bugs and improved front-end maintainability and scalability through a structured component architecture.
  • Collaborated with the development team in a Git + CI/CD workflow to ship UI improvements.
TypeScript Angular SCSS HTML CSS AWS Git CI/CD
Lisbon, Portugal - On-site location flagLisbon, Portugal - On-site

Mar, 2022 - Aug, 2022

5 months
Software Developer — Intern
Arquiconsult

Full-stack intern building a back-office application and its mobile-facing APIs, working across C#/ASP.NET Core and the front end.

  • Built a back-office application with C#, ASP.NET Core and Entity Framework, including Razor Pages UI.
  • Developed APIs consumed by a Xamarin mobile client and supported the mobile team on the cross-platform app.
  • Integrated the Google Maps API (with jQuery) to map parks and trees, persisting to a SQL Server database.
C# ASP.NET Core Entity Framework Razor Pages Xamarin SQL Server JavaScript jQuery Git
Odivelas, Lisbon, Portugal - On-site location flagOdivelas, Lisbon, Portugal - On-site

Mar, 2020 - Aug, 2020

5 months
Things I've built

Projects

A selection of things I've built. More on my GitHub.

OpenHours — Team Time Tracking

A multi-user, self-hosted time-logging app built on top of OpenProject. Teams log hours against projects and tasks; entries are drafted locally and synced to OpenProject, with a policy-aware calendar, weekly targets and per-user stats. In production use at IRN.

React 18TypeScript 5.7Vite 6Tailwind CSS 3.4Fastify 5PostgreSQLRedisOpenProject API

Income Planner — Portugal

A Portuguese income & tax planner that compares working as an employee, freelancer or company (Lda.) side by side with current tax rules — including Coverflex benefits, IRS Jovem, break-even, salary/dividend optimisation and investment projections. Exports to PDF and Excel.

Svelte 5Vite 6PocketBase 0.27Zod 4ChartsGoogle OAuth

Our Weddings — Wedding Site Platform

A multi-tenant platform where each couple gets their own wedding site under its own slug: an invitation with a QR code, RSVP collection, a shared photo gallery with chunked uploads, and a live guest quiz. Admin panel per site, transactional email, scheduled backups and a maintenance mode, with hCaptcha on the public forms.

Next.js 16React 19TypeScript 5Tailwind CSS 4Auth.jsGo 1.26GinGORMPostgreSQLJWThCaptchaDocker

Discord Music Bot + Dashboard

A multi-guild, MEE6-style Discord bot: play and queue music from YouTube, set up Twitch live notifications and manage feature modules — all configured through a web dashboard with Discord sign-in.

Next.js 15React 19TypeScript 5.7discord.js 14Node.jsSQLiteDocker

ZeroDown

A homepage for my personal brand and self-hosted homelab, with live service status. Built with Node.js, Express and TypeScript.

Node.jsExpressTypeScript

Developer Portfolio

This portfolio site — a server-rendered Angular 20 app with a light/dark theme, prerendering for SEO, and data-driven sections. Built with Bootstrap and custom SCSS.

Angular 20TypeScript 5.8SCSSBootstrap 5.3SSR
Background

Education

My academic background and certifications.

Education
Licenciatura (BSc) coursework — Computer Software Engineering
2023 – 2024
ISEL — Instituto Superior de Engenharia de Lisboa · Lisbon, Portugal

Advanced programming, algorithms and mathematics coursework at Lisbon's engineering institute, applied to building better-performing applications. Attended alongside full-time work; not completed.

Education
CTeSP — Web & Mobile Application Development
2020 – 2022
ISTEC · Lisbon, Portugal

Higher professional technical course (EQF level 5) covering web and mobile development, UI/UX design principles, usability patterns and structured design patterns, alongside analytical thinking and problem-solving in team-based projects.

Education
Technician in Management & Programming of Computer Systems
2017 – 2020
INETE — Instituto de Educação Técnica · Lisbon, Portugal

Professional secondary education (EQF level 4) in software systems management and programming. Final classification: 15/20.

View diploma