Hey, I'm Gary 👋 I build things — mostly software, and over the years, a handful of startups. I'm happiest taking an idea from an empty repo to something real…
Hey, I'm Gary 👋
I build things — mostly software, and over the years, a handful of startups.
I'm happiest taking an idea from an empty repo to something real people use. Co-founding and building startups taught me that the hard part is rarely the code — it's building the *right* thing. That lesson stuck: these days, alongside shipping software, I spend a lot of my time coaching engineers to think like product people, not just ticket-takers.
I have a particular soft spot for open source that helps Taiwanese developers ship better user experiences — small, focused libraries for the fiddly local problems (ZIP codes, ID validation, locale-aware pickers) that every Taiwan-facing product runs into. If I can save another developer an afternoon of yak-shaving, that's a good day.
These days I write mostly TypeScript, but I came up on Java and Ruby and I'm still right at home in both. On the engineering side I care about the unglamorous plumbing that makes products trustworthy at scale — multi-tenant systems, access control, real-time data — and lately I've been tinkering on the Cloudflare stack (Workers, D1) for fun.
I'm based in Southern California, where you'll usually find me at a baseball game when I'm away from the keyboard.
Open source for Taiwan's developer community
| Project | What it is |
| --- | --- |
| use-tw-zipcode | React Hook for Taiwan city / district selection, with ZIP code lookup |
| taiwan-validator | Validators for Taiwan IDs, business numbers, and license plates |
| use-country-list-zh | React Hook for a Chinese-language country picker with fast filtering |
| use-wg | Convert Chinese characters to Wade–Giles romanization |
| ts-package-starter | The TypeScript starter template I use to ship these as npm packages |
A few things about me
- 🔭 Currently building small developer tools and helping engineers grow a product mindset
- 🌱 Learning my way around the Cloudflare stack (Workers, D1) for side projects
- 👯 Happy to collaborate on open source that makes life easier for Taiwan-facing products
- 💬 Ask me about taking products 0-to-1, startups, or why the hard part is never the code
- ⚡ Fun fact — my little Taiwan-locale libraries quietly run inside more apps than I'll ever know about
A little background
My master's research was in natural language processing. I've long since moved on from NLP, but it left me with a soft spot for data and a habit of thinking in systems.
Say hi
-
bert-embedding ▣
🔡 Token level embeddings from BERT model on mxnet and gluonnlp
Python ★ 451 6y agoExplain → -
awesome-webservers
⚙️ Collection of one-liner static server
★ 86 1y agoExplain → -
text
👻 An elegant ghost blogging theme. Mandarin optimization support.
CSS ★ 64 2y agoExplain → -
active_merchant_pay2go
💵 Unified API to integrate Ruby on Rails with Pay2go(智付寶) offsite payment.
Ruby ★ 32 2y agoExplain → -
use-mailchimp-form
✉️ MailChimp form react integration implemented in React hooks way.
TypeScript ★ 27 3h agoExplain → -
use-tw-zipcode
這是一個用於處理台灣郵遞區號的 React Hook,提供以下功能 台灣縣市和鄉鎮市區的選擇 自動計算郵遞區號 提供完整的縣市和鄉鎮市區資料
TypeScript ★ 15 6h agoExplain → -
Open-iCloud-Drive
💻 Open iCloud Drive
Swift ★ 15 6y agoExplain → -
open-icloud-drive-electron
💻 open iCloud Drive from menubar
JavaScript ★ 5 2y agoExplain → -
tw_zipcode
:tw: 台灣郵遞區號下拉選單
Ruby ★ 4 2y agoExplain → -
jiazi
A library for generating fake Chinese data.
Ruby ★ 4 2y agoExplain → -
lazy_format
Make frequently used formatter into rails view helper.
Ruby ★ 3 2y agoExplain → -
gary-lai.com-jekyll
🙌 About me
HTML ★ 3 2y agoExplain → -
to_zh
Easy way to convert integer into Chinese character with grammar
Ruby ★ 3 2y agoExplain → -
mlfp
Machine Learning Final Project
Matlab ★ 2 9y agoExplain → -
ixpass
No description.
HTML ★ 2 2y agoExplain → -
use-country-list-zh
一個提供中文國家選擇器的 React Hook,支援英文輸入快速過濾功能。
TypeScript ★ 1 3h agoExplain → -
taiwan-validator
完整的台灣身分與代碼驗證/解析 TypeScript 套件,支援身分證、居留證、統一編號、發票、電話、郵遞區號、健保卡、護照、車牌等。
TypeScript ★ 1 6h agoExplain → -
ts-package-starter
A modern, well-configured starter template for creating TypeScript npm packages. This template provides a solid foundation with best practices and essential tooling for TypeScript package development.
JavaScript ★ 1 7h agoExplain → -
Headline ⑂
A local news theme for Ghost
Handlebars ★ 1 9mo agoExplain → -
goody
No description.
JavaScript ★ 1 2y agoExplain → -
active_merchant_square
💳 Active merchant with square payment
Ruby ★ 1 6mo agoExplain → -
nckucourse
nckucourse
CSS ★ 1 2y agoExplain → -
wyc
It's a gift to my friend.
JavaScript ★ 1 2y agoExplain → -
jena-maven-example
No description.
Java ★ 1 2y agoExplain → -
dip_project
No description.
Python ★ 1 2y agoExplain → -
active_merchant_pay2go_period
No description.
Ruby ★ 1 2y agoExplain → -
zh-web
簡繁轉換
Ruby ★ 1 2y agoExplain → -
algorithm
Unfinished
★ 1 3y agoExplain → -
mamayahuhu.com
No description.
TypeScript ★ 1 2d agoExplain → -
gluon-nlp ⑂
NLP made easy
Python ★ 1 3y agoExplain → -
react_on_rails_with_aws_ebs
No description.
★ 1 6y agoExplain → -
fdata ⑂
No description.
★ 1 6y agoExplain → -
active_merchant_allpay ⑂
This plugin is an active_merchant patch forAllpay(歐付寶) online payment in Taiwan. Now it supports Credit card(信用卡), ATM(虛擬ATM) and CVS(超商繳費).
Ruby ★ 1 3y agoExplain → -
rails_active_merchant_pay2go
Example Rails app with active_merchant_pay2go
Ruby ★ 1 2y agoExplain → -
use-wg
將中文字轉換為威妥瑪拼音的 TypeScript 函式庫。
TypeScript ★ 0 6h agoExplain → -
imgarylai
No description.
★ 0 3d agoExplain → -
use-tw-zipcode-vercel
這是一個用於處理台灣郵遞區號的 React Hook,提供以下功能 台灣縣市和鄉鎮市區的選擇 自動計算郵遞區號 提供完整的縣市和鄉鎮市區資料
TypeScript ★ 0 8d agoExplain → -
ghost-blog
Deploy Ghost (v6) blogging platform on Heroku with just one click. This repository provides a streamlined way to get your Ghost blog running on Heroku with minimal configuration.
JavaScript ★ 0 9h agoExplain → -
spree_gateway ⑂
Huge collection of payment gateways for @spree. Stripe, Braintree, Apple Pay, Authorize.net and many others!
Ruby ★ 0 3y agoExplain → -
next.mamayahuhu.com
No description.
TypeScript ★ 0 21d agoExplain → -
product-module-demo ⑂
Product Module demo
★ 0 2y agoExplain → -
snipcart-l10n ⑂
Snipcart v3.0 localization files
JavaScript ★ 0 2y agoExplain → -
checkout-js ⑂
Optimized One-Page Checkout
TypeScript ★ 0 3y agoExplain → -
spree_print_invoice ⑂
Create a PDF invoice for Spree orders.
Ruby ★ 0 3y agoExplain → -
cornerstone ⑂
The BigCommerce Cornerstone theme
HTML ★ 0 3y agoExplain → -
gprs
No description.
Python ★ 0 2y agoExplain → -
spree ⑂
Spree is an open source E-commerce platform for Rails 6 with a modern UX, optional PWA frontend, REST API, GraphQL, several official extensions and 3rd party integrations. Over 1 million downloads and counting! Check it out:
Ruby ★ 0 3y agoExplain → -
spree_globalize ⑂
Adds support for model translations (multi-language stores) using Globalize gem
Ruby ★ 0 3y agoExplain → -
gatsby-plugin-snipcart-advanced ⑂
Gatsby JS plugin for Snipcart V3 with advanced settings
JavaScript ★ 0 3y agoExplain → -
spree_i18n ⑂
I18n translation files for Spree Commerce.
Ruby ★ 0 3y agoExplain → -
spree_auth_devise ⑂
Provides authentication (user accounts, login & signup) for @spree by using Devise
Ruby ★ 0 3y agoExplain → -
spree_analytics_trackers ⑂
Adds support for Analytics Trackers (Google Analytics & Segment)
Ruby ★ 0 3y agoExplain → -
chakra-templates ⑂
A growing collection of responsive Chakra UI Templates ready to drop into your React project.
★ 0 3y agoExplain → -
coding-interview-university ⑂
A complete computer science study plan to become a software engineer.
★ 0 5y agoExplain → -
finlab_crypto ⑂
Documentation
★ 0 3y agoExplain → -
devise_invitable ⑂
An invitation strategy for devise
Ruby ★ 0 3y agoExplain → -
open-handbook
No description.
★ 0 6y agoExplain → -
strapi ⑂
🚀 Open source Node.js Headless CMS to easily build customisable APIs
★ 0 3y agoExplain → -
TypeScript-Node-Starter ⑂
A reference example for TypeScript and Node with a detailed README describing how to use the two together.
★ 0 3y agoExplain → -
iex-cloud ⑂
IEX Cloud API TypeScript Client
★ 0 3y agoExplain → -
cs170
CS170 at Emory University
Java ★ 0 8y agoExplain → -
ipfinal
No description.
Python ★ 0 8y agoExplain → -
SystemProgramming
note-like code
C ★ 0 8y agoExplain → -
enron-mturk
Create HIT on amazon mturk.
HTML ★ 0 2y agoExplain → -
mturk
No description.
Python ★ 0 8y agoExplain → -
cs571 ⑂
Natural Language Processing.
TeX ★ 0 9y agoExplain → -
homebrew-science ⑂
:microscope: Scientific formulae for the Homebrew package manager
Ruby ★ 0 9y agoExplain → -
mlnotes
Collections of resources in my machine learning pathway.
★ 0 2y agoExplain → -
.csscomb.json
my .csscomb.json
★ 0 10y agoExplain → -
coursera-ml
No description.
Matlab ★ 0 10y agoExplain → -
zh-conv
Website for gem 'zh'
Ruby ★ 0 2y agoExplain → -
ncku102graduation
This is the website for graduation of NCKU in 2013
Ruby ★ 0 2y agoExplain →
No repos match these filters.