Skip to content
View b84330808's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report b84330808

Report abuse

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

Report abuse
b84330808/README.md

Wei-Lun Li

Software engineer in Tokyo working on backend performance and reliability. In my own time I build developer tools: MCP servers, LLM-agent workflows and desktop apps.

  • 🎬 Weilun Studio: a one-person, AI-native media studio. Claude Code runs the production pipeline behind 奇聞蒐藏室 (YouTube) and 豆柴こつぶ (Instagram): 400+ videos, 50M+ views, 30K+ followers. → weilunli.me/studio
  • 🌏 Chinese (native) · Japanese (JLPT N1) · English

Projects

Project What it does
WhisperPress Offline push-to-talk voice typing for Windows, powered by whisper.cpp
mcp-server-for-bambu MCP server for Bambu Lab 3D printers over LAN/MQTT (npm)
mcp-server-japan-atlas MCP server for Japanese address normalization & GSI elevation lookup (npm)
iizuka-ikeru-navi Transit navigator for Iizuka City built on open data (e-ZUKA Smart App Contest 2026)
RubyTextView Android TextView with ruby text (furigana / pinyin)

Open source contributions

Project Stars Merged pull requests
open-webui/open-webui ★ 157k i18n: complete zh-TW translation and replace Mainland terms
tauri-apps/tauri ★ 112k fix(cli): percent-decode request paths in the builtin dev server (fix #12763)
NationalSecurityAgency/ghidra ★ 97k Preserve template namespaces before operator-> and operator->*
puppeteer/puppeteer ★ 96k fix(bidi): return domain cookies for the domain itself in page.cookies()
spring-projects/spring-boot ★ 82k Plain text thread dump reports threads in Object.wait() as parking on Java 19+
ECS structured logging writes empty service and service.node objects
JsonWriter writes NaN and infinite values as invalid JSON
remotion-dev/remotion ★ 70k @remotion/paths: Fix geometry of chained T commands after a non-quadratic command
@remotion/paths: Fix getBoundingBox() for curves starting with a flat tangent
@remotion/cli: Accept --props files saved with a UTF-8 BOM
rclone/rclone ★ 61k operations: fix cat --offset before the start of a file printing its end
laurent22/joplin ★ 57k All: Translation: Update zh_TW.po
prettier/prettier ★ 52k Add tests for NO-BREAK SPACE next to CJK in Markdown
google/guava ★ 52k Fix Graphs.hasCycle missing cycles in undirected graphs
skylot/jadx ★ 51k fix(core): use Locale.ROOT for case conversion of names
vuetifyjs/vuetify ★ 41k fix(VTextarea): keep native undo history with auto-grow
preactjs/preact ★ 39k fix(types): add declarative shadow DOM attributes to <template>
NervJS/taro ★ 38k fix(mini-ci): 修复 Windows 下 devToolsInstallPath 配置校验及开发者工具路径未加引号的问题
dgtlmoon/changedetection.io ★ 35k Read the element locking scripts as UTF-8
immutable-js/immutable-js ★ 33k Fix keys of an interposed Seq iterated in reverse
Fix stack overflow when slicing a zipped Seq of unknown size from the end
mantinedev/mantine ★ 32k [@mantine/hooks] use-mask: Fix generatePattern output being rejected by browsers for masks with # token
chinabugotech/hutool ★ 30k 修复默认Locale为土耳其语时忽略大小写的Map及Month/Week/ColorUtil名称解析失效的问题
locustio/locust ★ 28k Save a locustfile downloaded from a URL byte for byte
recharts/recharts ★ 28k fix(ErrorBar): clip error bars with their graphical item
fix(LabelList): skip labels of elements outside the clipped domain
45 more projects
Project Stars Merged pull requests
rollup/rollup ★ 26k Merge synthetic named exports into static namespaces when preserving modules
homebridge/homebridge ★ 26k fix: accept a config.json that starts with a UTF-8 BOM
pypa/pipenv ★ 25k Read and write the Pipfile as UTF-8 everywhere
plotly/dash ★ 24k Decode the pages router pathname before matching it
jsdom/jsdom ★ 22k Fix template elements in XHTML: prefixed parsing and innerHTML
grpc-ecosystem/grpc-gateway ★ 20k openapi: look up service comments by declaration index
video-dev/hls.js ★ 17k Load the start fragment again when its request is aborted before anything is buffered
hubotio/hubot ★ 17k fix(create): install the default scripts on Windows
ast-grep/ast-grep ★ 16k fix(sarif): set the log version to 2.1.0
tracel-ai/burn ★ 16k fix(tensor): return fewer chunks instead of panicking in chunk
Y2Z/monolith ★ 16k fix: treat Windows drive-letter paths as local files
jupyterlab/jupyterlab ★ 15k Do not add default metadata to cells when opening the Property Inspector
apexcharts/apexcharts.js ★ 15k fix(dumbbell): don't draw end dots for a null row
electron-userland/electron-builder ★ 15k fix: read file:/// custom toolset URLs as file URLs
jackc/pgx ★ 14k pgconn: read the default service file from %APPDATA%\postgresql on Windows
plasma-umass/scalene ★ 14k Save %%scalene cells as UTF-8
fuma-nama/fumadocs ★ 14k fix(openapi, asyncapi): resolve index card links from the output directory
plantuml/plantuml ★ 13k 🐛 Use locale-independent case conversion for stdlib files, SVG attributes and keywords
orhun/git-cliff ★ 12k fix(args): scope --workdir to its directory on Windows
spencermountain/compromise ★ 12k write 'hundred sextillion' at 1e23, not 1e20
fix numbers with hundreds inside a thousand or million group
Milkdown/milkdown ★ 12k fix(preset-commonmark): keep remarkLineBreak linear on long runs of spaces
esphome/esphome ★ 12k [core] Reject a 0 K color temperature instead of crashing
dbcli/mycli ★ 12k Read and write default myclirc as UTF-8
foliojs/pdfkit ★ 11k Fix a CommonJS bundle of the Node build throwing on load on Windows
BYVoid/OpenCC ★ 10k s2twp:不再將「進程」一律轉為「程序」;tw2sp 保留「行程」(#1313)
s2twp:不再將「程序」一律轉為「程式」(#1313)
tw2sp:不再將「執行」一律轉為「運行」(#1313)
s2twp:不再將「社區」一律轉為「社群」(#1313)
s2twp:不再將「支持」一律轉為「支援」(#1313)
s2twp:不再將「高級」一律轉為「高階」(#1313)
bombshell-dev/clack ★ 8.1k fix(prompts): handle trailing backslash in path prompt directory mode
FullHuman/purgecss ★ 8.1k fix(#1326): load the config file from a file URL
unovue/reka-ui ★ 6.9k fix(Tabs): don't activate tabs on right or middle click
mui/mui-x ★ 5.9k [pickers] Only scroll the Digital Clock when its active item changes
rhaiscript/rhai ★ 5.8k Do not hang when padding a string with an empty string
chakra-ui/zag ★ 5.2k fix(tree-view, listbox): let lowercase a reach typeahead
style-dictionary/style-dictionary ★ 4.9k fix: clean copy_assets output with fs.rm() so it works on Node.js 25+
poem-web/poem ★ 4.5k fix(openapi): use the error type's bad_request_handler in Result responses
adaltas/node-csv ★ 4.3k fix(csv-parse): only destroy on end when the stream has destroy (fix #409)
spencermountain/spacetime ★ 4.1k fix(walk): start the day at 1am when dst skips midnight
fix(startOf): start a southern summer in the previous december
fix(diff): count months from the start date, not the last step
fix(add): walk to the target year when adding years
dongrixinyu/JioNLP ★ 3.9k Carry 下午 over to the end of spans that start at 两点
honkit/honkit ★ 3.5k fix: use structure.readme as index.html when README.md also exists
VOICEVOX/voicevox ★ 3.3k ci: actionlintを導入し、指摘されたワークフローの問題を修正する
kevin1024/vcrpy ★ 3k Match urlencoded parameter names in filter_post_data_parameters
est31/cargo-udeps ★ 2.1k Don't warn about duplicates when a dependency is listed per target
piccolo-orm/piccolo ★ 2k Return Decimal values from Array(Numeric()) columns in SQLite
un-ts/eslint-plugin-import-x ★ 781 fix(no-cycle): detect cycles through side-effect imports
run-llama/llama-agents ★ 464 Don't report idle while sent events are undelivered
Migushthe2nd/MsEdgeTTS ★ 347 docs: clarify toFile() output files and where prosody options go
textlint-ja/textlint-rule-ja-no-successive-word ★ 7 feat: 記号や空白の連続を許可するオプションを追加

Updated daily by a GitHub Action. All my merged pull requests →

weilunli.me · LinkedIn

Pinned Loading

  1. whisperpress whisperpress Public

    Hold a key, speak, done - fully offline push-to-talk voice typing & voice notes for Windows, powered by whisper.cpp

    JavaScript 13 2

  2. RubyTextView RubyTextView Public

    RubyTextView is an android view that can create TextView with ruby text, like furigana in Japanese or pinyin in Chinese.

    Kotlin 10 3

  3. infenson.js infenson.js Public

    Multi-web-terminal. You can launch multiple terminals on browsers!

    JavaScript 2

  4. iizuka-ikeru-navi iizuka-ikeru-navi Public

    いいづか 行けるナビ — 飯塚市のバス・エリアワゴン・予約交通を統合案内する市民向けナビと、オープンデータによる交通課題分析(e-ZUKA スマートアプリコンテスト2026)

    HTML

  5. mcp-server-for-bambu mcp-server-for-bambu Public

    Unofficial MCP server for Bambu Lab 3D printers (LAN/MQTT). Real-time status, AMS info, print control, maintenance ledger.

    TypeScript

  6. mcp-server-japan-atlas mcp-server-japan-atlas Public

    MCP server for Japanese address normalization and GSI elevation lookup. No API keys required.

    TypeScript