Le Thien Tri · Liguni
Fullstack software engineer. I build scalable backends and secure authentication.
Software engineer working across the full stack. 53 merged pull requests in team repositories, open-source Codeflow, and a retail ERP integration internship.
Live from GitHub4 public projectslast push: liguni-agent, 2026-07-04
01 / Cases
Problems I've solved
Multi-tenant security
MiniAI- Problem
- Customer and conversation lookups could return another tenant's records, and a channel resync endpoint lacked a role check.
- What I did
- Scoped every lookup by tenant and enforced role-based access on the resync endpoint.
Employer-confidential, no public link.
Real-time reliability
MiniAI- Problem
- Chat clients silently missed messages that arrived while their socket was disconnected.
- What I did
- Resynced the missed data after each socket reconnect.
Employer-confidential, no public link.
Third-party integrations
MiniAI- Problem
- Messaging platforms returned payloads that differed from what the integration assumed, so messages mapped wrongly.
- What I did
- Typed the real payloads, mapped message types and API errors explicitly, and synced customer tags into CRM profiles.
Employer-confidential, no public link.
Operations at scale
MiniAI- Problem
- Bulk actions had no upper bound, and a cached channel stayed bound to its old tenant after being relinked.
- What I did
- Capped bulk deletes per request, moved the logic into the service layer, and invalidated the channel cache on relink.
Employer-confidential, no public link.
Security
- Problem
- AI coding agents can push failing code, or edit the file that sets their own limits.
- What I did
- Built a push gate that denies on failing checks, and moved the direct-to-main opt-out out of repo files an agent can edit into user-owned config.
- Result
- Denied on red A push on a failing check is blocked, and a marker file in the repo no longer disables the gate.
Proof: PR #100
Privacy
- Problem
- An optional Google Drive backup could upload secrets or trust a forged sign-in redirect.
- What I did
- Used the least-privilege drive.file scope, withheld credential-looking files from upload, and accepted only the OAuth redirect that carries our state.
- Result
- Least-privilege scope drive.file only, credential-looking files withheld, and the OAuth redirect accepted only with our state.
Proof: PR #97
Reliability
- Problem
- An older version of a tool should not write to a database a newer version created.
- What I did
- Stamped the SQLite schema version, made the CLI refuse a newer database, and added a doctor command that reports install version and declared gates.
- Result
- Refuses newer schema The refusal is tested, and the doctor output is machine-readable.
Proof: PR #98
Integration
Internship- Problem
- Marketplace and point-of-sale orders and stock had to stay in sync, and a failed call must not duplicate or lose an order.
- What I did
- Contributed to order and stock sync between marketplaces and point-of-sale on a retail ERP, as a 3-month backend intern; implemented retries and idempotency.
Employer-confidential, no public link.
02 / Team work
Contributions to team repositories
53 merged pull requests across 3 public repositories owned by others, counted live from GitHub. Each link opens the pull request list.
hailong289
app-nest-be
TypeScript · 34 merged PRs
See my pull requestshailong289
app-chat-fe
TypeScript · 12 merged PRs
See my pull requestshailong289
app-security-holes
Simulation of Top 10 Security Vulnerabilities on OWASP
PHP · 7 merged PRs
See my pull requests
Work
Where I work
Private company projects are confidential, so only the organisation and my role are listed.
Nov 2025 to now
MiniAI
Software engineer
03 / Projects
Open-source projects
Open-source tools that run on your own machine. Where one signs in with Google, the privacy policy states exactly what it accesses.
Featured · open source
Codeflow
Open-source workflow runtime for AI coding agents, run on your own machine.
Google Drive backup (optional)liguni-agent
ai-team — CLI orchestrator một-lead-nhiều-worker: Claude lead phân công specialist, Codex triển khai worktree cô lập, không tự merge
JavaScript · ★ 0 · pushed 2026-07-04
ical
enter ics file url and add to google calendar
JavaScript · ★ 0 · pushed 2026-01-02
API_eCommerce-
api e-commerce
JavaScript · ★ 1 · pushed 2025-08-12
webphp
wedsite bán hàng bằng ngôn ngữ php với database
PHP · ★ 1 · pushed 2022-12-27
04 / Stack
Stack
Backend
- Node.js
- TypeScript
- Go
- Python
Data
- MongoDB
- Redis
- MySQL
Infra
- Docker
- Nginx
- AWS
Frontend and mobile
- React Native
- Vue
05 / Path
Education
Sep 2024 to now
Undergraduate student
University of Information Technology, Vietnam National University Ho Chi Minh City
2021 to 2023
Diploma in Information Technology, graduated with distinction
Ho Chi Minh City College of Information Technology
Data structures, object-oriented programming, SQL, Node.js and MongoDB.