portfolio · linkedin · email · projects
Now — Frontend Developer (SAPUI5 / TypeScript) on a Master Data Governance platform: a Partner Portal for supplier self-service and approval workflows. (12/2024 – present)
Before — Frontend Developer (Vue.js / TypeScript) on an HR SaaS covering organization, timekeeping, payroll and recruitment. (02/2022 – 05/2024)
Earlier — Responsive, mobile-first websites and e-commerce pages from design mockups, including projects for Japanese clients; mentored 3 junior developers. (2014 – 2020)
- Architected a shared OData service layer in TypeScript — new SAPUI5 pages plug in instead of re-implementing API calls
- Built a reusable Vue.js component library shared across HR, timekeeping, payroll and recruitment modules
- Proposed and led an incremental JavaScript → TypeScript migration; contributed to the Vue 2 → 3 upgrade
- Made data-heavy tables smooth with virtual scrolling, lazy loading and code splitting
- Ramped up on SAPUI5 in one week, then onboarded new developers; code reviews as the FE team grew 3 → 8
SAPUI5 / OData service layers · Vue 2 → 3 and JS → TS migrations · Rendering large data tables
React (Hooks, functional components) · AI-assisted development (Claude, ChatGPT)
| Area | Stack |
|---|---|
| Languages | |
| Vue ecosystem | |
| SAP | |
| Testing & Quality | |
| Backend (personal) | |
| Tools & Workflow | |
| AI-assisted | |
| Familiar with |
Practices: Component-driven development · Service layer pattern · SOLID · RESTful API integration · Refactoring legacy code · i18n · Responsive design
Performance: Code splitting · Lazy loading · Virtual scrolling · Memory / lifecycle cleanup
| Project | Description |
|---|---|
| datvt243.github.io | Personal portfolio & blog — Nuxt 3 (SSR/ISR), Vue 3, TypeScript, Pinia |
| resume-vuejs-website | Resume/CV management app — Vue 3 + Vite + TypeScript, backed by the API below |
| resume-nodejs-api | Resume REST API — Node.js, Express, TypeScript, JWT, Redis rate limiting, Jest |




