# David Morais - Full Stack Developer Portfolio > Senior Full Stack Developer based in Almada, Portugal with 8+ years of experience building web applications and games. Currently freelancing and open to new opportunities. ## About David Morais is a Full Stack Developer specializing in React, TypeScript, Node.js, and Ruby on Rails. He has a passion for creating innovative web applications and games, having worked for companies across Europe including Meisterlabs (Vienna), Pennylane (Paris), and Gaspard + Bruno (Lisbon). - **Website**: https://davidmorais.com - **GitHub**: https://github.com/davidsmorais - **LinkedIn**: https://linkedin.com/in/davidsmorais - **Email**: david@davidmorais.com - **Location**: Almada, Portugal ## Resume / CV - **Download PDF**: https://davidmorais.com/resume.pdf - **View Online**: https://davidmorais.com/resume ## Work Experience ### Meisterlabs — Senior Full Stack Developer (June 2025 - March 2026) Developing and maintaining multiple web applications using React and Ruby on Rails. Full issue ownership from tech exploration to deployment. ### Pennylane — Front End Developer (December 2021 - May 2025) Built a financial system OS with React + TypeScript in a team of 200+ developers. Mentored junior developers and created extensive unit tests. ### Gaspard + Bruno — Full Stack Developer (January 2020 - December 2021) Led development of mobile applications for a fashion unicorn company using React Native + Redux. Served as Front End Lead and Web/Mobile Team Leader. ### Intrasurance (through Dixtior) — React Engineer (September 2018 - January 2020) Developed web applications using React/Redux in a nearshore project for a Dutch software house. ### Frames News — Front End Developer (April 2017 - August 2018) Developed chart templates for online news publications using D3.js, Leaflet, React/Redux, and NodeJS. ## Technical Skills - **Languages**: HTML, CSS, JavaScript, Python, Ruby, PHP - **Databases**: Postgres, MongoDB, SQLite - **JavaScript Frameworks**: React, TypeScript, React Native, Next.js, Redux, Node.js, Electron, Phaser - **CSS Frameworks**: Tailwind CSS, Styled Components, Bootstrap, Sass - **Backend**: Ruby on Rails, Flask - **Tools**: Git, Webpack, Vite, Tauri, pnpm, Heroku, Netlify ## Projects Full project details: https://davidmorais.com/projects ### Active Projects - **Booker Blitz** (2025 - Present): A wrestling simulation game built with React, Tailwind and Vite. https://www.bookerblitz.com ### Completed Projects - **Phantom Pulse** (2025): Music quiz game for groups using Spotify. Built with React, Supabase, TypeScript. https://phantom-pulse.netlify.app/ - **Dark Magic Themes** (2023): VSCode dark themes including custom Tokyo Night and Dracula variants. https://marketplace.visualstudio.com/items?itemName=DavidMorais.dark-magic-themes - **Kuro** (2022): Open source Microsoft To-Do client for Linux with Electron + React. https://github.com/davidsmorais/kuro ### Paused Projects - **Epoch Rift** (2021-2023): 2D Roguelike platformer built with PhaserJS, TypeScript, React and Tauri. https://epochrift.netlify.app - **React Bifrost** (2022-2023): React library bridging multiple frameworks including Phaser JS games. https://github.com/Dark-Magic-Studios/react-bifrost ### Archived Projects - **MDyna** (2018-2020): Open source Markdown note-taking app for Linux/Windows built with Electron + React. https://mdyna.netlify.app/ ## Education - **Free Code Camp** — Front-End Developer Certificate (2016-2017) - **University of Lisbon** — Bachelor's Degree, Languages, Literatures and Cultures (2012-2016) ## MCP Server This portfolio exposes an MCP (Model Context Protocol) server for AI assistants to query portfolio data programmatically. Install and run: `npx davidsmorais-mcp` ### Available Tools - `get_resume_pdf` — Get the URL to download the resume PDF - `get_work_experience` — Get full professional work history - `get_personal_projects` — Get all personal projects (filterable by status) - `get_skills` — Get technical skills - `get_personal_information` — Get contact information - `get_education` — Get educational background ## Optional - **Blog**: https://davidmorais.com/blog - **Contact**: https://davidmorais.com/contacts