Luis has 5 years of experience as web developer, and 2 years of experience with React and Typescript. He writes clean, readable and well-structured code that follows best practices. Luis stays up to date with industry developments and continuously challenges himself with side projects.
Most Amazing Development
Audited and enhanced the web accessibility of a React + Typescript enterprise application, well within allocated budget constraints, for a company valued at $760 million (as of 2021)
Closed a 3-month performance sprint (Oct-Dec 2025) of 18+ optimization PRs against a September baseline audit, removing unused WebGL/GLSL bundling, moving GSAP and Google Maps off the global bundle, and converting decorative assets to WebP.
Replaced an ad-hoc 39-line lazy-loader with NuxtImg/Sanity provider integration site-wide across ~20 components in a single 66-file PR, restoring responsive sizes, WebP auto-format, and below-fold lazy loading.
Split homepage and slug-page GROQ queries into above-the-fold critical and below-the-fold lazy buckets across 9 commits, shrinking the blocking payload that gated LCP on every CMS-driven page.
Show 5 more
Restructured the full Aeonik Pro font family into a subsetted woff+woff2 layout, added Anaheim with Latin, Latin-Ext, and Vietnamese subsets, and preloaded above-the-fold weights from the Sanity CDN.
Configured Vercel edge caching for videos, PDFs, images, fonts, and captions with 7 to 30 day TTLs, eliminating cold-cache fetches for repeat visitors and cutting redundant origin transfer.
Diagnosed and shipped a 4-commit Core Web Vitals fix (prerender/ISR conflict, browser cache headers, animation threshold, asset caching) that moved all 10 indexed URLs in Google Search Console from 'Needs improvement' to 'Good' within 48 hours.
Built an HMAC-verified Sanity webhook to Vercel ISR revalidation route, cutting content publish-to-live propagation from up to 60 minutes down to 2-3 minutes and saving an estimated $40/month in ISR write costs.
Sustained 100% production uptime since November 2025 and a Sentry performance score of 93 (7-day rolling) by January 2026 while running a 24/7 two-shift coverage rotation on an FDA-regulated pharma marketing site.
Improved the accessibility of a React app by identifying, prioritizing, and resolving issues, resulting in a fully accessible application with no reported issues in the final audit.
Identified additional accessibility issues proactively beyond the initial audit, ensuring a comprehensive resolution of all important issues
Completed the project successfully within the allocated time frame, meeting client needs and expectations.
Show 2 more
Wrote clean and well-documented pull requests, resulting in efficient reviews and easier ticket resolution.
Communicated daily and effectively with the client, providing regular updates and addressing any concerns in a timely manner.
React
TypeScript
Web Accessibility
WCAG 2
HTML5
+10 more
CSS
JavaScript
Selenium
UI Testing
RxJS
Sass
Jest
Frontend Development
ECMAScript (ES6)
Testing
Frontend Developer
Senior Frontend Developer - Web Accessibility / WCAG 2 Consultant
Performed an accessibility audit of the full public site and fixed all existing accessibility issues, enhancing user experience for individuals with disabilities.
Updated the admin section of the site from a legacy styling to the newer styling of the public pages, filling the gaps to match the modern styling when necessary.
Revamped Vue 2 widget across the board: by updating dependencies, refactoring and improving the code, auditing and fixing crossbrowser issues.
Show 3 more
Updated the style guide to include the visual changes derived from the accessibility improvements in public pages and new design tokens from the admin pages.
Timely and effectively communicated with management and the backend team to solve issues cooperatively through comments in github issues.
Adapted to working on the frontend of a PHP application, an unfamiliar language, and learned autonomously to work with the PHP framework maintaining a high quality standard and requesting feedback from reviewers when necessary.
Streamlined the front-end Nuxt codebase, reducing component size and thus boosting the maintainability of the code.
Developed and instituted a best coding practices document, which served as the team's blueprint for consistent and efficient code development, resulting in a more maintainable codebase.
Identified and rectified Vuex store misuses, transitioning inappropriate actions to getters using Vuex best practices.
Show 5 more
Delivered key features, including an enhanced web search via region and campaign filters, more usable date range selection, and dynamic campaign pages, increasing site usability.
Expanded end-to-end testing coverage to the most critical use cases of the web search, significantly reducing bug occurrences and improving overall product quality and developer productivity.
Handled successfully the codebase ownership transition from a departing developer in two weeks, taking proactive ownership of the front-end code.
Helped onboard a new front-end developer by introducing him to the key aspects of the codebase and thoroughly reviewing his code.
Used Jira for task management and Slack for communication.
Maintained a Nuxt.js internal platform using Nuxt.js 2, Composition API, Tailwind CSS, Sanity, and Storybook, successfully migrating Options API components to Composition API and enhancing existing features, which improved code maintainability and performance.
Prepared the Nuxt.js-based platform for a live conference by manually testing main user flows, identifying and fixing bugs, and enhancing site layout, ensuring a smooth and error-free user experience during the event.
Maintained a back-end platform written in Node.js with serverless infrastructure and integrated it with the Sanity client. Tested existing endpoints manually and created new endpoints for reading and editing data from the database, which enhanced data accessibility and system reliability.
Industries: Startups, Software, Consulting
Nuxt.js
Vue
Tailwind CSS
Node.js
Storyblok
+32 more
Storybook
Visual Studio Code
CSS
HTML
ESLint
Git
GitLab CI/CD
HTML DOM
HTML5
CSS3
NPM
JSON
Babel
YARN
Webpack 4
Lodash
Cloudflare
Linux
Ubuntu Linux
Ubuntu
UI Frameworks
Wireframing
Web UX
Flexbox
Slack
Remote Work
Sanity
Frontend
Startups
UI Components
Content Management Systems (CMS)
API Integration
Frontend Developer
Frontend Developer - Vue / Nuxt.js and Tailwind CSS Specialist
Developed a Nuxt component library styled with Tailwind CSS from scratch and connected it to the Storyblok CMS. The product was used by content managers to create landing pages from scratch in a matter of days without the help of the development team.
Adapted components from the Tailwind UI template library to suit the design needs.
Audited every component of the UI in terms of accessibility, on-page technical SEO, and performance to achieve a high Lighthouse rank.
Show 3 more
Obtained feedback from content managers to improve the CMS, updating existing components to include more features and releasing new components, following a weekly release cycle.
Performed basic operations on a PostgreSQL database, running simple queries to find and edit data.
Used Jira as a ticketing system and Slack as a communication tool.
Evolved the codebase, adding new pages, implementing design changes, improving accessibility and performance, and creating a more SEO-friendly URL structure with crawlable pagination and performance.
Maintained a multisite codebase built with Nuxt.js. Some of these sites were big portals with a large amount of traffic of up to 100,000 monthly visitors.
Helped build the front end of a dashboard app using Vue 3 and Tailwind UI. Marketers used the app to add and edit entries to a PostgreSQL database via a custom-built form.
Show 6 more
Maintained a Node.js and Express.js back end used to capture form submissions.
Performed basic operations on a PostgreSQL database, running simple queries to find and edit data.
Configured and deployed new sites with different branding, changing the color theme and logo. That involved adding a new entry to a PostgreSQL database and setting content in a config file in the front end.
Deployed the sites to AWS using pre-established internal protocols. The AWS services used were Amazon ECS, EC2 load balancers, Amazon Route 53, and AWS Certificate Manager (ACM).
Used Jira as a ticketing system and Slack as a communication tool.
Created logos for new sites following customer requirements using Adobe Photoshop.
Nuxt.js
Vue
Bootstrap
Node.js
Express.js
+52 more
Agile Software Development
CSS
HTML
Vue 2
PostgreSQL
ESLint
SCSS
Sass
Git
GitLab CI/CD
HTML DOM
HTML5
CSS3
NPM
Vuex
JSON
Babel
Bootstrap 4
Bash
Webpack 4
Visual Studio Code (VS Code)
Lodash
Amazon S3 (AWS S3)
Amazon Elastic Container Service (Amazon ECS)
Amazon Route 53
Linux
Ubuntu Linux
Ubuntu
UI Frameworks
Web UX
Flexbox
Auth0
AWS Certificate Manager
Elastic Load Balancers
Jira
Slack
Scrum
Remote Work
OAuth 2
Zapier
Frontend
Startups
UI Components
API Integration
UI Testing
Frontend Development
ECMAScript (ES6)
REST APIs
JavaScript Libraries
Responsive Layout
UI Libraries
APIs
Junior Frontend Developer
Junior Frontend Developer - Vue.js and Data Visualization
Developed the front end of a single-page application showing data representations related to social media campaigns and landing pages, namely, KPIs of conversion funnels, plots of magnitude versus time, and tabular data.
Redesigned the app's front end using UI best practices and Figma as a design tool.
Contributed to the dashboard app, a single-page application built with Vue 2, Auth0 for authentication, TestCafe for E2E tests, BootstrapVue, and multi-language, and followed coding best practices.
Show 4 more
Coordinated with the back-end team to develop features following Scrum and Agile methodologies. Used CI/CD best practices for weekly deployments to staging and production environments.
Developed integrations between tools to optimize internal tasks, including Google Apps Script, SendGrid, Trello, Zapier, lambda functions, and Serverless.
Performed basic operations on a PostgreSQL database, running simple queries to find and edit data.
Used Jira as a ticketing system and Slack as a communication tool.
A companion chart for the videogame Vampire Survivors, showing weapons, passives, and evolution paths in a single searchable view. Around 20,000 monthly visitors. Built with Next.js 15, React 19, Tailwind 4, and Zustand, with Fuse.js powering fuzzy search across hundreds of game items. Game art is pipeline-converted from PNG sprite sheets into CSS background-position icons at build time, keeping the runtime asset footprint small. Hardened with a strict Content Security Policy, X-Frame-Options, and Referrer-Policy headers.
A 'Bullet Heaven' (Vampire Survivors-style) roguelite built on a custom game engine. Auto-firing weapons, horde survival, and RPG stat progression, rendered as code-drawn neon geometry directly on HTML5 Canvas with no graphics library. The engine runs in two modes from the same code: a browser canvas renderer for play, and a headless renderer that runs the full simulation in Node, enabling automated balance testing via Monte Carlo runs and performance benchmarking outside the render loop. Built with React 19, TypeScript, and Vite, with Tweakpane for runtime tuning and dependency-cruiser to enforce module boundaries.
Rico Rico is a demo frontend for a restaurant-reservation booking platform that connects diners with its partner restaurants. The site is built with React/Next.js with Typescript, Mantine and TailwindCSS, and uses Supabase for database and authentication. Images for restaurants are generated using Stable Diffusion models. Integration with the Storyblok CMS allows editors to create custom landing pages for restaurants
React Katas AI Maker is an app that takes React docs as input, gives the user a few options and outputs the full code for an AI generated React Kata, including final code, starting code and README file, to practice the concepts.
A personal project built from scratch with Next.js, React and Tailwind CSS, with currently around 100 daily users. It shows a checklist of items for the videogame Elden Ring. The user can create a profile and persist the checked items. The app is fully client side so the data is stored in the browser.
React
Next.js
Tailwind CSS
TypeScript
Vercel
PWA
Improving Accessibility in a React App
Corporate Project
This project involved improving the accessibility of a React app for a client. After an initial accessibility audit, we identified several tickets that needed to be fixed. I worked on these tickets in a separate branch and made sure to submit pull requests that were easy to understand and review. Once the important tickets were completed, I conducted a full accessibility audit of the app to identify additional issues. I grouped these issues into new tickets and prioritized them based on their importance. Then I worked on the most important tickets to fix them. As a result, the app became fully accessible, and a second accessibility audit resulted in essentially zero issues reported. My contributions to this project helped ensure that the app was usable and accessible to a broader audience.
A web app built with React, Firebase, TailwindCSS, and Mantine.dev and bootstrapped from my React starter template. The server state was handled with React-Query, and the global client state was conducted with Redux Toolkit. It allows the user to schedule habits. For example, the user may create a routine titled 'water the plants' with a recurrence of one day.
The Weather Wardrobe Wizard sends users weather forecasts and corresponding clothing suggestions. Users can toggle between metric and imperial units, list and image view of clothing, and light and dark themes. Selections are locally stored for guest users, while signed-in users have persistent data stored in Firebase. Premium users enjoy AI-powered packing recommendations from OpenAI. The application was developed with Next.js, React, TypeScript, and Zustand and combines weather forecasts with clothing advice. OpenWeather API powers the real-time data, and the UI is crafted with Chakra UI. Firebase Firestore handles real-time database updates, while Stripe facilitates payments for premium services. Multi-language support and error tracking with Sentry are other key features.
React
TypeScript
Next.js
OpenAI API
Chakra UI
Zustand
React Query
Immer
+9 more
React Hook Form
Firebase
internationalization
Recharts
Stripe
Sentry
Jest
Testing Library
Playwright
Nuxt + Sanity Performance and Core Web Vitals Overhaul
Corporate Project
Three-month performance sprint (Oct-Dec 2025) on an FDA-regulated pharma marketing site built with Nuxt 4, Sanity, and Vercel. Closed 18+ optimization PRs against a September baseline audit. Removed unused WebGL/GLSL bundling, moved GSAP and Google Maps off the global bundle, and converted decorative assets to WebP. Replaced an ad-hoc 39-line lazy-loader with NuxtImg/Sanity provider integration site-wide across ~20 components in a single 66-file PR, restoring responsive sizes, WebP auto-format, and below-fold lazy loading. Split homepage and slug-page GROQ queries into above-the-fold critical and below-the-fold lazy buckets across 9 commits, shrinking the blocking payload that gated LCP on every CMS-driven page. Restructured the full Aeonik Pro font family into a subsetted woff+woff2 layout, added Anaheim with Latin, Latin-Ext, and Vietnamese subsets, and preloaded above-the-fold weights from the Sanity CDN. Configured Vercel edge caching for videos, PDFs, images, fonts, and captions with 7 to 30 day TTLs. Diagnosed and shipped a 4-commit Core Web Vitals fix (prerender/ISR conflict, browser cache headers, animation threshold, asset caching) that moved all 10 indexed URLs in Google Search Console from 'Needs improvement' to 'Good' within 48 hours.
Nuxt.js
Vue
Sanity
GROQ
TypeScript
Vercel
ISR
Core Web Vitals
+9 more
Web Performance
WebGL
GSAP
WebP
Lazy Loading
Font Subsetting
Edge Caching
CDN
Google Search Console
Sanity-to-Vercel ISR Revalidation Webhook
Corporate Project
Built an HMAC-verified Sanity webhook to Vercel ISR revalidation route on a Nuxt 4 marketing site. Replaced time-based revalidation with on-demand invalidation, cutting content publish-to-live propagation from up to 60 minutes down to 2-3 minutes and saving an estimated $40/month in ISR write costs. Included signature verification and selective path invalidation driven by the Sanity document type and slug.
Sanity
Vercel
ISR
Webhooks
HMAC
Nuxt.js
TypeScript
Node.js
Production Support for an FDA-Regulated Pharma Marketing Site
Corporate Project
Ongoing 24/7 two-shift coverage rotation on a Nuxt 4 + Sanity + Vercel pharma marketing site under FDA-regulated content constraints. Sustained 100% production uptime since November 2025 and a Sentry performance score of 93 (7-day rolling) by January 2026. Diagnosed a 5-day silent GA4 tracking blackout (CSP blocking regional endpoints, missing nonce on inline gtag init), rebuilt CSP with wildcards, wired violations to Sentry, and added a Playwright check asserting window.gtag on every merge. Audited 1.66 TB of monthly Vercel egress and identified hardcoded MP4 patient videos as the dominant cost driver.
Nuxt.js
Sanity
Vercel
Sentry
Playwright
Content Security Policy
Google Analytics 4
Production Support
+2 more
Incident Response
On-Call
Maintenance Agents
Personal Project
Autonomous monitoring system for client websites. Scheduled agents built with Bun and Croner pull data from Sentry, Vercel, and Sanity, hand it to Claude for analysis via the Claude Code CLI (no API key, leveraging the Claude Pro/Max subscription), and post Telegram alerts when something needs attention. Agents are strictly read-only observers; any remediation is left to human approval. The suite covers Sentry triage, dependency hygiene, vulnerability scanning, security-header posture (CSP, HSTS, X-Frame-Options), broken-link patrol, asset-weight audit, Sanity housekeeping, and uptime monitoring. A Hono dashboard provides run history and status. Deployed on a Hetzner VPS managed with PM2.
Hub-and-spoke food-safety platform that hosts multiple consumer-facing tools (menu-decoder, dishscout, tinyplates) under a single Google OAuth + magic-link auth, shared Stripe billing, and a credit-based API gating model. Built as a Bun monorepo with Vertical Slice Architecture on the backend: Express 5 with per-feature modules, a static Astro + Vue (TanStack Query) frontend, an Expo React Native shell, and a shared package layer (@repo/api-types, @repo/db, @repo/config) that prevents the data layer from leaking into the contract layer. Ships with custom architecture audit scripts (VSA cross-slice violations, FCIS purity, code-entropy) that run as part of the build pipeline. PostgreSQL + Drizzle, Redis for sessions and rate limiting, deployed via PM2 on a shared Hetzner VPS.
Digital storefront for templates and downloadable products with both one-time purchases and a credit-based top-up model. Stripe-backed checkout for products and credit packs, subscription support, signed download URLs for owned products, and per-IP API rate limiting. Categorized product catalog (templates section and category index pages) and a blog with category routing for SEO. Built as a Bun monorepo: Express 5 backend with per-feature slices (auth, credits, downloads, owned-products, payments, rate-limit), static Astro + Vue frontend, PostgreSQL + Drizzle, Redis-backed sessions and rate limiting, PM2 on a Hetzner VPS.
Bun
Monorepo
Express
Astro
Vue
TypeScript
PostgreSQL
Drizzle ORM
+9 more
Redis
Stripe
E-commerce
Credits System
Subscriptions
Rate Limiting
Signed URLs
PM2
Hetzner
Shared Infrastructure Platform
Personal Project
Multi-tenant persistence layer that hosts every personal and client application on a single Hetzner VPS, keeping per-project hosting cost near zero. Postgres 18 and Redis 8 run in Docker with ports bound to 127.0.0.1 only; remote admin goes through SSH tunnels rather than exposed ports. A single provisioning script (create-app-db.sh) generates a per-app Postgres user, database, and random password and returns a ready-to-use DATABASE_URL; each app is assigned a distinct Redis DB index for isolation. Hard memory caps (1.5G Postgres, 512M Redis) prevent any one app from starving the others. Includes a documented disaster-recovery runbook (pg_dumpall + clean reinit + restore) and an in-place minor-version upgrade path. Powers Maintenance Agents, HelloSafelyFed, Shop Appforgelabs, and several other projects on the same machine.
Docker
Docker Compose
PostgreSQL
Redis
Multi-Tenancy
VPS Operations
Bash Scripting
SSH Tunneling
+5 more
Disaster Recovery
Linux
Hetzner
Cost Optimization
DevOps
Income Statement
Personal Project
Personal finance snapshot tool. A CLI command pulls balances from Mercury, Wise, Kraken, Interactive Brokers (Flex Query), and CoinGecko for crypto pricing, converts everything to EUR, and persists each snapshot in PostgreSQL via Drizzle. Accounts without automated fetchers (Santander, Degiro, and similar) fall back to an interactive terminal prompt during the snapshot run, so a single command captures a full picture across automated and manual sources. A Vue 3 frontend backed by a Hono API charts the time series. Each provider's quirky response shape is parsed and normalized through Zod schemas.
The Bulldozer Telegram bot is a multi-functional chatbot integrated with Telegram, OpenAI, Stripe, and Cloudflare. It handles user conversations, subscriptions, and invoicing. It supports conversation aware chat and images. It is deployed via Cloudflare Workers and connects to a SQLite database
Telegram Bot Development
TypeScript
Stripe Integration
OpenAI Integration
Serverless Architecture
SQLite
Webhooks
Cloudflare Workers
+6 more
JavaScript
API Development
Cloudflare D1 Database
Ngrok
Zod
DevOps
Improving Accessibility and Styles of a PHP Website
Corporate Project
This is a website to view and publish data samples related to scientific publications. As the front-end and accessibility developer, I performed accessibility audits, created GitHub issues, and fixed existing issues. I also updated the admin pages from legacy to modern styles and updated the style guide to include these updates. Finally, I revamped and improved the accessibility of a Vue widget used to upload large files.
HTML
CSS
Javascript
Accessibility
PHP
jQuery
Bootstrap
Travel Booking Websites Improvement
Corporate Project
Onboarded as a front-end developer, I championed major improvements in the Nuxt.js a codebase for travel website allowing package bookings. I targeted large, complex components and initiated a shift towards smaller, single-responsibility modules, vastly enhancing code clarity and maintenance. I corrected Vuex store misuses, transitioned actions to getters, and refactored while shipping features delivery timelines. I delivered features such as advanced web search filters and dynamic campaign pages, boosting user experience. I also filled gaps in end-to-end testing, solidifying the codebase against potential bugs. The engagement culminated in a handover to a new developer, leaving behind a substantially improved and streamlined codebase.
A cloud function deployed on AWS with the serverless framework intercepting webhooks from Trello. When a Trello card is moved to a specific list in the Trello board, the cloud function receives a webhook that triggers a zap from Zapier. This zap appends a value to a Google Sheets spreadsheet.
A website built in Next.js in static site generation mode, enabling loading times to speed up. The site is styled using Tailwind CSS and Storyblok CMS as a content editor, and it is deployed to Netlify.
React
Next.js
Tailwind CSS
Storyblok CMS
Netlify
Vue Admin Dashboard Maintenance
Corporate Project
Contribution to the migration of an admin dashboard from Backbone to Vue 2. Maintained the project for two years. The admin dashboard was a complex web app whose main two features were managing the landing page content where users could apply and managing the applicants themselves through multiple application stages.
Vue
Vuex
Vue Router
HTML
CSS
JavaScript
Content Editor Dashboard
Corporate Project
Contributed to creating a content editor dashboard powered by Vue 3 and Vite. The dashboard was used to create and edit new entries in the database and set them as "published." My main contribution was to develop the form to interact with those entries.
Vue
Vite
Tailwind CSS
JavaScript
HTML
CSS
Landing Page Editor
Corporate Project
A Nuxt component library built for Jobsrepublic was integrated with the Storyblok CMS so that content managers could create and edit new landing pages from scratch. Every component included team brainstorming with the content creators to cater to their needs, a development phase and accessibility, and performance and SEO audit to achieve a high lighthouse rank. Changes requested by the team were implemented often within the same day. Tailwind CSS was used for styling, and the UI design was adapted from that provided by the Tailwind UI template library. Each landing page was its own multipage site.
Nuxt.js
Vue
Tailwind CSS
Storyblok CMS
HTML
CSS
JavaScript
Multi-site Codebase Maintenance
Corporate Project
Maintained a multi-site codebase built with Nuxt.js. One of these sites was a big portal with a large traffic of up to 100,000 monthly visitors. Evolved the codebase, adding new pages, implementing design changes, improving accessibility, performance, and creating a more SEO-friendly URL structure with crawlable pagination and performance.
Nuxt.js
Vue
Bootstrap
Storyblok CMS
HTML
CSS
JavaScript
Conversion Tracker App
Corporate Project
A single-page application built for Jobsrepublic, with data visualization related to social media campaigns and landing pages, namely, KPIs of conversion funnels, plots of a magnitude versus time, and tabular data. The app was built from scratch to production-ready with Vue 2, Auth0 for authentication, multi-language, and E2E tests with the TestCafe testing library. The data was consumed from a REST API built by the back-end team. The layout used a customized Vue Bootstrap theme. At the start of the project, coding best practices were established and documented.
A progressive web application for mobile devices that helps with workouts at home. The app is a static single-page application developed with Vue 2 that behaves like a native mobile app. I designed and created the UI from scratch using Figma and Tailwind CSS.
Vue 2
Tailwind CSS
Figma
Vuex
Vue router
ESLint
PWA
UI Design
+3 more
Mobile Web Development
Frontend Development
ECMAScript (ES6)
Skills & Expertise
CSS5 years
JavaScript5 years
HTML55 years
Vue3 years
React2 years
Tailwind CSS4 years
Front-end Development5 years
Web Development5 years
Nuxt.js2 years
Next.js2 years
TypeScript2 years
Web Accessibility2 years
Storyblok2 years
Firebase1 year
Adobe Photoshop5 years
APIs5 years
ECMAScript (ES6)5 years
JavaScript Libraries5 years
Responsive Layout5 years
Responsive Web Design (RWD)5 years
Testing5 years
User Interface (UI)5 years
Agile Software Development3 years
API Integration3 years
Babel3 years
Bash3 years
CSS35 years
ESLint5 years
Flexbox5 years
Front-end5 years
Git5 years
GitHub5 years
GitLab3 years
HTML5 years
HTML DOM5 years
Jira3 years
JSON5 years
Linux5 years
Lodash3 years
NPM5 years
Remote Work4 years
REST APIs3 years
Scrum3 years
Slack5 years
Spreadsheets3 years
Ubuntu5 years
Ubuntu Linux5 years
UI Components5 years
UI Frameworks5 years
Visual Studio Code (VS Code)5 years
Vue 23 years
Vuex3 years
Web UX3 years
Webpack 43 years
Wireframe to Product3 years
Wireframing3 years
Amazon Elastic Container Service (Amazon ECS)2 years
Amazon Route 532 years
Amazon S3 (AWS S3)2 years
Auth02 years
Bootstrap4 years
Bootstrap 43 years
Bootstrap 31 year
Component Libraries2 years
Content Management Systems (CMS)2 years
Jest2 years
PostgreSQL2 years
SCSS3 years
Startups2 years
TestCafe2 years
UI Libraries2 years
UI Testing2 years
Zapier2 years
A11Y2 years
Accessibility2 years
Adobe After Effects1 year
Adobe Illustrator1 year
Amazon Web Services (AWS)1 year
AWS Certificate Manager1 year
AWS Lambda1 year
Blender1 year
CI/CD Pipelines1 year
Cloud Firestore1 year
Cloudflare1 year
Cloudflare Workers1 year
CSS Grid1 year
Data Visualization1 year
Docker1 year
Elastic Load Balancers1 year
Express.js1 year
Figma1 year
Firebase Authentication1 year
Firebase Hosting1 year
Full-stack1 year
GitLab CI/CD1 year
Google Apps Script1 year
JSX2 years
Mantine1 year
Netlify2 years
Node.js1 year
OAuth 21 year
Performance1 year
React Components2 years
React Hooks2 years
React Query1 year
React Redux1 year
React Testing Library1 year
Redis1 year
Redux1 year
RxJS1 year
Sanity Studio1 year
Sass1 year
Search Engine Optimization (SEO)1 year
Sentry1 year
Serverless1 year
Serverless Framework1 year
SSH1 year
Storybook1 year
TypeScript 22 years
TypeScript 32 years
UI Design1 year
UX Design1 year
Vite1 year
Vitest1 year
Vue 31 year
WCAG 22 years
Yarn1 year
Booking Systems
Chakra UI1 year
Firebase Cloud Functions
i18n
Less
Multilingual Websites
OpenAI API2 years
PHP
Playwright
Progressive Web Applications (PWA)2 years
Recharts
Selenium
Stripe API1 year
User Experience (UX)
Vercel2 years
Zustand1 year
Education
PhD in Quantum Chemistry
Ruhr University Bochum, Bochum, Germany | 2009-10 - 2014-02
Master's Degree in Quantum Chemistry
University of Barcelona, Barcelona, Spain | 2008-10 - 2009-09
Bachelor's Degree in Chemistry
University of Barcelona, Barcelona, Spain | 2003-10 - 2008-06
Certifications
Web Accessibility
Udacity | 2020 - Present
A11Y
Front-end
Accessibility
WCAG 2
Front-end Development
The Complete Junior to Senior Web Developer Roadmap