PAVEE.dev
Hi! I'm Pavee Udomkarnpaisarn.

A Professional
Front-end Engineer
And an Officially
Certified Vue.js Developer

Who Am I?

Hi, I'm Pavee Udomkarnpaisarn from Thailand. I'm a front-end developer with over 8 years of development experience (and counting!). I'm specialized in Vue.js application development.

I also dabble in other front-end frameworks such as Astro and Svelte (this site was built with SvelteKit!) and have an interest in back-end development and is always open to learning new technologies.

See my work experience on Linkedin

Skills

Frontend

Vue.js/Nuxt.js
  • Certified Vue.js Developer
  • Nuxt.js
  • Composition API, Option API
  • Pinia, Vuex
  • Vue Router
HTML/CSS/JavaScript
  • HTML5
  • CSS, SASS/SCSS, TailwindCSS
  • Responsive Design
JavaScript
  • JavaScript, TypeScript
  • JSON
  • RESTful API Consumption
Testing Libraries
  • Jest
  • Vitest
Other Frameworks
  • Svelte/SvelteKit
  • Astro

Backend

Node.js
  • Express.js
  • Webpack, Vite
  • NPM, Yarn, PNPM
Python
  • Data Science
  • Data Visualization
  • Machine Learning
Cloud Services
  • Cloudflare: Pages, Workers, R2, D1
  • Firebase
  • Supabase
  • Google Cloud
Database
  • MySQL
  • PosgreSQL
  • SQLite

Others

Collaboration Tools
  • Figma
  • Slack, Discord
  • Zoom
Version Control
  • Git
  • Github, Gitlab, Bitbucket
Other Skills
  • Agile Development Environment

Certifications

Certified Vue.js Developer

One of the first people to become an officially certified Vue.js developer through a series of proctored exams crafted by Vue.js experts and reviewed and signed by Evan You, the creator of Vue.js.

View the proof of certification

Showcase

Nuxt.js Headless CMS

A full-stack headless CMS built from the ground up with Nuxt.js without using any UI libraries. It provides blog post data for this very site. It's got fully working CRUD operations for posts and categories. The data is stored on the edge using Turso SQLite database.

  • Framework: Vue.js (Nuxt.js)
    • Composition API
    • Pinia
    • Vee-Validate
  • Styling: SASS/SCSS, TailwindCSS
  • Authentication: Firebase
  • Database: Turso SQLite (with Drizzle ORM)
  • Hosting: Cloudflare Pages
  • Others:
    • Frontsource - a self-hosted Google Fonts library
    • Marked - turns Markdown into HTML
    • DOMPurify - sanitizes DOM elements
Vue.jsNuxt.jsComposition APITypeScriptTailwindCSSSASS/SCSSPiniaVee-ValidateFirebaseCloudflare PagesTurso (SQLite)
Nuxt.js Headless CMSNuxt.js Headless CMS

Vue.js Music Player

A Vue.js application that lets you create your account, upload songs onto it, and share them with other users. The app uses Firebase as the main back-end service for dealing with user authentication, file storage, and data.

  • Framework: Vue.js
    • Options API
    • Vue Router
    • Pinia
    • Vee-Validate
  • Styling: SASS/SCSS, TailwindCSS, Google Fonts
  • Authentication: Firebase Authentication
  • Database: Firebase Firestore
  • Data storage: Firebase Storage
  • Hosting: Netlify
  • Unit testing: Vitest
Vue.jsOptions APITypeScriptTailwindCSSSASS/SCSSPiniaVee-ValidateHowlerVitestFirebaseNetlify
Vue.js Music PlayerVue.js Music Player

Pavee.dev Fully Responsive Site

A fully responsive static website. This is the front-end part of the headless CMS above. This is the very site you're currently looking at. It is built with SvelteKit. It consumes APIs provided by the CMS and renders everything as a static page with SvelteKit's Static Site Generation plugin.

  • Framework: SvelteKit
    • Static Site Generation (SSG) mode
  • Styling: SASS/SCSS, TailwindCSS
  • API: from the headless CMS above
  • Hosting: Cloudflare Pages
  • Others:
    • Frontsource - a self-hosted Google Fonts library
    • date-fns - for formatting date and time
    • Marked - turns Markdown into HTML
    • DOMPurify - sanitizes DOM elements
    • highlight.js - for code block syntax highlighting

This site is hosted on Cloudflare Pages for free forever as serving static content doesn't incur any cost.

Svelte/SvelteKitTypeScriptTailwindCSSSASS/SCSSStatic Site Generation (SSG)Cloudflare Pages
Pavee.dev Fully Responsive SitePavee.dev Fully Responsive Site

Contact

For inquiries regarding work, or anything, really, you can send me an email or contact me through my social media accounts. I'm open to discuss about anything. And also, if you're looking to recruit me, I'm also open to the idea of moving abroad for work!