Luis Martinez

Resume

Luis Martinez Suarez

Software Engineer | Typescript, React, Next.js

Citizenship Spain

luismartinezwebdev@gmail.com Thailand

About

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)

Preferred Environment

  • React
  • Typescript
  • Tailwind CSS
  • Next.js
  • Visual Studio Code (VS Code)

Work Experience

Frontend Developer

Senior Frontend Developer - Nuxt.js / Sanity Performance Specialist

  • 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.

Industries: Health & Nutrition Products

  • Nuxt.js
  • Vue
  • Sanity
  • Sanity Studio
  • GROQ
+24 more
  • TypeScript
  • JavaScript
  • Vercel
  • ISR
  • Core Web Vitals
  • Web Performance
  • Lighthouse
  • GSAP
  • WebGL
  • WebP
  • Lazy Loading
  • Font Subsetting
  • CDN
  • Edge Caching
  • HMAC
  • Webhooks
  • Sentry
  • Google Search Console
  • React
  • Frontend
  • Frontend Development
  • Content Management Systems (CMS)
  • Dynamic Websites
  • Remote Work

Accessibility Consultant

Accessibility Consultant - React / Typescript Specialist

  • 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.
  • Web Accessibility
  • WCAG 2
  • HTML
  • CSS
  • Less
+2 more
  • Bootstrap
  • PHP

Frontend Developer

Senior Frontend Developer - Vue / Nuxt.js Specialist

  • 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.
  • Vue
  • Nuxt.js
  • JavaScript
  • Frontend
  • CSS
+7 more
  • Travel
  • Booking Systems
  • User Interface (UI)
  • User Experience (UX)
  • TestCafe
  • APIs
  • Vuex

Frontend Developer

Frontend Developer - Vue / Nuxt.js Specialist

  • 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.
  • Nuxt.js
  • Vue
  • Tailwind CSS
  • Storyblok
  • CSS
+45 more
  • HTML
  • Visual Studio Code (VS Code)
  • Agile Software Development
  • Adobe Photoshop
  • PostgreSQL
  • ESLint
  • Git
  • GitLab CI/CD
  • HTML DOM
  • HTML5
  • CSS3
  • CSS Grid
  • NPM
  • Vuex
  • JSON
  • Babel
  • Bash
  • Vite
  • Lodash
  • Amazon S3 (AWS S3)
  • Amazon Elastic Container Service (Amazon ECS)
  • Amazon Route 53
  • Linux
  • Ubuntu Linux
  • Ubuntu
  • UI Frameworks
  • Web UX
  • Flexbox
  • Jira
  • Slack
  • Scrum
  • Remote Work
  • Frontend
  • Startups
  • UI Components
  • Content Management Systems (CMS)
  • UI Design
  • API Integration
  • Frontend Development
  • ECMAScript (ES6)
  • REST APIs
  • JavaScript Libraries
  • Responsive Layout
  • UI Libraries
  • APIs

Frontend Developer

Frontend Developer - Vue and Nuxt.js Specialist

  • 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.
  • Nuxt.js
  • Vue
  • Bootstrap
  • SCSS
  • Auth0
+56 more
  • Amazon Elastic Container Service (Amazon ECS)
  • Vue 2
  • Vuex
  • Figma
  • PostgreSQL
  • ESLint
  • Sass
  • Git
  • GitLab CI/CD
  • Jest
  • TestCafe
  • HTML DOM
  • HTML5
  • CSS3
  • Visual Studio Code (VS Code)
  • NPM
  • JSON
  • Babel
  • Bootstrap 4
  • Bash
  • Webpack 4
  • Lodash
  • Serverless
  • Google Apps Script
  • Linux
  • Ubuntu Linux
  • Ubuntu
  • UI Frameworks
  • Spreadsheets
  • Wireframing
  • Wireframe to Product
  • Web UX
  • Flexbox
  • Jira
  • Slack
  • Scrum
  • AWS Lambda
  • Serverless Framework
  • Zapier
  • Frontend
  • Startups
  • UI Components
  • UI Design
  • Data Visualization
  • API Integration
  • UI Testing
  • Frontend Development
  • ECMAScript (ES6)
  • Testing
  • UX Design
  • REST APIs
  • JavaScript Libraries
  • Responsive Layout
  • Component Libraries
  • UI Libraries
  • APIs

Projects

Vsevochart (Vampire Survivors Companion)

View website: Vsevochart (Vampire Survivors Companion)View repo: Vsevochart (Vampire Survivors Companion)

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.

  • React
  • Next.js
  • TypeScript
  • Tailwind CSS
  • Zustand
  • Radix UI
  • Fuse.js
  • Vitest
+2 more
  • CSS Sprites
  • Vercel

Elden Survivors

View website: Elden SurvivorsView repo: Elden Survivors

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.

  • React
  • TypeScript
  • Vite
  • HTML5 Canvas
  • Game Development
  • Custom Game Engine
  • Headless Simulation
  • Performance Optimization
+3 more
  • Tweakpane
  • Zod
  • Vercel

Rico Rico

View website: Rico RicoView repo: Rico Rico

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
  • TypeScript
  • Next.js
  • Tailwind CSS
  • Mantine
  • Storyblok CMS
  • Supabase
  • AI image generation
+1 more
  • Vercel

React Katas AI Maker

View website: React Katas AI MakerView repo: React Katas AI Maker

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.

  • React
  • Next.js
  • Tailwind CSS
  • TypeScript
  • Vercel
  • shadcn/ui
  • OpenAI API

Checklist App for Elden Ring

View website: Checklist App for Elden RingView repo: Checklist App for Elden Ring

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

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.

  • React
  • TypeScript
  • JavaScript
  • Accessibility
  • WCAG 2
  • HTML5
  • CSS
  • Sass
+1 more
  • RxJS

Habits App

View website: Habits App

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.

  • React
  • TypeScript
  • Firebase
  • Mantine
  • Redux Toolkit
  • Tailwind CSS
  • Vite
  • ESLint
+1 more
  • plop

Weather Wardrobe Wizard

View website: Weather Wardrobe WizardView repo: Weather Wardrobe Wizard

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

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

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

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

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.

  • Bun
  • Hono
  • TypeScript
  • PostgreSQL
  • Claude Code CLI
  • AI Agents
  • Cron Scheduling
  • Sentry
+7 more
  • Vercel API
  • Sanity
  • Telegram Bot API
  • PM2
  • Hetzner
  • Observability
  • Zod

HelloSafelyFed

View website: HelloSafelyFed

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.

  • Bun
  • Monorepo
  • Express
  • Astro
  • Vue
  • TanStack Query
  • TypeScript
  • Vertical Slice Architecture
+11 more
  • PostgreSQL
  • Drizzle ORM
  • Redis
  • Stripe
  • RevenueCat
  • Google OAuth
  • Magic Link Auth
  • React Native
  • Expo
  • PM2
  • Architecture Audits

Shop Appforgelabs

View website: Shop Appforgelabs

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

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 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.

  • Bun
  • Hono
  • TypeScript
  • Vue
  • PostgreSQL
  • Drizzle ORM
  • Tailwind CSS
  • Vite
+4 more
  • Zod
  • Financial APIs
  • Crypto
  • CLI Development

Telegram AI Bot Project Bulldozer

View website: Telegram AI Bot Project Bulldozer

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

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

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.

  • Vue
  • Nuxt.js
  • Vuex

Trello Scope Tracker

View repo: Trello Scope Tracker

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.

  • Serverless
  • Javascript
  • Node.js
  • Google Sheets

My Personal Website

View website: My Personal WebsiteView repo: My Personal Website

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

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

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

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

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

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.

  • Vue
  • Bootstrap
  • Auth0
  • JavaScript
  • HTML
  • CSS
  • i18n
  • TestCafe
+1 more
  • E2E Testing

AthleanX Home Workout App

View website: AthleanX Home Workout AppView repo: AthleanX Home Workout App

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

Master's Degree in Quantum Chemistry

Bachelor's Degree in Chemistry

Certifications

Web Accessibility

  • A11Y
  • Front-end
  • Accessibility
  • WCAG 2
  • Front-end Development

The Complete Junior to Senior Web Developer Roadmap

  • React
  • Redux
  • TypeScript
  • Docker
  • Redis
  • Amazon Web Services (AWS)
  • CI/CD Pipelines
  • SSH
  • Performance
  • Front-end
  • Front-end Development
  • JavaScript Libraries

Frontend Development Libraries

  • React
  • Redux
  • JavaScript
  • Front-end
  • Front-end Development
  • JavaScript Libraries

JavaScript Algorithms and Data Structures

  • JavaScript
  • Front-end
  • Front-end Development
  • ECMAScript (ES6)ECMAScript (ES6)

Responsive Web Design

  • HTML
  • CSS
  • Bootstrap
  • Flexbox
  • Front-end
  • Front-end Development
  • User Interface (UI)
  • Responsive Layout