Skip to content
Menu
Portrait of Do Trong Khanh

Hello, folks! waving hand

Do Trong Khanh · Software Engineer at Spartan

Fullstack engineer with a passion for JavaScript/TypeScript. I write about NestJS, databases and the problems that show up when applications grow, to practise my skills and share what I learn.

I'm aliased as Karhdo at work.

Now playing

Token burn , Claude Code · ICT

tokens today

models –

– this month · – all-time

Latest post

How to Prevent Overbooking in SQL with Multiple Methods

In any application involving booking hotel rooms, flight seats, or similar resources, data integrity is crucial to ensure multiple users can’t “claim” the same slot concurrently.

5 min readdatabase

Daily stack, 14 tools

  • TypeScript
  • NestJS
  • React
  • Node.js
  • Next.js
  • Astro
  • PostgreSQL
  • Bun
  • Tailwind CSS
  • Drizzle
  • RabbitMQ
  • Docker
  • Vue.js
  • Redis

Now learning Astro & Bun by rebuilding this site

GitHub · @Karhdo

contributions
day streak
public repos

Blog stats · 30 days

Selected projects

All 8 projects →
loanbud.com
LoanBud home page: "The Better Way to SBA" over a bakery owner reviewing loan paperwork

WorkSpartan

LoanBud

Financing marketplace that helps small businesses secure SBA loans. Built the Hub-to-CRM sync on a transactional outbox, Meta Lead Ads ingestion, a segment builder and Twilio video meetings.

  • Kotlin
  • Spring Boot
  • PostgreSQL
  • React
  • AWS SQS
dealops.com
Dealops home page: "Your CPQ should grow your revenue. Now it does." with agent chat bubbles

WorkSpartan

Dealops

Agentic CPQ for complex pricing. Built the in-app AI chat assistant, admin pricing tools (catalog, tiered pricing, approval rules) and quoting features.

  • React
  • TypeScript
  • tRPC
  • Prisma
  • Turborepo
youneteci.com/eci-ecomheat
EcomHeat market overview dashboard: sold items, GMV and market share by brand

WorkYouNet Media

EcomHeat

The first e-commerce data intelligence platform in Vietnam. Brands track market share, monitor sales performance and optimise store operations with the most granular data available.

  • React
  • Bootstrap
  • FeathersJS
  • MySQL
  • RabbitMQ
karhdo.dev
The karhdo.dev blog home page

SideOpen source80 GitHub stars

karhdo.dev

This site. v2 moves from Next.js to Astro with Bun, Tailwind v4, Drizzle and view transitions.

  • Astro
  • Bun
  • Tailwind
  • Drizzle

Recent posts

  1. How to Prevent Overbooking in SQL with Multiple Methods

    In any application involving booking hotel rooms, flight seats, or similar resources, data integrity is crucial to ensure multiple users can’t “claim” the same slot concurrently.

    database
    5 min read
  2. Exploring module in NestJS

    Modules are crucial components at the center of NestJS. In this post, we will take a closer look at what modules are in NestJS.

    nestjstypescriptjavascriptdesign-patterns
    6 min read
  3. Problems when the application develops at medium and large levels

    From medium to large-scale applications, challenges like architecture maintenance and scalability hinder progress.

    applicationdesign-patterns
    2 min read

Popular tags feature the most widely favored topics.