# Nuno Santos

> Senior Frontend Developer in Portugal with 10+ years building fast, pixel-perfect web apps with React, Next.js and TypeScript.

- Website: https://nunosantos.me
- Resume (PDF): https://nunosantos.me/resume.pdf

## About

- I’m Nuno Santos — a Frontend Senior with 10+ years of experience, known for pixel-perfect execution and an obsessive attention to detail.
- Passionate about exploring new technologies and turning ideas into reality through polished, thoughtfully crafted projects.
- Creator of [GIN Design](https://gindesign.online) (Design System), [Vila Safe](https://fozdoarelho.vilasafe.pt) and [Doçura ou Travessura](https://www.docuraoutravessura.pt).

- Location: Caldas da Rainha, Portugal

## Social links

- [X](https://x.com/nunosantosdev)
- [GitHub](https://github.com/nunosantoswebdesigner)
- [LinkedIn](https://www.linkedin.com/in/nunosantosdev/)
- [Instagram](https://www.instagram.com/nunosantosdev)
- [Discord](https://discord.com/users/749214116492607549)
- [YouTube](https://www.youtube.com/@nunosantosdev)

## Tech stack

- [TypeScript](https://www.typescriptlang.org)
- [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
- [React](https://react.dev)
- [Next.js](https://nextjs.org)
- [Tailwind CSS](https://tailwindcss.com)
- [shadcn/ui](https://ui.shadcn.com)
- [Radix UI](https://www.radix-ui.com)
- [Base UI](https://base-ui.com)
- [Motion](https://motion.dev)
- [Expo](https://expo.dev)
- [TanStack](https://tanstack.com)
- [MobX-State-Tree](https://mobx-state-tree.js.org)
- [Node.js](https://nodejs.org)
- [Bun](https://bun.sh)
- [PostgreSQL](https://www.postgresql.org)
- [MongoDB](https://www.mongodb.com)
- [Redis](https://redis.io)
- [nginx](https://nginx.org)
- [Claude](https://claude.ai)
- [Cursor](https://cursor.com)
- [Gemini](https://gemini.google.com)
- [ChatGPT](https://chatgpt.com)
- [Git](https://git-scm.com)
- [GitHub](https://github.com)
- [Docker](https://www.docker.com)
- [Vercel](https://vercel.com)
- [OpenPanel](https://openpanel.dev)
- [PostHog](https://posthog.com)
- [Figma](https://www.figma.com)
- [Paper](https://paper.design)
- [Photoshop](https://www.adobe.com/vn_en/products/photoshop.html)

## Experience

### Senior Frontend Developer | ING Infinitive

Duration: 2021 - Present

Skills: PWA, Frontend Architecture, Component Based Design, Responsive Design, Push Notifications, GPS, Offline Support

- Developed layouts and components for a Ski Sports application, ensuring responsive design and optimal user experience for the Swiss Ski Federation.
- Designed and implemented the frontend architecture, creating scalable HTML layouts and reusable components tailored to the application's requirements.
- Led the development and maintenance of a PWA, implementing features such as offline support, GPS, push notifications and responsive design.
- Participated in discovery sessions to gather requirements, contribute to prototypes, and support cross-functional collaboration for delivering user-focused interfaces.

### Frontend Developer | Share IT | Alencastre Group

Duration: 2019 - 2021

Skills: React, PWA, Maps, GPS, JavaScript, Bootstrap, Umbraco, Figma, MailChimp

- Developed PWA applications in React.js, featuring integrated maps and GPS functionalities for location tracking and coordination. These applications were tailored for clients and lobbies of Meliã Hotels.
- Developed responsive markups with Bootstrap and JavaScript for Umbraco platform integration, converting prototypes from Figma to HTML.
- Designed and developed HTML email templates for MailChimp marketing campaigns.

### Frontend Developer | INM Innovation Makers

Duration: 2017 - 2019

Skills: JavaScript, Sass, Animation, Mentoring, UI Design

- Developed animations using JavaScript and Sass for integration into payment applications on vending kiosks deployed in Africa.
- Mentored interns by overseeing their daily tasks and facilitating their integration into the team.
- Key touch point for client's marketing, research, and development team for discussing project ideas, capturing their goals, and turning them into visual designs and layouts for client review.

### Frontend Developer | Janela Digital | Casa Sapo

Duration: 2015 - 2017

Skills: HTML5, JavaScript, PHP, Less, Responsive Design

- Developed responsive websites in HTML5, JavaScript, PHP, and Less for Ego Real Estate platform, focusing on the real estate market.
- Designed and developed templates for web stores and JavaScript plugins for real estate market platforms.

## Education

### Online Course · Certificate, MCP Course | Hugging Face

Duration: 2026 - 2026

Skills: MCP, AI Agents, LLM APIs, Tool Calling

- Learned the Model Context Protocol architecture: hosts, clients, servers and transports.
- Built MCP servers exposing tools, resources and prompts to LLM applications.
- Connected MCP servers to AI assistants and agent workflows.

### Online Course · Certificate, AI-Assisted Front-End Development | Codecademy

Duration: 2026 - 2026

Skills: AI-Assisted Development, Prompt Engineering, GitHub Copilot, Code Review

- Used AI coding assistants to scaffold, refactor and debug front-end code.
- Wrote effective prompts to generate components, tests and documentation.
- Reviewed and validated AI-generated code for quality and accessibility.

### Online Course · Certificate, Google AI Essentials | Google · Coursera

Duration: 2025 - 2025

Skills: Generative AI, Prompt Engineering, Responsible AI

- Learned how generative AI tools work and where they fit in daily work.
- Practiced prompt engineering to get accurate, useful outputs.
- Covered responsible AI use, bias and the limits of AI tools.

### Online Course, Next.js App Router | Vercel · nextjs.org/learn

Duration: 2025 - 2025

Skills: Next.js, Server Components, Server Actions, SSR, Streaming

- Built a full-stack dashboard with the Next.js App Router.
- Used Server Components, data fetching and streaming with Suspense.
- Implemented Server Actions, form validation, authentication and metadata for SEO.

### Online Workshop, Advanced React APIs & Hooks | Epic React · Kent C. Dodds

Duration: 2024 - 2024

Skills: React, Hooks, Context API, useReducer, Custom Hooks

- Managed complex state with useReducer and shared it through Context.
- Built reusable custom hooks and composable component patterns.
- Covered useLayoutEffect, useImperativeHandle, useSyncExternalStore and focus management.

### Professional Course, Web Development Environment | CENCAL — Caldas da Rainha

Duration: 2014 - 2015

## Projects

### Vila Safe

Project URL: https://fozdoarelho.vilasafe.pt

Skills: Next.js 16, React 19, TypeScript, Tailwind CSS v4, shadcn/ui, Supabase, Mapbox GL, PWA, Web Push, Gemini API, Resend, Vercel

Public web app for reporting hazards on the street (potholes, open manhole covers, broken pavements) on an interactive map.
- Report with photo, exact location (GPS or map pick) and severity level
- AI-suggested title and description from the uploaded photo
- Manual moderation flow before reports are published on the map
- Installable PWA with push notifications for new and resolved reports

### Vila Safe — Landing Page

Project URL: https://vilasafe.pt

Skills: Next.js 16, React 19, TypeScript, Tailwind CSS v4, shadcn/ui, Base UI, CSS 3D, Google Analytics

Single-page landing for Vila Safe, presenting the app and how it works.
- Brand typography and design built from the design spec and HTML reference
- 3D phone mockup built in pure CSS (preserve-3d), no WebGL
- Dynamic Open Graph image generated at build time

### Doçura ou Travessura

Project URL: https://www.docuraoutravessura.pt

Skills: Next.js 16, React 19, TypeScript, Tailwind CSS v4, shadcn/ui, Base UI, MapLibre GL, Clerk, Supabase, Zustand, Zod, Resend, Web Push, PWA

Community Halloween map for Portugal: find the houses giving out candy near you, plan your route and register your own house.
- Map with house pins whose state (candy, sold out, closed, visited) changes in real time during the night
- Filters, nearby list sorted by distance and a personal route with check-ins
- Hosts register their house in 4 steps and manage it live (pause, sold out, opening hours)
- Event phases: aggregated zones before the night, exact pins during it, recap after it
- Installable mobile-first PWA with push notifications and offline state

### Sentinela NFC

Project URL: https://sentinela.store

Skills: Next.js 16, React 19, React Compiler, TypeScript, Tailwind CSS v4, shadcn/ui, Radix UI, React Hook Form, Zod, Resend, SEO, Vercel

Landing page for NFC + QR cards that open a business's Google review page with a single tap.
- Pricing packs and an order form with validation and transactional emails
- Legal pages, cookie consent and analytics loaded only after consent
- Full SEO setup: per-page metadata, Open Graph, sitemap, robots and llms.txt

### 5 Senses of Portugal

Project URL: https://www.5sensesofportugal.com

Skills: Next.js 16, React 19, TypeScript, Tailwind CSS v4, shadcn/ui, Radix UI, Headless UI, Motion, Embla Carousel, Resend, SEO, Vercel

Website for a curated, all-inclusive retreat in Portugal for exclusive groups, with hosted trips covering accommodation, meals and activities.
- Immersive home page with a hero video, carousels and trip details
- Waitlist sign-up with transactional emails and one-click unsubscribe
- FAQ with structured data (JSON-LD), legal pages and SEO metadata

### GIN Design

Project URL: https://gindesign.online

Skills: Next.js 16, React 19, TypeScript, Tailwind CSS v4, shadcn/ui, shadcn registry, Radix UI, Fumadocs, MDX, Recharts, Motion, Figma API, Design System

Design system and shadcn registry with components, elements, blocks, charts and icons, installable with `npx shadcn add`.
- Four brand themes (Mint, Berries, Citrine, Cinnamon) applied through CSS variables
- Documentation site with live previews built on Fumadocs and MDX
- Figma diff to compare design tokens between Figma and the active theme
- Agent ready with llms.txt and API catalog endpoints for AI tools
