Profile Picture

João Santos

Full-stack web developer

  • Porto, Portugal
  • jpnsantos14@gmail.com

Full-stack developer at Revolut with a founder’s mindset. I specialize in architecting production-grade web applications, integrating AI into enterprise workflows, and building systems from the ground up.

About me

I’ve always been driven by the 'how' behind the screen. What started with building game servers at 12 has evolved into a career spent architecting scalable, high-performance systems. Currently, I work as a Frontend Developer at Revolut, where I focus on type-safe, test-driven applications that handle complex, real-world data at scale.

Beyond my professional work, I’m a builder at heart. Whether I’m bootstrapping AI-powered SaaS tools or engineering real-time collaborative interfaces like Boardy, I thrive on the challenge of taking a concept from a blank file to a production-ready product. My engineering philosophy is simple: write code that is as maintainable as it is powerful. I believe in rigorous standards—strict typing, comprehensive testing, and clean architecture—because the best software isn't just written; it's engineered to last.

Skills

Frontend Ecosystem

React TypeScript Zod TanStack (Query, Table, Start) React Hook Form React Testing Library Vue.js Angular Svelte Astro

Backend & Tools

Node.js Python (Flask/FastAPI) Laravel Go (Gin) Payload CMS Sanity Venture CMS SQL

DevOps & QA

Docker GitHub Actions CI/CD Pipelines Traefik Git

Experience

Revolut

Frontend Developer (Graduate Program)

Revolut

·

Porto, Portugal

09/2025 - Current

  • Developing scalable, high-performance web applications with a strict focus on type safety and maintainability using React and TypeScript.
  • Implementing end-to-end schema validation using Zod to ensure data integrity across both frontend and backend boundaries.
  • Writing comprehensive tests and adhering to strict code review processes to deliver reliable, production-grade features.
Deloitte

Full-Stack Developer (Curricular Internship)

Deloitte

·

Porto, Portugal

02/2025 - 07/2025

  • Engineered the integration of generative AI features into the platform, enhancing user capabilities.
  • Built responsive React interfaces and developed custom backend plugins for Venture CMS to support complex business logic.
  • Managed the complete feature flow, taking requirements from concept through development and testing


Norasil

Software Manager & Lead Developer

Norasil

·

Porto, Portugal

06/2023 - 06/2025

  • Developed and maintained the corporate website and internal management tools. Responsible for server infrastructure, hosting, and IT support.
  • Served as Internship Director (Summer 2024), mentoring interns, reviewing code, and overseeing their integration into software projects.


Writing Coach

Founder

Writing Coach

·

Porto, Portugal

11/2024 - 09/2025

  • Founded an AI-powered SaaS platform aimed at generating writing exercises and providing corrections and grades for essays.
  • Oversee all aspects of the project, including finance, marketing, design, development, and operations
  • Currently in the early stages of development, with no official launch yet.


FastFeed

Co-Founder

FastFeed

·

Porto, Portugal

06/2024 - 09/2024

  • Conceptualized and developed a platform for live previews of development websites, enabling real-time feedback and commenting by team members.
  • Built the project’s structure, including an admin dashboard, landing page, and database schema.
  • Designed and planned API endpoints to support seamless data integration and collaboration.
  • Led the project vision and coordinated initial development efforts.
  • Learned key lessons in product design, team collaboration, and technical feasibility.


Deloitte

Summer Intern

Deloitte

·

Porto, Portugal

06/2024 - 08/2024

  • Participated in the initial planning and requirements gathering phase for a major B2C retail website project.
  • Worked directly with client teams to define project scope and expectations.
  • Gained hands-on experience with Salesforce architecture and achieved the Salesforce Associate certification.


NIAEFEUP

Member

NIAEFEUP

·

Porto, Portugal

03/2024 - CURRENT

  • Focused on the NIAEFEUP's website, contributing to its redesign and leading much of the front-end development.
  • Collaborated on the "Time Table Scheduler" website, with a focus on front-end development to enhance user experience.
  • Currently working on "Nitsig", a browser extension designed to improve the university’s website, enhancing usability and accessibility for students.


Host and Code

Co-Founder

Host and Code

·

Porto, Portugal

06/2019 - 04/2021

  • Co-founded a startup focused on hosting and providing technical support for game servers.
  • Designed and implemented an online store with a custom template to manage customer subscriptions and billing.
  • Developed and customized a control panel for server management, optimizing resources to support multiple dedicated servers using containerization.
  • Built integrations to deliver real-time notifications to users via external platforms, improving client communication.
  • Led the resolution of technical issues, offering tailored solutions to ensure optimal server performance.
  • Introduced a custom service that allowed clients to develop fully tailored game server configurations to meet specific needs.
  • Directed marketing initiatives and negotiated partnerships to grow the customer base and brand visibility.


Education

Faculdade de Engenharia da Universidade do Porto

BSC INFORMATICS AND COMPUTING ENGINEERING

Faculdade de Engenharia da Universidade do Porto

Porto, Portugal

09/2022 - 06/2025

Colégio de Nossa Senhora do Rosário

Ensino Secundário

Colégio de Nossa Senhora do Rosário

Porto, Portugal

2019 - 2022

Projects

Ephemeral Chat

realtime-chat

I built this weekend project to test Next.js 16 with ElysiaJS. It's a private, ephemeral chat app. No database history, no logs. When the timer hits zero, the data vanishes.

Actually Ephemeral: Redis TTL enforces the lifespan. When the key expires, the data is nuked from memory. No soft deletes. Serverless Realtime: Uses Upstash Realtime (Redis Streams + SSE). No heavy WebSocket server to manage. Backend DX: I mounted a full Elysia backend inside a Next.js API route. You get strict types and validation without a separate server.

Next.js 16 ElysiaJS Redis TanStack Query Tailwind CSS
Ephemeral Chat