Recently Projects
Binder - Learning Management System (IITECH)
Binder - Learning Management System (IITECH)
Binder is a large-scale Learning Management System. I lead the frontend, driving the migration from a monolithic ReactJS application toward a Micro Frontend architecture backed by a shared Design System, so independently-built modules stay consistent as the product grows.
Role: Senior Frontend Developer / Frontend Lead
Responsibility:
- - Architected and implemented the Micro Frontend architecture, migrating the existing ReactJS application toward a modular, independently maintainable structure.
- - Built a scalable Design System and Design Token architecture on top of Untitled UI, providing reusable components and consistent UI patterns across the LMS.
- - Designed and developed a Dynamic Form Builder with drag-and-drop, letting users configure form fields and layouts to their own business requirements.
- - Implemented form version management so users can maintain and manage different versions of configurable forms.
- - Integrated both GraphQL and REST APIs for communication between frontend modules and backend services.
- - Integrated E2E testing and self-test workflows, letting developers run test cases and automatically upload test evidence for QC verification.
- - Led frontend performance optimization, architecture improvements, and resolution of complex production issues.
ReactJS
Typescript
Zustand
Micro Frontend
GraphQL
REST API
Untitled UI
Material UI
Tailwind CSS
E2E Testing
SaaS Gamification Marketing Platform (Freelance)
SaaS Gamification Marketing Platform (Freelance)
A multi-tenant SaaS platform for marketing campaign games, supporting 1,000+ concurrent users and 60,000+ participants per campaign. Its centrepiece is a no-code Game Builder that lets non-technical clients customize and deploy marketing games without touching a line of code.
Role: Fullstack Developer / Team Lead
Responsibility:
- - Led a fullstack team to architect a platform sustaining 1,000+ concurrent users and 60,000+ participants per campaign.
- - Designed a Monorepo architecture that streamlined code sharing between the admin dashboard, multiple game modules, and backend services.
- - Developed a "no-code" Game Builder with dynamic forms, letting non-technical clients customize UIs and deploy marketing games instantly.
- - Engineered high-performance NestJS backend services handling real-time analytics, user tracking, and automated prize distribution.
NestJS
Nuxt 3
Typescript
Monorepo (Nx/Turbo)
Zustand
PostgreSQL

Bitruth (PayV)
Bitruth is a cryptocurrency exchange mobile application developed with React Native. The app enables users to trade digital assets such as Bitcoin (BTC), USDT, and more. It features real-time price charts, order placement (buy/sell), order book management, trading history, and personal asset management, providing a seamless and secure trading experience on mobile devices.
Role: React Native Developer
Responsibility:
- - Developed and optimized user interfaces for the mobile app based on design specifications.
- - Implemented core trading features: order placement, order book display, real-time price charts, and transaction history.
- - Handled real-time data updates using sockets to ensure up-to-date prices and order statuses.
- - Launched the app on the App Store with full feature parity against the web platform.
- - Resolved critical performance bottlenecks in real-time Socket processing, eliminating the memory leaks (RAM overflow) that were destabilising peak trading hours.
- - Built complex Futures and Options trading modules, holding high precision in financial calculation and display.
- - Integrated APIs and ensured stable, secure data flow throughout the application.
- - Collaborated with backend and QA teams to deliver a high-quality user experience.
React Native
Redux Saga
Typescript
Socket
Git

Bitruth Game Trading
Bitruth Game Trading is a web-based gaming platform that offers users 1000 daily points to participate in cryptocurrency-themed games, including Options, Futures, and High-Low. Players can achieve milestones to withdraw USDT rewards. The platform includes additional features such as daily tasks, check-in rewards, and more, delivering an engaging and interactive gaming experience.
Role: Frontend Developer
Responsibility:
- - Developed and optimized user interfaces for the gaming platform based on design specifications.
- - Integrated APIs to enable seamless data flow for game functionalities, user tasks, and check-in features.
- - Implemented interactive charts for real-time cryptocurrency game data visualization.
- - Handled game logic for Options, Futures, and High-Low, ensuring smooth and accurate gameplay.
- - Collaborated with backend and QA teams to deliver a high-quality, user-friendly gaming experience.
React
JavaScript
HTML
CSS
API Integration
Charting Libraries

Dikex (PayV)
This website is a cryptocurrency exchange platform that allows users to trade digital assets like Bitcoin (BTC) and USDT. It provides features such as market orders, limit orders, order books, price charts, and trading history to facilitate buying and selling cryptocurrencies.
Role: Front End Developer
Responsibility:
- - Developing the UI for charts and implementing interfaces based on design specifications.
- - Handling real-time chart updates and customizing chart functionalities to enhance user experience.
- - Ensuring seamless data visualization and integrating market trends into the trading platform.
- - Integrating APIs and implementing platform features to enhance functionality.
Typescript
VueJs
Socket
VueUse
Vuex
Git
Scss

Best Trader (PayV)
The "Best Traders" website provides analytical insights into the modern investment market, particularly cryptocurrency. Users can track investment trends, rank top traders on major exchanges, and enhance their portfolios with detailed analytics.
Role: Front End Developer
Responsibility:
- - Developing UI components and animations based on design specifications.
- - Integrating APIs and implementing platform features to enhance functionality.
- - Utilizing caching with SWR to optimize performance and improve data fetching efficiency.
Typescript
ReactJs
Zustand
Styled-components
React SWR
Apexcharts
Vite
Nginx
Linux
Git

On Hand BI (OnHandBI)
OHBI centralizes your Power BI reports and ensures security when sharing with personal, business teams, and even your external partners
Role: Fullstack Developer
Responsibility:
- - Integrate and Use PowerBI-Embed
- - User-Customized Report Permissions: Built features to allow users to customize report permissions based on their perspectives and needs
- - App Report: Created an App Report system, a collection of multiple reports and user views, to streamline report management.
- - Scheduling Reports: Developed a scheduling feature to automatically send reports via email and Zalo on a daily basis.
- - Report Load Optimization with Next.js: Optimized report loading speed using Next.js to improve performance and user experience.
- - Migrated the system from ReactJS to NextJS to enhance performance and maintainability.
- - Managed the team, reviewed code before merging to ensure code quality and best practices.
Typescript
ReactJS
NextJS
Tailwindcss
CoreUI
Python
PowerBI Embed
Keycloak
Git

Vieon - GameON Đón Tết (Woay)
A minigame launched during the Tet holiday to increase engagement, achieving over 130k players with a 59% game participation rate.
Role: Front End Developer
Responsibility:
- - Built user interfaces based on Figma designs using VueJS, Element Plus, and Ionic
- - Developed features such as answering questions, completing tasks, sharing gifts, leaderboards, gift history, and collected pieces
- - Implemented game effects.
- - Addressed feedback from QC and customers.
Typescript
VueJs
Pinia
Element Plus
Git

Vietjet Skyjoi Loyalty Program
A spin-the-wheel minigame for loyal customers.
Role: Front End Developer
Responsibility:
- - Built user interfaces based on Figma designs using VueJS, Element Plus, and Ionic
- - Addressed feedback from QC and customers.
Typescript
VueJs
Pinia
Element Plus
Git

Miniproduct (Woay)
An AirConsole-inspired real-time multiplayer platform built from scratch, turning phones into controllers for a shared main screen. Deployed at large offline events, handling hundreds of simultaneous players with zero perceptible latency.
Role: Fullstack Developer
Responsibility:
- - Built user interfaces based on Figma designs using VueJS and Element Plus.
- - Developed the backend with Colyseus and ExpressJS.
- - Created three screens: presentation screen, control screen, and player screen.
- - Implemented all game features such as player QR code scanning, room locking, prize selection, spinning, and winning limits.
- - Built the portal.
Typescript
VueJs
Tailwindcss
Colyseus
Docker
Pinia
Git.