Skip to content
View NgoQuocViet2001's full-sized avatar

Block or report NgoQuocViet2001

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
NgoQuocViet2001/README.md

Ngo Quoc Viet — open-source adventurer

GitHub Portfolio AWS SAA Zalo

🧙 Player Profile

I'm Ngo Quoc Viet, a fullstack engineer focused on practical open-source maintenance. I use reproducible diagnostics, test evidence, and agent-assisted implementation to turn concrete upstream issues into narrow, reviewable patches.

Character stat Current build
Class Fullstack Engineer / OSS Contributor
Experience Nearly 4 years across product and outsourced projects
Party role Project-level Dev Lead experience in healthcare systems
Main quests Developer platforms, AI tooling, MCP, desktop apps, Windows DX
Play style Reproduce the issue → ship a narrow fix → add regression coverage → follow through on review

My favorite contributions are the ones maintainers can immediately use: broken runtime paths, cross-platform bugs, stale setup flows, incorrect API behavior, missing safety checks, and tests that prevent the same regression from returning.

📊 Adventure Log

Public contribution data for NgoQuocViet2001, refreshed 2026-08-21. The merged count covers public PRs submitted from this account and accepted into repositories it does not own during the preceding 12 months.

Retro RPG board showing 96 merged pull requests across 36 community repositories and 63 active pull requests
Stat Total Meaning
Merged quests 96 External PRs merged by community maintainers in the last 12 months
Worlds visited 36 Community repositories with at least one merged contribution
Active quests 63 External PRs currently open for maintainer review

⚔️ Latest Quests Cleared

The most recent merges, newest first. Earlier merged work is summarized in the Guild History table below.

Project PR Quest result Merged
Vite #23256 Closes config bundles from a finally block so failed generation releases Rolldown plugin and native resources as reliably as the successful path. 2026-08-21
pnpm #13900 Preserves caret, tilde, bare, and equals-prefixed range styles when updates resolve to prereleases, keeping the TypeScript and Rust implementations aligned. 2026-08-21
OpenCADStudio #827 Rounds lengths and angles in their smallest displayed unit before splitting larger units, carrying values such as 12 inches or 60 seconds into the next column. 2026-08-20
Yaak #593 Emits shell-safe curl and gRPCurl arguments when values contain apostrophes, spaces, or file form-field type suffixes. 2026-08-20
Yaak #597 Keeps each --data-urlencode argument whole and preserves malformed percent text instead of failing the entire curl import. 2026-08-20
OpenCADStudio #826 Keeps DDPTYPE glyphs off dimension definition points on the Defpoints layer while preserving styles for user-created points. 2026-08-20
OpenCADStudio #825 Routes Up and Down to the MText caret while the editor is open instead of walking command history behind the dialog. 2026-08-20
zmx #239 Scopes the README session picker to the active ZMX_SESSION_PREFIX and prevents preview or attach from applying that prefix twice. 2026-08-20
OpenCADStudio #823 Gives SUBTRACT a deterministic operand order instead of taking the minuend and subtrahend from arbitrary HashSet iteration. 2026-08-20
OpenCADStudio #822 Restores tangent-tangent-radius solutions where the new circle encloses an existing circle without disturbing the external-tangency family. 2026-08-20
archify #91 Counts BMP emoji-presentation symbols and extended Hangul as full-width text units so fitted labels no longer overrun their nodes. 2026-08-20
OpenCADStudio #820 Requires identifier word boundaries during expression rescans so names such as ASPIRATORE no longer have their internal pi evaluated. 2026-08-20
cuda-oxide #1051 Rejects variadic #[device] externs at macro expansion with a source span, including declarations that are never reached by kernel MIR. 2026-08-20
Text-Grab #670 Applies Latin character correction only for Latin-based capture languages across paragraph, table, PDF, Tesseract, and Grab Frame OCR paths. 2026-08-20
Logto #9462 Aligns contributor prerequisites with the package engines by documenting Node ^22.14.0 and support for pnpm 9 and 10. 2026-08-20
text-to-cad #301 Accepts occurrenceId rows in Python label aliases and runs the shared alias fixture in both Python and JavaScript to prevent parity drift. 2026-08-19
text-to-cad #300 Strips only a leading # from CAD selectors so interior or trailing hashes remain opaque instead of being silently rewritten into labels. 2026-08-19
Slidev #2703 Defaults deferred manual setup to npm when create-slidev is launched without a detectable package manager. 2026-08-19
Yaak #577 Parses combined curl short flags left to right so common clusters such as -fsSL no longer turn sSL into the imported URL. 2026-08-18
manim #2502 Looks a graph's point up by clamping to the plotted x-range instead of indexing past it, so a lookup outside the unit range returns a point on the curve rather than failing. 2026-08-17
OpenCADStudio #794 Fingerprints a drawing through the handle its own edit lease already holds, so Save As over an existing file no longer fails against this editor's own mandatory Windows lock. 2026-08-17
text-to-cad #283 Copies a pinned temp file sideways and reruns the rename ladder when an SMB handle outlives it, covering every call site through replace_atomic rather than one writer. 2026-08-17
OpenCADStudio #781 Opens printer properties for the printer selected in the plot dialog on Windows instead of the system default. 2026-08-17
OpenCADStudio #780 Clears a half-drawn selection marquee when a command starts, so the pending rubber band cannot survive into the next command's input. 2026-08-17
OpenCADStudio #777 Extends FLATTEN to polylines, solids and 3D faces so every projected entity lands on Z=0 rather than only the subset previously handled. 2026-08-17
OpenCADStudio #776 Leaves unitless block inserts unscaled instead of applying a unit conversion the block never declared. 2026-08-17
archify #80 Stops treating non-finite rectangles as overlapping in the renderers, removing a crash path when a layout produces NaN bounds. 2026-08-17
zmx #242 Documents that nested sessions are unsupported, after tracing why attaching inside an existing session leaves the inner one unrecoverable. 2026-08-17
diagram-design #56 Adds roving tabindex and aria-checked keyboard navigation to the gallery so arrow keys move focus and selection together. 2026-08-17
book-to-skill #162 Treats a bracketed path as a literal when it does not exist on disk, so extraction no longer rewrites text that only looks like a file reference. 2026-08-17

🏰 Guild History

Community project Merged quests Contribution territory
mksglu/context-mode 13 Codex/MCP reliability, Windows shells, plugin installs, analytics, cache behavior, docs, and regression coverage
HakanSeven12/OpenCADStudio 12 CAD geometry, commands, unit formatting, DWG rendering, Windows file locking, and printer integration
CJackHwang/ds2api 8 OpenAI-compatible routes, streaming, citations, tool output, Vercel sync, and file metadata
tinyhumansai/openhuman 8 Desktop OAuth, deep links, packaging, startup cleanup, RPC security, AppImage release safety, and Windows contributor setup
slidevjs/slidev 6 Base-path routing, reactive frontmatter, addon preprocessing, test lifecycle cleanup, local exports, and scaffold setup
earthtojake/text-to-cad 4 Windows SMB write resilience plus cross-language CAD selector and label parity
github/spec-kit 4 Development agent symlinks, safe Kiro multi-install behavior, authentication host matching, and workflow step-type validation
mountain-loop/yaak 3 Curl import parsing and shell-safe curl and gRPCurl export behavior
neurosnap/zmx 3 Session wildcard matching, prefixed picker behavior, and nested-session documentation
tt-a1i/archify 3 CLI validation, renderer-bound safety, and full-width text measurement
Crosstalk-Solutions/project-nomad 2 Offline content download reliability and benchmark startup correctness
DayuanJiang/next-ai-draw-io 2 MCP diagram edit consistency, stale-state protection, and multi-page export preservation
drawdb-io/drawdb 2 Clipboard schema validation and self-referencing foreign keys in SQL imports
jdx/mise 2 Filesystem-safe install linking and portable generated bootstrap paths
logto-io/logto 2 Tenant initialization error observability and accurate contributor prerequisites
ruvnet/RuView 2 ESP32 swarm configuration validation and mesh-to-dashboard documentation

First clears

Community repositories with one merged contribution so far:

Community project Contribution territory
3b1b/manim Graph point lookup on manual curves outside unit x-ranges
addyosmani/agent-skills Eval grader-result validation and summary integrity
agegr/pi-web Wrapper process lifecycle, signal forwarding, and exit statuses
BarutSRB/OmniWM Complete public CLI and IPC command reference
cathrynlavery/diagram-design Accessible keyboard navigation for diagram gallery choices
NVIDIA-NeMo/Switchyard Nested protocol metadata normalization and header precedence
NVlabs/cuda-oxide Early validation for variadic CUDA device extern declarations
opengeos/GeoLibre Geographic-to-planar projection for buffer processing
pacifio/atlas Agent turn epoch handling and late transcript events
paperless-ngx/paperless-ngx Sanity-check data correctness and regression coverage
pingdotgg/t3code Cross-platform repository symlink integrity
pnpm/pnpm Prerelease range-style preservation across TypeScript and Rust update paths
rorkai/App-Store-Connect-CLI CLI argument validation before authentication
supertone-inc/supertonic Multi-language CLI option documentation
TheJoeFin/Text-Grab Language-aware Latin correction across OCR capture paths
tw93/Pake CLI startup independence from native image dependencies
virgiliojr94/book-to-skill Literal handling for bracketed input paths
vitejs/vite Config-bundle resource cleanup on failed generation
withastro/astro Page-directory boundary correctness and regression coverage
ZSeven-W/openpencil CLI positional argument forwarding

🔥 Active Quest Queue

The newest open contributions waiting for maintainer review, ordered by creation time:

Project PR Quest in progress
repowise #1754 Scope module-page decision records to the module's own files, deduplicate them, and rank the strongest evidence first.
repowise #1753 Treat Prisma-like verbs as database sinks only on member calls so ordinary local functions such as aggregate() do not create false performance findings.
repowise #1752 Share the sink-reachability walk used by cross-function loop and lock analysis while preserving each pass's existing output.
repowise #1751 Make coverage add exit non-zero when it stores nothing and add opt-in strict handling for partial ingests.
cuda-oxide #1050 Keep the formatting workflow and cargo oxide fmt on one shared scope list, guarded by a drift-detection test.
cuda-oxide #1049 Accept Rust char in CUDA device-extern parameters and results with integration coverage for the generated ABI.
joshuto #634 Avoid history panics when filtering produces an empty listing or a stored cursor index points beyond its old contents.
book-to-skill #178 Strip invisible Unicode carriers that sit outside the existing format-control filter so reviewers and generated-skill consumers see the same text.
takumi #1329 Decode uppercase hexadecimal references, remap legacy C1 references, and replace numeric NUL references according to HTML parsing rules.
takumi #1326 Split inline styles only at top-level semicolons so data URLs and quoted values remain intact.
ni #357 Read JSONC-style package.json files with comments and trailing commas while preserving the original error for genuinely invalid manifests.
pi-web #516 Resolve a single session from directory entries and its verified header before falling back to a full catalogue scan.
pi-web #515 Handle child-process spawn errors and report unexpected exit codes or signals without adding noise to forwarded shutdowns.
pi-web #511 Accept same-origin requests behind a scheme-rewriting proxy only when the forwarded request still matches the Host authority.
LocalMiniDrama #37 Route custom Volcengine Omni submit and query requests to the endpoints already shown by the configuration preview.
SQLBot #1323 Keep the standard Hive DESCRIBE fields while ignoring trailing driver-specific columns returned by ArgoDB.
KrillinAI #308 Preserve the Bilibili p query parameter when normalizing multi-page video URLs.
witr #231 Detect Windows listeners by their zero-port remote endpoint so localized netstat state names are no longer dropped.
RAGFlow #18292 Classify CLI benchmark responses by envelope code as well as HTTP status so failed calls stop inflating the success count.
pdf-inspector #387 Escape quotes and newlines in pdf2md --json error objects so downstream consumers always receive valid JSON.

🎒 Inventory / Tech Stack

Ngo Quoc Viet's development stack

Inventory slot Equipped tools
Frontend JavaScript, TypeScript, React, Vue, Next.js, Vite, Tailwind CSS
Backend Node.js, C#, ASP.NET, PHP, Laravel, Python, Java, Go, Rust
Data stores MySQL, PostgreSQL, MongoDB, Redis
Infrastructure AWS, Linux, Docker, Nginx, CI/CD, GitHub Actions, VPS operations
AI developer tooling Codex, MCP, Claude Code, OpenAI-compatible APIs, agent workflows
Product toolkit Git, GitHub, Figma, Postman, VS Code

🧭 Preferred Quest Types

  • AI developer tooling: MCP servers, Codex integrations, context optimization, local analytics, safe upgrade paths.
  • Windows-first reliability: PowerShell, pwsh, cmd, Git Bash, WSL, symlink restrictions, desktop deep links, packaging quirks.
  • API and data correctness: OpenAI-compatible routes, streaming behavior, file metadata, citation markers, validation, and counting semantics.
  • Release safety: dependency checks, runtime guards, reproducible setup, CI and test lifecycle fixes.
  • Maintainer-friendly delivery: narrow diffs, issue-backed scope, concrete tests, concise validation, and follow-up fixes.

🛠️ Personal Artifacts

Project What it equips
codex-keyring Native multi-account manager for Codex with aliases, health checks, and failover support
codex-observatory Local Codex usage analytics, token trends, model breakdowns, and dashboard views
google-workspace-mcp MCP server for structured Google Docs and Sheets extraction with image-aware output

📜 Character Background

  • Fullstack delivery across product and outsourced environments, with project bootstrapping, reusable component design, code review, Git flow, mentoring, and internal training.
  • Project-level Dev Lead experience in healthcare systems, including BA/QC/developer coordination and legacy-parity work.
  • Hands-on deployment and support across AWS, Linux, Docker, Nginx, CI/CD, VPS, staging, and production environments.
  • AWS Certified Solutions Architect – Associate, scored 861/1000.

📬 Party Invite

Open to OSS collaboration, maintainer support, developer tooling, automation, and practical fullstack/internal-tool work.

Portfolio · GitHub · Zalo · Facebook

Pinned Loading

  1. codex-keyring codex-keyring Public

    Native multi-account manager for Codex with manual alias switching and auto-switch failover.

    TypeScript 32 7

  2. codex-observatory codex-observatory Public

    Local observability and usage analytics for Codex sessions, tokens, prompts, and model trends.

    Python 10 2