# DulapahV Portfolio > This document provides an overview of DulapahV's portfolio, including skills, open source contributions, and detailed listings of blog posts, projects, and work experiences. ## Sitemaps - [sitemap.xml](https://dulapahv.dev/sitemap.xml): XML sitemap for search engines - [llms.txt](https://dulapahv.dev/llms.txt): Lightweight portfolio summary for language models - [llms-full.txt](https://dulapahv.dev/llms-full.txt): Detailed portfolio summary for language models ## Skills - TypeScript - JavaScript - Python - C - C++ - Java - Bash - PostgreSQL - MongoDB - SQLite - MySQL - Snowflake - Next.js - React.js - Tailwind CSS - shadcn/ui - Radix UI - HeroUI - daisyUI - MUI - Express.js - Prisma - WebSocket - Electron.js - Qt - GitHub Actions - GitLab CI/CD - Playwright - Jest - Sentry - Turborepo - Vercel - Cloudflare - Docker - Supabase - GCP - Nginx - Firebase ## Open Source Contributions - Total contributions: 4 (2 merged, 2 open, 0 closed) - Recent contributions: - [fix: include width param in Cloudflare image loader to resolve Next.js warnings](https://github.com/opennextjs/docs/pull/190) - opennextjs/docs (MERGED) - [fix: include width param in Next.js Cloudflare Image loader examples to resolve warnings](https://github.com/cloudflare/cloudflare-docs/pull/26391) - cloudflare/cloudflare-docs (OPEN) - [refactor(components): use canonical Tailwind class syntax](https://github.com/shadcn/ui/pull/8742) - shadcn-ui/ui (OPEN) ## Main Pages - [Home](https://dulapahv.dev): Portfolio homepage - [Contact](https://dulapahv.dev/contact): Get in touch ## Blog - [Blog](https://dulapahv.dev/blog): My thoughts, ideas, and experiences. - [Display Different Images for Dark/Light Mode Without FOUC in Next.js](https://dulapahv.dev/blog/display-different-images-dark-light-mode-nextjs): Learn how to display different images for dark and light themes without flash of unstyled content or client-side rendering. - [How I Became a Software Engineer (Even Though I Wanted to Be a Heart Surgeon)](https://dulapahv.dev/blog/how-i-became-a-software-engineer): A personal journey from chasing medicine to discovering a love for code. - [How to Use Variables in JSDoc with vite-plugin-dts](https://dulapahv.dev/blog/how-to-use-variables-in-jsdoc-with-vite-plugin-dts): Learn how to incorporate variables into your JSDoc comments using vite-plugin-dts for more maintainable and consistent documentation. - [Improve Captcha User Experience with Invisible CAPTCHA by Vercel BotID](https://dulapahv.dev/blog/improve-user-experience-with-invisibile-captcha): Protect your site from bots without frustrating users. Learn how to implementing Vercel BotID's invisible CAPTCHA in Next.js. - [Structural and Contextual Styling with Tailwind CSS Arbitrary Variants](https://dulapahv.dev/blog/tailwind-css-arbitrary-variants-guide): Go beyond utility classes and learn how to target children, style elements by parent context, and handle complex structures—without custom CSS or JavaScript. ## Project - [Project](https://dulapahv.dev/project): Professional and personal projects I have worked on. - [AceMath](https://dulapahv.dev/project/acemath): Online speed mathematics game. Solve math problems as fast as you can while also competing with other people around the world! - [CalcLab](https://dulapahv.dev/project/calclab): All-encompassing application combines a scientific calculator with graph plotting capabilities, a date comparator, a real-time currency converter, and 12 more converter tools, offering efficient mathematical calculations and conversions. - [CodeX - Code Collaboration Platform for the Web](https://dulapahv.dev/project/codex): Online code collaboration platform featuring real-time coding, cursor sharing, live UI preview, and video chat with integrated Git support—no sign-up required. - [Issho - Plan with friends, faster](https://dulapahv.dev/project/issho): Building a real-time collaborative calendar app that eliminates the back-and-forth of scheduling meetups - [Kanbaru](https://dulapahv.dev/project/kanbaru): Kanban-style project management application provides customizable task organization with visual intuitiveness, date and time options, and detailed descriptions. Users can refine project planning and management with ease. - [LaTeXly](https://dulapahv.dev/project/latexly): Open-source online LaTeX equation editor with live preview, syntax highlighting, symbol search, and export options. Currently expanding features, including a matrices builder and theme customization. - [Matrix-Arithmetic](https://dulapahv.dev/project/matrix-arithmetic): Feature-packed matrix arithmetic program that operates within the terminal. This tool encompasses addition, subtraction, multiplication, scalar multiplication, exponentiation, determinant computation, transposition, inversion, and adjoint matrix operations. - [Map File Preparation Application (MFPA)](https://dulapahv.dev/project/mfpa): Web application to identify files with geographic content that intersect or are contained within an area defined by the user, developed for defense systems company Thales UK. - [MyStudyPlan](https://dulapahv.dev/project/mystudyplan): Comprehensive academic tracking application offers a centralized dashboard for efficient viewing of class assignments, tasks, and exams. Users can access a calendar view option, streamlining academic planning and management. - [Nekoparaiten](https://dulapahv.dev/project/nekoparaiten): April Fool's Day online speed-clicking game written in Python. Click as fast as possible while also competing with other people around the world! Nekoparaiten is an anime Neko romance simulation mobile game originally created by Sayori (NEKO WORKs) and developed by Yostar Games. ## Work - [Work](https://dulapahv.dev/work): Companies and clients I've worked with. - [Full-Stack Developer Intern at Geo-Informatics and Space Technology Development Agency (GISTDA)](https://dulapahv.dev/work/gistda-full-stack-developer-intern): Bangkok, Thailand - [Front-End Developer at King Mongkut's Institute of Technology Ladkrabang (KMITL)](https://dulapahv.dev/work/kmitl-frontend-developer): Bangkok, Thailand - [Teaching Assistant (C/C++) at King Mongkut's Institute of Technology Ladkrabang (KMITL)](https://dulapahv.dev/work/kmitl-teaching-assistant-c-cpp): Bangkok, Thailand - [Teaching Assistant (Rust) at King Mongkut's Institute of Technology Ladkrabang (KMITL)](https://dulapahv.dev/work/kmitl-teaching-assistant-rust): Bangkok, Thailand - [Graduate Software Engineer at NatWest Group](https://dulapahv.dev/work/natwest-group-software-engineer-graduate): Edinburgh, United Kingdom - [Software Engineer Intern at NatWest Group](https://dulapahv.dev/work/natwest-group-software-engineer-intern): Edinburgh, United Kingdom