Tai VONG
Discuss a project
Career Projects Services Writing About Discuss a project

Everything I’ve built, and who it helped

For years, I’ve been building things — inside companies, in the open, and on the side. Most of it was never going to make money. I built it because the problem was interesting, because nobody else had fixed it yet, or because I wanted to understand something well enough to write it down.

25M+ users
Be's super-app, whose internal platform team I led
300K+ students
Geniebook, as technical lead
10K+ orders a day
Gearment, on the Go services I architected
20+ engineers
the department I run today

Ownership is labelled on every entry: a patch to someone else’s project is never listed as mine, and client work appears only as sanitized principles and outcomes.

Discuss a project

Browse the archive

Flagship work

6 entries

The engagements and projects that best show how I help a team, a product, or another developer get somewhere they were stuck.

  • Source on GitHub

    grpcx

    2026

    Own project Active

    An open-source Go framework, actively maintained, that wires those concerns in once and exposes them the same way across gRPC and REST.

    • Go
    • gRPC
    • REST
    • Protobuf
    • Observability
    View repository (opens in a new tab)

    Every new service re-implemented the same plumbing — server lifecycle, structured errors, i18n, auth, observability — slightly differently, so how reliable a service was depended on who happened to write it. Backend teams standing up new gRPC and REST services. A team can start a service with the reliability primitives already in place, instead of bolting them on after the first production incident.

  • Yuzu Money

    2025

    Work project Velocity Labs Active

    Technical Lead on Yuzu — the services behind accounts, balances, and yield tracking, backed by institutional-grade risk management on tokenized real-world assets.

    Yuzu Money

    Yield products are usually only legible to people who already understand the mechanics underneath them, which puts them out of reach for everyone else. People who want savings to earn yield without learning how the underlying protocols work. Saving and earning are presented as ordinary money movement rather than as protocol operations the user has to reason about.

  • Perp CEX

    2025

    Work project Velocity Labs Active

    The backend for a perpetual futures exchange (perp CEX), built for an overseas client.

    Perp CEX

    A perpetual futures venue needs a matching engine, margin and liquidation logic, and market data infrastructure that hold up under real trading volume, not just a demo. Traders on a perpetual futures exchange, for an overseas client. The client got a trading venue built to run reliably under real trading volume rather than a prototype.

  • Gearment Platform

    2023

    Work project Gearment Active

    Led the architectural move from the legacy monolith to Go microservices, and built the shared framework, tooling, and cloud infrastructure other teams build on.

    • Go
    • Kubernetes
    • AWS
    • Prometheus
    • OpenTelemetry
    Visit Gearment (opens in a new tab)

    Every team solved the same service-lifecycle, observability, and deployment problems on its own, and the legacy PHP monolith was becoming a bottleneck. Gearment's engineering teams building services on top of shared infrastructure. New services start from the same reliable foundation instead of everyone re-solving lifecycle, deployment, and observability concerns from scratch.

  • High-performance multi-face tracking system

    2020

    Co-authored IJACSA Published

    Co-authored a framework combining detection-tracking with tracklet-to-tracklet association, running semi-online so it trades a short delay for a decision it can stand behind.

    • Computer vision
    • Machine learning
    • Research
    Read the paper (opens in a new tab)

    Occlusion and missed detections fragment identities, so a single person's trajectory breaks into several unrelated tracks. Computer vision researchers and engineers building multi-face tracking on video. Published in IJACSA as a peer-reviewed system that runs at real-time speed with a two-second decision delay, giving other teams a reproducible approach to the fragmentation problem.

  • Source on GitHub

    Vietnamese analysis for Elasticsearch

    2020

    Contribution to another project Complete

    Contributed a merged upgrade bringing the plugin to Elasticsearch 7.5.1, plus a separate follow-up proposal for lowercase tokenization that was closed without merge. The project belongs to its maintainer — these were patches to their work.

    Upstream duydo/elasticsearch-analysis-vietnamese 563

    The community Vietnamese analyzer had fallen behind Elasticsearch releases, so upgrading the cluster meant losing Vietnamese tokenization. Teams running Vietnamese-language search on Elasticsearch, and the maintainer of the analyzer plugin they depend on. Vietnamese-language search users could move to the then-current Elasticsearch 7.5.1 release without giving up the analyzer they depended on.

Current & recent

3 entries

Work from the last two years that is live or still moving.

  • The Quorum

    2026

    Personal side project Active

    A personal technical blog under the Chí Tài byline — concise, experience-led notes on systems, Go, databases, and AI. Built on a private-source Astro platform with a repeatable research, drafting, SEO, review, and editorial workflow.

    The Quorum
    • Astro
    • MDX
    • TypeScript
    • Vercel
    • Technical writing
    Read The Quorum (opens in a new tab)

    Useful production lessons often stay in private notes, while public technical writing gets flattened into generic tutorials that omit the trade-offs. Vietnamese developers who want practical engineering notes without tutorial filler or sponsored content. Readers get production lessons without the tutorial filler, and every article passes through the same evidence and editorial gates before it publishes.

  • TrendyPod

    2026

    Personal side project Active

    Built a private-source research dashboard and staged pipeline that collects research sessions, cross-checks niche signals, and records GO/no-go decisions in one operational workspace.

    TrendyPod
    • Python
    • AI research workflow
    • Data pipelines
    • Vercel

    No public link

    Private research workspace — no public access

    Trend discovery, competitor evidence, buyer context, and niche decisions lived in separate tools, making it hard to tell which idea had enough evidence to pursue. Ecommerce operators researching product niches across fragmented demand and marketplace signals. A niche can move from a loose trend signal to a reviewable research record instead of relying on screenshots, memory, or one marketplace metric.

  • POD Supplier Benchmark

    2026

    Personal side project Active

    A private indexing and benchmark workspace that normalizes supplier catalog data into a consistent comparison model behind an authenticated interface.

    • Data indexing
    • Benchmarking
    • Web application

    No public link

    Private operational tool — no public access

    Supplier catalogs, variants, prices, and fulfillment coverage are published in incompatible formats, so comparisons become manual and quickly go stale. Ecommerce operators comparing print-on-demand suppliers and product catalogs. Supplier selection can be reviewed from one structured dataset rather than rebuilt from separate catalog pages and spreadsheets for every product idea.

Product & platform engineering

15 entries

Products and platforms built full-time at an employer or agency. Named directly, but never with customer data or private source shown.

Velocity Labs

5 projects 2021–2025

velocity-labs.tech
  • BTSE Invoice

    2025

    Work project Velocity Labs Active

    Back-office tooling and data pipelines for BTSE, a global crypto exchange.

    Internal tooling, no public UI

    Back-office reconciliation and invoicing needed to keep pace with the transaction volume of a global crypto exchange. BTSE's internal finance and operations teams reconciling exchange activity. Finance operations run on automated data pipelines instead of manual reconciliation.

  • My Collectible

    2025

    Work project Velocity Labs Active

    The backend for a consumer-facing digital collectibles marketplace and trading platform.

    My Collectible

    Digital collectibles needed a consumer-facing marketplace that felt like ordinary trading, not a blockchain tool. Collectors trading digital collectibles. Collectors browse, trade, and track collectibles through an ordinary marketplace experience.

  • Predictive Caller

    2025

    Work project Velocity Labs Active

    An outbound telesales portal integrated with SIP trunk providers — predictive and batch dialing, call routing, and agent management.

    Predictive Caller

    Manual dialing wastes agent time, and teams needed batch dialing, routing, and agent management integrated with their SIP trunk providers. High-volume outbound telesales teams. Sales teams place calls at volume through automated dialing instead of manual outbound calling.

  • Novaland Loyalty App

    2024

    Work project Velocity Labs Retired

    Points accrual, redemption, and membership state for the loyalty and rewards platform of Novaland, one of Vietnam's largest real estate groups.

    Novaland Loyalty App

    Membership benefits were hard to see, so customers had little reason to track points they could not easily check. Novaland customers collecting and redeeming loyalty rewards. Customers could see their standing and redeem rewards from the app rather than asking staff.

  • Pokerage

    2021

    Work project Velocity Labs Retired

    Real-time multiplayer poker for client F6 Galaxy — matchmaking, tournaments, and practice bots.

    Pokerage

    Real-time multiplayer card play needs consistent state across every table seat, and practice needs opponents available at any hour. Casual poker players who wanted real-time multiplayer games and practice opponents. Players could join a live table or practise against bots without waiting for a full table of people.

Gearment

2 projects 2024

gearment.com
  • Gearment Seller Portal

    2024

    Work project Gearment Active

    Technical lead for the seller-facing portal — order tracking, product management, and fulfillment visibility on top of Gearment's Go/gRPC services.

    • Go
    • gRPC
    • PostgreSQL
    • Kubernetes
    Visit Gearment (opens in a new tab)

    Sellers had no single place to track orders, manage products, and see fulfillment status across Gearment's pipeline. Print-on-demand sellers running their store through Gearment's fulfillment platform. Sellers manage their whole catalog and order pipeline from one dashboard instead of going through support for status updates.

  • Gearment Admin Portal

    2024

    Work project Gearment Active

    Led the internal operations dashboard — role-based access, audit logging, and workflow tooling for support and ops.

    Support and ops teams needed role-based tooling to manage orders and accounts without touching production systems directly. Gearment's internal customer support and operations staff. Internal staff get a dedicated, auditable tool for day-to-day operations instead of ad hoc database access.

Geniebook

3 projects 2022–2023

geniebook.com
  • GenieAsk

    2023

    Work project Geniebook Complete

    Technical lead for the real-time tutor chat platform — WebSocket messaging with Redis pub/sub for horizontal scaling, live Q&A and file sharing.

    Students had no fast way to reach a tutor for immediate academic support during study sessions. Students on Geniebook needing real-time help from a tutor. Students get tutor responses in real time instead of waiting on asynchronous support channels.

  • GenieSmart

    2023

    Work project Geniebook Complete

    Led the AI-assisted practice platform — automated grading and adaptive difficulty built into daily study sessions.

    Practice needed to adapt to each student and give feedback immediately, not days later once a human grader caught up. Students doing daily practice tests on Geniebook. Students get immediate, personalized feedback on practice work instead of waiting on manual grading.

  • Genie Platform

    2022

    Work project Geniebook Complete

    Led decomposition of the monolith into Go microservices and built the core platform services — IAM, chat, file management — other teams depend on.

    The PHP monolith was slowing down every new feature, with core concerns like identity, chat, and file handling tangled into it. Geniebook's engineering team building student-facing features. Feature teams build on independent, faster services instead of working around a shared monolith.

Be Group

2 projects 2021–2022

be.com.vn
  • BizOps

    2022

    Work project Be Group Complete

    Project owner for Be's internal business-operations suite — support chat and call routing, driver onboarding/KYC, ticketing, and workforce tracking, unified into one internal PaaS product.

    • Go
    • gRPC
    • WebRTC
    • MySQL
    • Redis
    Visit Be (opens in a new tab)

    Support, onboarding, ticketing, and workforce tracking each ran as separate, disconnected internal tools. Be's customer support agents, drivers going through onboarding, and internal staff handling tickets. Support, onboarding, and operations teams work from one connected set of tools instead of stitching together disconnected systems.

  • Be Platform

    2021

    Work project Be Group Complete

    Led Be's internal platform team, building an internal PaaS — a Go service bootstrapper, a shared SDK for auth/pub-sub/feature flags/logging, and a unified API gateway used across the company's product lines.

    • Go
    • gRPC
    • Kubernetes
    • GCP
    • Redis
    Visit Be (opens in a new tab)

    Every team stood up services with its own auth, logging, and deployment plumbing, so onboarding a new service took weeks and behaved inconsistently. Engineering teams across Be's ecosystem — beTransport, beDelivery, Cake Digital Bank. New services onboard onto shared, consistent infrastructure in days instead of weeks, across every business unit built on the platform.

Teko

3 projects 2018–2019

teko.vn
  • Teko Order Management System

    2019

    Work project Teko Complete

    Built and extended a unified order-processing platform — creation, payment, fulfillment, and returns — across showroom and multi-channel commerce, plus the decoupled cart/checkout services split out for independent scaling.

    • Python
    • Go
    • MySQL
    • RabbitMQ
    • Kafka
    Visit Teko (opens in a new tab)

    Offline retail and marketplace order flows had no shared platform, so each channel handled the order lifecycle differently. Phong Vu retail branches and VNShop marketplace sellers. Physical branches and the online marketplace run through the same order lifecycle instead of separate, hand-maintained flows.

  • Market Eyes

    2019

    Work project Teko Complete

    A competitive-intelligence platform — automated daily crawling and price-comparison analytics across competitor catalogs.

    • Python
    • Scrapy
    • Elasticsearch
    Visit Teko (opens in a new tab)

    Pricing decisions were made without a systematic view of what competitors were charging. Teko's pricing and category teams making pricing decisions. Pricing decisions draw on a daily, structured view of the competitive landscape instead of spot checks.

  • Teko Account Integration System

    2018

    Work project Teko Complete

    Built the bridge system handling order processing, inventory, and financial reconciliation between the two.

    Modern microservices and the legacy accounting infrastructure needed to stay reconciled during the migration, with no bridge between them. Teams needing order, inventory, and financial data to agree between the new platform and the legacy accounting system. The company kept running on the legacy accounting system while the new platform rolled out, without the two drifting apart.

Open source & developer tools

13 entries

Libraries, generators and images published so other developers do not have to rebuild the same plumbing, plus patches and maintained forks on repositories owned by other people — labelled as contributions, never presented as owned projects.

Published by me

9 entries

Libraries, generators and images I wrote and maintain.

  • go-s3-sharing Go 2025 Stable A minimal Go proxy serving private S3 resources behind a customizable secret-based auth check.

    Serving a private bucket to real users usually means either public objects or bespoke signing code copied between services. Anyone who needs to hand out private S3 objects without handing out S3 credentials. Private assets can be shared through one small, auditable service instead of loosening bucket permissions.

    Own project

    • Go
    • AWS
    • S3
    • Docker
    View repository (opens in a new tab)
  • lambda-s3-resizer Python 2025 Stable A Python Lambda that resizes uploads in place under a `resized/` prefix, deduplicating concurrent invocations with S3 object locks instead of a separate datastore.

    Event-driven resizing re-processes the same object when events are delivered more than once, and the usual fix is a DynamoDB table nobody wanted to operate. Teams resizing user-uploaded images on S3 without running image servers. Duplicate deliveries stop causing duplicate work, with no extra infrastructure to pay for or maintain.

    Own project

    • Python
    • AWS
    • Lambda
    • S3
    View repository (opens in a new tab)
  • dataloader Go 2023 Stable A small Go data loader for CSV files, so ingestion starts from working code instead of a blank one.

    CSV ingestion is written from scratch on nearly every project, with the same parsing and mapping mistakes each time. Developers loading CSV files into Go programs. A common, unglamorous task stops repeating the same parsing and mapping mistakes on every project.

    Own project

    • Go
    • CSV
    View repository (opens in a new tab)
  • go-bootstraper Go 2021 Stable A bootstrapper that generates a standardized Go project in one step.

    The first day of every new service went to recreating the same skeleton — layout, configuration, Makefile, Docker — and the small differences between everyone's version compounded into real inconsistency later. Developers starting a new Go service under time pressure. New services start from a shared, reviewed structure, so the interesting work starts sooner and the boring parts stop drifting apart.

    Own project

    • Go
    • Docker
    • Makefile
    View repository (opens in a new tab)
  • x-crafter Go 2021 Stable Breaks a working prototype down into a template and rebuilds code from it, so the prototype itself becomes the generator.

    A good prototype is the best template you have, but turning it into a reusable generator normally means rewriting it as one. Developers who keep hand-copying a working prototype into the shape of a new SDK or service. Teams can standardize on a real, working example instead of maintaining a separate scaffold that drifts away from it.

    Own project

    • Go
    • Code generation
    View repository (opens in a new tab)
  • gomw Go 2021 Stable A small framework that makes composing Go HTTP middleware quick enough to be the default choice.

    Cross-cutting concerns end up inlined into handlers because writing middleware correctly is more ceremony than the concern deserves. Go developers writing HTTP middleware. Logging, auth and tracing can stay out of business logic without the middleware being a chore to write.

    Own project

    • Go
    • HTTP
    View repository (opens in a new tab)
  • logrgorm2 Go 2021 Stable A logr logging driver for GORM v2.

    GORM's own logger sits outside the application's logging pipeline, so database logs miss the context every other log line carries. Go teams running GORM v2 in a service that already standardized on logr. Database logs flow through the same structured pipeline as everything else, so a request can be followed end to end.

    Own project

    • Go
    • GORM
    • Logging
    View repository (opens in a new tab)
  • Google Cloud SDK PubSub Emulator image Docker 2021 Stable A Docker image that runs the Cloud SDK Pub/Sub emulator on its own, no toolchain install required.

    Running the emulator meant installing the whole Cloud SDK on every machine and in every CI job. Developers who need Pub/Sub locally without a Google Cloud project. Local and CI environments get a working Pub/Sub with one container instead of a toolchain install.

    Own project

    • Docker
    • Google Cloud
    • Pub/Sub
    View on Docker Hub (opens in a new tab)
  • jsoncase Go 2020 Stable Converts JSON keys between casing conventions, so snake_case and camelCase stop being a reason to fork a model.

    One consumer wants snake_case, another wants camelCase, and the usual answer is duplicated structs kept in sync by hand. Go services integrating with APIs that disagree about JSON key casing. Casing becomes a transport detail handled in one place instead of duplicated structs kept in sync by hand.

    Own project

    • Go
    • JSON
    View repository (opens in a new tab)

Contributions to other people’s repositories

4 entries

Patches and a maintained fork on projects owned by their maintainers — never presented as mine.

  • go-socket.io — Socket.IO v4 fork Go 2022 Dormant Maintain a public fork of googollee/go-socket.io carrying the changes needed for the newer protocol, and opened pull requests upstream. This is a fork of someone else's library, not a project of mine.

    The upstream library did not speak the newer protocol version, so servers and browsers stopped agreeing. Go teams whose clients had moved to Socket.IO v4 while the Go library had not. Teams on the newer client protocol have a working Go server option while the change waits upstream.

    Upstream googollee/go-socket.io 5.8k

    Fork of another project

    • Go
    • WebSockets
    • Open source
    View fork (opens in a new tab)
  • Telegraf Helm chart — template parser fix Kubernetes 2020 Complete Submitted a merged pull request to influxdata/helm-charts fixing the template parser, and raised the same fix against the Helm stable charts repository. Both repositories belong to their maintainers.

    A template parsing issue in the chart made the deployment fail in valid configurations. Kubernetes operators deploying Telegraf from the official InfluxData chart. Operators could deploy Telegraf from the published chart without patching it locally first.

    Upstream influxdata/helm-charts 257

    Contribution to another project

    • Kubernetes
    • Helm
    • Open source
    View merged pull request (opens in a new tab)
  • OpenTelemetry Go — otelhttp client metrics Go 2020 Complete Proposed and implemented client-side metrics for otelhttp in a public pull request to open-telemetry/opentelemetry-go-contrib. The pull request was closed rather than merged.

    The otelhttp instrumentation emitted traces for client calls but not metrics, leaving a gap in what could be alerted on. Go teams instrumenting outbound HTTP calls with OpenTelemetry. The proposal is public and reviewable; the gap it described was later addressed by the project on its own terms.

    Upstream open-telemetry/opentelemetry-go-contrib 1.7k

    Contribution to another project

    • Go
    • OpenTelemetry
    • Observability
    View pull request (closed, not merged) (opens in a new tab)
  • python_logger — HTTP logger with MongoDB Python 2018 Complete Contributed a merged pull request adding an HTTP logger with MongoDB storage. The library belongs to its maintainer.

    The library logged HTTP activity but had no durable, searchable destination for it. Python developers using this logging helper who wanted request logs kept somewhere queryable. Request logs could be written somewhere they could actually be queried afterwards.

    Upstream ducminhgd/python_logger 2

    Contribution to another project

    • Python
    • MongoDB
    • Open source
    View merged pull request (opens in a new tab)

Research & writing

8 entries

Peer-reviewed papers, a textbook, applied research work, evidence synthesis, and essays published elsewhere.

  • Quantum Computing Race 2026 Not published 2026 Complete Built an evidence-synthesis report that separates physical scale, fidelity, logical error correction, access, product maturity, and vendor targets; each material claim is tied to a cited source and caveated by evidence level.

    Superconducting, trapped-ion, neutral-atom, photonic, topological, and annealing systems publish metrics that are not directly comparable, while roadmap claims are often presented beside demonstrated results. Technical leaders and investors comparing fast-moving quantum-computing platforms without relying on raw qubit counts or vendor roadmaps alone. Readers can compare who leads on each dimension and distinguish demonstrated capability from announced roadmap instead of forcing one misleading overall ranking.

    Own project

    • Research
    • Evidence synthesis
    • Quantum computing
    • Citation verification

    Private research artifact — source ledger retained

    Private research artifact — source ledger retained
  • We Don't Give AI Autonomy. We Allocate It. dev.to 2026 Published AI autonomy isn't a single on/off switch — it should be allocated per task by reward, risk, and available evidence, with workflows designed as graphs of specialized nodes and explicit decision boundaries.

    Treating AI autonomy as a single on/off switch ignores that different tasks carry different reward, risk, and evidence — one blanket policy ends up either too cautious or too reckless. Engineering leaders deciding how much autonomy to grant AI agents in a workflow. Humans keep the high-stakes calls while AI handles verification and preparation, instead of one blanket autonomy setting applied to every task.

    Own project

    • AI agents
    • Workflow design
    • Technical writing
    Read on dev.to (opens in a new tab)
  • AI Makes Code Cheap, But Engineering Judgment Expensive Hacker Noon 2026 Published AI has made writing code fast and cheap, which moves the real bottleneck in software work to judgment — knowing what to build, when to trust generated code, and when not to.

    AI has made writing code fast and cheap, which moves the real bottleneck in software work somewhere else. Engineers and technical leaders navigating AI-assisted development. Code output stops being the scarce resource software teams compete on; judgment about what to build and trust becomes it.

    Own project

    • AI
    • Software engineering
    • Technical writing
    Read on Hacker Noon (opens in a new tab)
  • Implementing common Go HTTP middleware Medium 2021 Published Middleware as a wrapper that runs before and after the main handler, keeping business logic free of cross-cutting concerns like logging, auth, and tracing.

    Cross-cutting concerns like logging, auth, and tracing get tangled into handler logic without a clean middleware pattern. Go developers writing HTTP services who want cross-cutting concerns out of their handlers. A reusable pattern for composing Go HTTP middleware, walked through from scratch, instead of duplicating cross-cutting logic in every handler.

    Own project

    • Go
    • HTTP
    • Technical writing
    Read on Medium (opens in a new tab)
  • Using buf.build to generate your gRPC codes Medium 2021 Published A tour through migrating an old protobuf/gRPC codegen pipeline to buf — the setup, the breaking changes to expect, and the pitfalls hit along the way.

    Migrating an old protobuf/gRPC codegen pipeline to a modern toolchain has enough sharp edges that most teams learn them the hard way. Go and gRPC teams maintaining a protobuf codegen pipeline. A practical migration path to buf instead of rediscovering the same sharp edges independently.

    Own project

    • Go
    • gRPC
    • Protobuf
    • Technical writing
    Read on Medium (opens in a new tab)
  • On-device face recognition model optimization VinAI Research 2019 Complete Part-time work optimizing NCNN model size for the mobile application.

    The recognition model was too large to run comfortably on the device it had to ship on. A phone manufacturer shipping face unlock on consumer hardware. The recognition model fit within the constraints of the handset instead of requiring hardware it did not have.

    Applied research engagement

    • Computer vision
    • Machine learning
    • Mobile
    VinAI Research (opens in a new tab)
  • Video segmentation using keywords SPIE Proceedings 2018 Published Co-authored a method that segments objects from video using keywords supplied by the user instead of annotated frames.

    State-of-the-art segmentation methods leaned on hand-annotated frames to separate foreground from background, and producing those frames accurately is slow, manual work. Researchers and practitioners doing video object segmentation. Published in the SPIE proceedings, offering an annotation-light path to segmentation for teams without the budget to label frames.

    Co-authored

    • Computer vision
    • Machine learning
    • Research
    Read the paper (opens in a new tab)
  • Python programming self-study (textbook) VNU-HCM Press 2018 Published Co-authored an introductory Python textbook with my university laboratory, published by VNU-HCM Press.

    Beginners had little Vietnamese-language material that took them from nothing to writing real Python. Vietnamese students teaching themselves programming from scratch. Students had a structured Vietnamese-language route into programming rather than translated fragments.

    Co-authored

    • Python
    • Teaching

    Publisher listing no longer available

    Publisher listing no longer available

See something close to the problem you have?

Tell me what’s failing and what you’ve already tried. I’ll reply with whether I think I can help.