Nguyen Huu Thien Nhan. Ships complete products, solo, in whatever language the product needs. Coding since August 2020.
Don't believe me. Click.
Installable today, by a stranger, without asking me for anything.
- obsidian-smart-gantt - Tracks every task across your vault with no plugin-specific syntax to learn. Parses plain-language dates, Tasks-style emoji dates, and Dataview
[due:: ]fields alike. Drag a bar to reschedule and it rewrites the date back into your note.10,245 installs- site, community store - obsidian-historica - Runs NLP over your notes, finds every date in the prose, and renders an interactive timeline inside a fenced block.
4,647 installs- docs, API docs - organism - A language-agnostic conformance suite for org-mode, graded against
org-element, which is org-mode's own reference parser. The bundled Swift parser matches it node for node on 80 of 80 cases, and refuses the constructs it has not implemented instead of guessing at them. - maquette - Drop a photo, get a 3D model. A coder LLM writes procedural Three.js geometry, a built-in renderer screenshots it from four angles, a vision LLM scores those renders against your photo and tells the coder what to fix. The loop runs until the judge stops improving. Exports GLB and USDZ. Bring your own key, any OpenAI-compatible endpoint, down to a local Ollama with no key at all. Live models
- ncomphunt - Native macOS competition tracker. CP contests, CTFs, AI challenges, hackathons, Vietnam-first.
brew install nhannht/tap/ncomphunt - Khac - Natural-language date parser for Swift, built so that adding a language means filling in data tables rather than writing a second parser. Reads
next Friday at 5pmandhop luc 3 gio chieu mai. - BroPrompter - Native macOS teleprompter. Camera preview, auto-scroll, audio and video capture. SwiftUI.
- vn-storefronts - Three Next.js storefronts with three separate design systems on one Medusa v2 backend. VND and USD, vi and en.
- ncov-cli - A Rust TUI I published to crates.io in October 2021, back when I was learning the language. Strangers are still pulling it:
1,660 downloads.
Both Obsidian plugins passed the official registry review. The registry holds 6,310 plugins and the median one has 580 lifetime downloads, so for scale: Smart Gantt ranks 910th, in the top 14.4 percent, at roughly eighteen times the median. Historica ranks 1,574th, top 25 percent.
Six merged. I am not padding this with dependency bumps.
- wanasit/chrono
#641- I wrote the entire Vietnamese locale. Not a fix, the whole locale. It ships inside chrono-node (4.7M npm downloads a week), so somebody in Hanoi typed "thu sau tuan sau" into an app today and my parser answered. - WolframResearch/Chatbook
#456- Custom OpenAI-compatible endpoint support, written in Wolfram Language. Went through Wolfram staff review to land. - EclipseFdn/publish-extensions
#402- Put two extensions on Open VSX, so people who refuse Microsoft's marketplace can still have nice things. - mmontone/emacs-inspector
#18- Evil-mode keymap, because vim bindings are not optional. Also#16, the CI. - kubaPod/M2MD
#28- Front matter for Mathematica-notebook-to-markdown export.
I did not ask for any of this and found out about most of it long after the fact.
- PKMer, the Chinese personal-knowledge-management community, wrote documentation for Smart Gantt and titled it 值得关注的简易绘制甘特图插件 - "a simple Gantt chart plugin worth paying attention to." Somebody I have never met, writing in a language I do not read, decided my plugin was worth an editorial page. They keep a page for historica too.
- The Obsidian Chinese Community Weekly featured historica on 2024-03-03, in the new-plugins section, in both its Chinese and English editions, with screenshots.
- Easy Timeline opens its README with "It's inspired by the historica plugin." Somebody built their own thing because of mine, which is the only metric on this page I would not trade.
- Four npm packages under my name, including emojiterm, which exists because every Linux emoji picker I tried was too laggy to use.
Not a badge wall. One language, one repository you can open and read right now. This is the part I want you to count.
| Language | Repository | What it is |
|---|---|---|
| Swift | organism | org-mode parser graded against org-element, 80/80 |
| TypeScript | obsidian-smart-gantt | Registry-listed, top 14.4% by installs |
| Go | obsidian-pty | A real PTY, spoken to from inside Electron |
| Rust | ncov-cli | Published to crates.io in 2021 |
| C++ | caro-game | C++14 and raylib, 3D board, PvAI |
| Emacs Lisp | nhannht-emacs-css-theme | Publishing pipeline for essays written in Org |
| Mathematica | KnotTheory | Maintained fork of the Katlas knot-theory package |
| Java | koon-text-editor | A text editor written by hand to learn how they work |
| Python | nusgreycat | GreyCTF solver scripts and write-ups |
| JavaScript | maquette | Coder LLM and vision LLM in a scoring loop |
| Ruby | homebrew-tap | My own Homebrew tap |
| Shell | obsidian.fish | Fish completions for the Obsidian CLI |
| Dart | healthcare client, under NDA | Flutter clinical kiosk, sole developer |
Thirteen. Twelve of them you can read. The thirteenth pays the rent.
- Breaking things - 82nd of 418 at GreyCTF, and the solve archive is public: write-ups, solver scripts, final board snapshot. 10th, solo, at HCMUS-CTF. I build most of the time, but not all of the time.
- Writing - Technical writer for JetBrains Academy, 2022.
- Studying - B.S. Education Technology, HCMUS.
- English - Duolingo English Test 100/160, CEFR B2, publicly verifiable. I am not going to call that elite. It is real and you can click it, which is the only property I care about.
nhannht.io.vn - the long version. Every certificate links to the issuer's verification page. Same rule as here: if it cannot be checked, it does not go up.
Sixty-eight repositories I wrote, newest first. Twenty-six are archived and say so, because a link that no longer works should admit it rather than waste your click. I have not deleted any of them, which is either integrity or hoarding.
2026
- ncomphunt - Native macOS competition tracker, Swift, distributed through my own Homebrew tap.
- organism - Conformance suite for org-mode graded against org-element, plus a partial Swift reference parser that fails honestly.
- maquette - Photo to 3D model through a coder LLM and a vision LLM scoring each other in a loop.
- Khac - Swift date parser where a new language is a data table, not a new parser.
- vn-storefronts - Three storefronts, three design systems, one Medusa v2 backend.
- BroPrompter - SwiftUI teleprompter with camera preview and AV capture.
- caro-game - C++14 and raylib, 3D board, PvP and PvAI. Course group project, three of us.
- nusgreycat - GreyCTF 2026 solve archive: per-challenge write-ups, solver scripts, board snapshot.
- ctf2 - A second CTF solve workspace.
- homebrew-tap - My own Homebrew tap.
- obsidian.fish - Fish shell completions for the Obsidian CLI.
- image-bridge - Paste an image into a browser, hand the resulting file path to an AI agent running on the same box.
- termux-android-connector - Go service for driving Termux on Android.
- golden-egg-ds - Pure visual component library with Storybook and no framework lock-in.
2025
- obsidian-wolframjs - Obsidian client for WolframJS. The hard parts were solved by their team, not mine, and the README says so.
- fishistorica - "Better than most history teachers in Vietnam." I stand by it.
2024
- obsidian-historica - NLP over your vault, every date found, rendered as an interactive timeline in a fenced block.
- obsidian-smart-gantt - Vault-wide task tracking with no bespoke syntax, and bars that write their new dates back into your notes.
- obsidian-pty - A Go backend and a TypeScript front end running a real PTY, one server per profile, in parallel. A terminal emulator inside a note-taking app.
- gomit - Commit messages generated by an LLM, in Go.
- KnotTheory - My maintained version of the Katlas Mathematica knot-theory package.
- soulstone - Obsidian plugin tracker, and its Java backend.
- I-have-xxx-stars - A Go program on a serverless function whose entire description is its own star count. It has 3.
- aoc-2024 - Advent of Code in Rust. "I don't need to solve these to shine. I do it because I like it."
- ecummercial3 - Shopping app.
2023
- summalarva - Scripts that summarise books and long documents with an LLM, written when that was still awkward to do.
- emacs_proxy_assistant - A server for Emacs and a browser extension, talking to each other across the gap.
- nhannht-emacs-css-theme - So essays published out of Org look like something.
- nature - "In the beginning, there was only darkness." Mathematica.
- AI - "My first attempt to understand our creations." Mathematica.
- Cochinchina-food - For the love of food. Also Mathematica.
- aoc2023 - Advent of Code, in Mathematica, which was a choice.
- camel_simulation_langchain - Learning LangChain in public.
- recoll-proxy - Recoll indexes a whole filesystem fast but only speaks Python, so I gave it an HTTP face. archived
- emojiterm - Every Linux emoji picker I tried was laggy, so I wrote one for the terminal and put it on npm. archived
- nhannht-dot-files - Dotfiles as a single literate Org file. archived
- nhannht-neo-dotfiles - The same dotfiles, after I admitted symlinks are simpler. archived
- raucau - Trying to make ChatGPT work for me. archived
- wisdoom - "Injecting knowledge everywhere." I was very earnest in 2023. archived
- react-timetable - Timetable components, published as a scoped npm package. archived
2022
- emacs-otherweb - Unofficial Emacs client for a news site, so I could read it without leaving the editor. archived
- wolfram-panda - Wolfram Alpha browser extension. archived
- aoc2022 - Advent of Code. archived
2021
- ncov-cli - Covid checker as a Rust TUI, published to crates.io and still being downloaded. My first useful thing in Rust. archived
- freego - The Unix
freecommand reimplemented in Go, go-gettable, deliberately minimal. archived - koon-text-editor - A text editor in Java Swing, written by hand to learn how editors work. The README admits the architecture is a mess. archived
- biangular2 - "Binance app written in Angular, from the guys who don't know anything about crypto." archived
- storefront-backend-express-typescript - Express and TypeScript. archived
- storefront-frontend-angular2 - Its Angular front end, on mock data. archived
- dandaran-blog-backend - Node, Express, tested with Jasmine. archived
- web-quizz-angular-backend - Quiz app backend in Java. archived
- vermin-drive - A minimalist Drive clone. archived
- simple-weather-app - "A naive Flask app." Its words, and mine. archived
2020
- david - A personal Spacemacs layer. archived
- bi-sheng - Snort IDS, GNS3 topologies and a DVWA attack lab, written up in Org. A school project, and the first thing I ever pushed. archived
Also present and not worth their own line: ncomphunt-website, jobjujutsu-website, hcmus, nhannht.github.io, cosmos-era, nhannht (the repo rendering this page), nhannht-gomoku, tauri-app-template, chrome-extension-esbuild-template, ghibi-mini-landing-page, nhannht-hardware, and rip-my-old-cat, which is a README and nothing else, because she was a good cat.
Six years, bottom to top. The naive Flask app is still there. So is the signed macOS release. That gap is the only credential I actually trust.




