Skills
Abilities, not projects. Select any ability to see the work that proves it. Levels are my own rating against the rules below, and every level links to its evidence.
By level
- FoundationLv5
- Platform engineering · AI-native development
- ProvenLv4
- Public websites · Web Components · Backend services & APIs · Site & data migration · Auth & access control · Data pipelines & realtime · Retrieval with citations (RAG) · AI agents & tool use · CI/CD & edge deployment · Automated testing · Turning staff needs into tools
- In useLv3
- Complex browser layout · PostgreSQL & database testing · LLM evaluation · Self-hosted models · Containers & self-hosting · Security practice · Multi-model review · Team lead & delivery (self-reported)
- BuiltLv2
- Speech (ASR & TTS) · Teaching AI to non-engineers
- Learning
- Organisation-wide SSO · Archive cutover · Voice cloning · Paid SaaS
How levels are set
- Foundation (level 5 of 5)
Meets Proven, other systems or other people’s work depend on it, and it is public (open repo) or a written method reused across projects.
- Proven (level 4 of 5)
At least 2 pieces of my own work in real use, plus at least 1 measured result (tests, eval numbers, migration counts or audit findings).
- In use (level 3 of 5)
At least 1 piece of my own work in real use, designed and delivered by me.
- Built (level 2 of 5)
A working prototype or proof of concept with tests or a written design; no real users yet.
- Learning
Started, but not live yet or deliberately not switched on.
- Real use means live, in use inside the organisation, in pilot, or open source and in use. Work I only co-maintain is listed but never counts.
- Self-reported: when the only evidence is my own résumé, the level stops at In use and the ability is tagged.
- Where my AI page rates the same skill, the lower of the two ratings is used, so the pages never disagree.
Ability tree
Platform engineering is the base everything else grows from. Six branches, one row per ability.
Platform engineering (multi-tenant backend) Foundation (level 5 of 5)
Platform engineering (multi-tenant backend)
Foundation (level 5 of 5)- What I can do
- I design and run the multi-tenant backend that other sites and tools are built on.
- Why this level
- Meets Proven (3 sites and tools in real use, 2,600+ tests); other people’s sites depend on it and the code is public.
Evidence
-
drust Open source
drust, my Rust backend: open source on GitHub, 2,600+ tests, runs 6 Tzu Chi sites and tools in use.
-
Live annual-report site: editors sign in through drust and the dashboard writes to it directly.
-
Sixty Impact Report Live
Live report site; its pages, text chunks and images are stored on drust.
More evidence
-
Buddha Day Site Live Co-maintainer
A site built by colleagues whose data layer I moved to drust. I co-maintain it, so it is listed but not counted.
Web front-end I build the sites people actually visit.
-
Public websites Public websites, static and hybrid Proven (level 4 of 5)
Public websites, static and hybrid
Proven (level 4 of 5)- What I can do
- I build and ship public websites, from zero-build pages to static sites with a gated draft preview.
- Why this level
- 3 live sites, all built by me; measured by 515 Vitest tests (annual report) and 32 test files (main site).
Evidence
-
The Tzu Chi Foundation’s main website, moved from Joomla to static Lit pages; live, with 32 test files.
-
I built the live site for the Harvard CAMLab × Tzu Chi exhibition: 11 pages from one Figma file, 0 build steps.
-
Live annual-report site, static pages plus a gated live-draft preview; 515 Vitest tests.
-
Web Components Web Components (Lit) Proven (level 4 of 5)
Web Components (Lit)
Proven (level 4 of 5)- What I can do
- I build interfaces as Lit web components, including server-rendered ones on a live site.
- Why this level
- 3 pieces of work in real use; measured: TypeScript errors cut from 22 to 0 on the 60th-anniversary site.
Evidence
-
Lit server-side rendering in production on the foundation’s main website.
-
Tzu Chi 60th Anniversary Site Live Co-author
Live 60th-anniversary site in Lit, co-authored; a type-gate refactor took TypeScript errors from 22 to 0.
-
Tzu Chi Weekly AI pipeline In use · internal
The editors’ dashboard for the weekly issue is a Lit app, in use for every issue.
-
Complex browser layout Complex layout in the browser (vertical Chinese, pagination, page-flip) In use (level 3 of 5)
Complex layout in the browser (vertical Chinese, pagination, page-flip)
In use (level 3 of 5)- What I can do
- I make the browser do print-like layout: vertical Chinese, automatic pagination, a realistic page-flip.
- Why this level
- 1 piece of work in real use (MasterSlides, 74 tests); the page-flip reader is still a prototype.
Evidence
-
MasterSlides Open source
Public repo in use at the foundation: Google Docs become vertical Chinese slides that the browser paginates; 74 tests.
-
pages Prototype
PDF reader with a realistic page-flip, on my own fork of StPageFlip. A prototype, so not counted.
Backend & data APIs, databases and the pipelines between them.
-
Backend services & APIs Backend services & APIs Proven (level 4 of 5)
Backend services & APIs
Proven (level 4 of 5)- What I can do
- I build API servers in Rust and TypeScript and keep them covered by tests.
- Why this level
- 3 pieces of work in real use; measured by 2,600+ tests on drust.
Evidence
-
drust Open source
Rust (axum) backend with a REST API and an MCP endpoint per tenant; 2,600+ tests.
-
Tzu Chi Weekly AI pipeline In use · internal
Fastify worker that runs the 11-step import for every weekly issue.
-
Tzu Chi 60th Anniversary Site Live Co-author
Hono and PostgreSQL backend for the live 60th-anniversary site, co-authored.
-
PostgreSQL & database testing PostgreSQL & database testing In use (level 3 of 5)
PostgreSQL & database testing
In use (level 3 of 5)- What I can do
- I design Postgres schemas with row-level security and test them inside the database.
- Why this level
- 2 pieces of work in real use, but the measured database results (7,137 pgTAP assertions, 38 migrations) come from staging and a POC. Rises to Proven when Digital Archive goes live.
Evidence
-
Tzu Chi Weekly AI pipeline In use · internal
Self-hosted Supabase (Postgres) holds every weekly issue; in use.
-
legit Pilot
Supabase with pgvector and pg_trgm behind law and template search; internal pilot.
-
Digital Archive 1.5 Staging
About 2.0M records; 7,137 pgTAP assertions green in a full run. Still on staging, so not counted yet.
More evidence
-
Identity Platform Proof of concept
38 SQL migrations with sign-in hooks written in Postgres. A POC, so not counted.
-
Site & data migration Site & data migration Proven (level 4 of 5)
Site & data migration
Proven (level 4 of 5)- What I can do
- I move live sites and large datasets to new systems without breaking links or losing records.
- Why this level
- 2 live migrations; measured: 222 redirect rules kept, 2,674 articles converted with 0 errors (prototype run), about 2.0M records moved (staging).
Evidence
-
The main website moved off Joomla with 222 redirect rules kept at the edge.
-
Yearly campaign site moved from server rendering to a static export that reads from drust; live.
-
Ghost Article Migration Prototype
2,674 Ghost articles converted to import-ready JSON, 0 errors in the final run. A prototype, so not counted.
More evidence
-
Digital Archive 1.5 Staging
About 2.0M records moved from PHP and Solr to self-hosted Supabase. Still on staging, so not counted.
-
Auth & access control Auth & access control Proven (level 4 of 5)
Auth & access control
Proven (level 4 of 5)- What I can do
- I build sign-in and permission layers that fail closed: nothing opens unless a rule allows it.
- Why this level
- 2 pieces of work in real use (drust, the annual report); measured by the drust security retest (0 Critical, 0 High). The identity platform is a POC.
Evidence
-
drust Open source
Tenant isolation enforced inside SQL, plus row-level security; the write path never takes raw SQL.
-
Fail-closed draft gate: Google sign-in with an allowlist, and any failure sends you to the login page. Live.
-
Identity Platform Proof of concept
Identity platform on OIDC with sign-in hooks in Postgres; after a ban, a token stays valid up to 15 minutes. A POC, so not counted.
-
Data pipelines & realtime Data pipelines & realtime Proven (level 4 of 5)
Data pipelines & realtime
Proven (level 4 of 5)- What I can do
- I build import pipelines and push their progress to the people using them, live.
- Why this level
- 3 pieces of work in real use; measured: 682 InDesign stories parsed, an 11-step import streamed live.
Evidence
-
Tzu Chi Weekly AI pipeline In use · internal
11-step import; every step is streamed live to editors over Supabase Realtime.
-
MasterSlides Open source
A phone remote pages the slides over a per-room realtime channel on drust.
-
Sixty Impact Report Live
682 InDesign stories parsed from one print file into a website and a search index.
AI engineering AI systems that cite, verify and keep data in-house.
-
Retrieval with citations (RAG) Retrieval with citations (RAG) Proven (level 4 of 5)
Retrieval with citations (RAG)
Proven (level 4 of 5)- What I can do
- I build retrieval that has to cite its source: law clauses, page numbers, archive records.
- Why this level
- 2 pieces of work in real use, with measured hit@1 (0.821 and 0.949). Matches my own AI rating for Retrieval.
Evidence
-
legit Pilot
Contract-review retrieval: hit@1 0.821 on 56 clauses and 0.949 on 39 template queries. Internal pilot.
-
Sixty Impact Report Live
Local multimodal RAG over a print report; the answer model is told to cite every claim by page.
-
Digital Archive 1.5 Staging
Text, semantic and image search, with an assistant that checks its own citations. Still on staging, so not counted.
-
AI agents & tool use AI agents & tool use (Claude Agent SDK, MCP) Proven (level 4 of 5)
AI agents & tool use (Claude Agent SDK, MCP)
Proven (level 4 of 5)- What I can do
- I build agents on the Claude Agent SDK and MCP, where the model judges and code holds the evidence.
- Why this level
- 3 pieces of work in real use; measured: run-to-run agreement 56% → 81% on the golden set. Matches my own AI rating for Agents.
Evidence
-
Tzu Chi Weekly AI pipeline In use · internal
The Claude Agent SDK parses and rewrites each weekly issue, with tools disabled; in use.
-
legit Pilot
Contract-review agent that shows each tool call; run-to-run agreement rose from 56% to 81%.
-
drust Open source
A native MCP endpoint per tenant, with 76 tools an AI agent can call.
More evidence
-
WebForge Prototype
Chat-to-commit website editor on the Agent SDK, working prototype in 3 days. Not counted.
-
Invoice Agent Prototype
Agent SDK and Playwright MCP agent that collects vendor invoices. A prototype, so not counted.
-
LLM evaluation LLM evaluation & quality gates In use (level 3 of 5)
LLM evaluation & quality gates
In use (level 3 of 5)- What I can do
- I measure AI output against fixed sets before I trust it, and I keep the numbers that look bad.
- Why this level
- 1 piece of work in real use; the test sets are still small. Matches my own AI rating for Evaluation.
Evidence
-
legit Pilot
Golden set of 10 real cases from the legal office; case-type accuracy is still 44%, and I report it.
-
iPAS Adaptive Mock Exam Prototype
1,794 generated practice questions passed a blind check by a second model. A prototype, so not counted.
-
Voice Collection QA Loop Proof of concept
Every generated sentence is transcribed back and scored by character error rate. A POC, so not counted.
-
Self-hosted models Self-hosted models (data stays in-house) In use (level 3 of 5)
Self-hosted models (data stays in-house)
In use (level 3 of 5)- What I can do
- I run self-hosted open models so sensitive text never leaves the organisation.
- Why this level
- The rubric would allow Proven (2 pieces of work in real use), but the level is capped at my own AI rating for Local models.
Evidence
-
Sixty Impact Report Live
Chat, vision, embedding and rerank all on self-hosted Qwen3; no external AI API.
-
legit Pilot
Every AI call goes through the foundation’s own model gateway.
-
Live Subtitles Prototype
Translation sped up from about 24 s per sentence by turning model thinking off. A prototype, so not counted.
-
Speech (ASR & TTS) Speech: ASR & TTS Built (level 2 of 5)
Speech: ASR & TTS
Built (level 2 of 5)- What I can do
- I build speech pipelines end to end: recognition, live captions and text-to-speech.
- Why this level
- The rubric would allow In use (the text-to-speech step runs in production), but the level is capped at my own AI rating for Voice & speech.
Evidence
-
Live Subtitles Prototype
Chinese speech to English subtitles, broadcast live to every device in the room; working in 2 days. A prototype.
-
Voice Collection QA Loop Proof of concept
Voice enrollment where speech recognition checks every recorded sentence (error threshold 0.10). A POC.
-
Tzu Chi Weekly AI pipeline In use · internal
Text-to-speech audio for every article of the weekly issue, inside an internal production pipeline.
Infrastructure & security I deploy, host and harden what I build.
-
CI/CD & edge deployment CI/CD & edge deployment (GitLab CI, Cloudflare) Proven (level 4 of 5)
CI/CD & edge deployment (GitLab CI, Cloudflare)
Proven (level 4 of 5)- What I can do
- I wire builds, checks and deploys so a saved change reaches the live site on its own.
- Why this level
- 3 live sites; measured: 222 redirect rules kept at the edge, 3 build assertions before every annual-report deploy.
Evidence
-
GitLab CI deploys the exhibition site to Cloudflare Pages, with no build step.
-
Every save fires a webhook: build, 3 build assertions, preview, then production, live in about 2 minutes by design.
-
GitLab CI to Cloudflare Pages, with 222 redirect rules served at the edge.
-
Containers & self-hosting Containers & self-hosting In use (level 3 of 5)
Containers & self-hosting
In use (level 3 of 5)- What I can do
- I package services in Docker and self-host the stacks they need.
- Why this level
- 2 pieces of work in use, but no measured result specific to hosting, so not Proven.
Evidence
-
Tzu Chi Weekly AI pipeline In use · internal
A self-hosted Supabase stack behind a single Kong gateway, run in Docker.
-
drust Open source
Shipped as a multi-architecture Docker image.
-
Digital Archive 1.5 Staging
Public site and admin run as a staging copy on Sealos. Not counted.
-
Security practice Security practice In use (level 3 of 5)
Security practice
In use (level 3 of 5)- What I can do
- I test my own systems for security holes, fix what is found and write it down.
- Why this level
- 2 pieces of work in real use, but the assessments were self-commissioned with no third party, so not Proven.
Evidence
-
drust Open source
Two AI-run assessments of my own instance: 1 High found and fixed; the retest on v1.41.3 found 0 Critical, 0 High, 1 Medium, 2 Low.
-
Tzu Chi Weekly AI pipeline In use · internal
A written security audit against ISO 27001 and OWASP.
-
Identity Platform Proof of concept
Staff status taken from Google’s signed domain claim, not an email string. A POC, so not counted.
Engineering practice How I ship: AI-native, spec-first, tested.
-
AI-native development AI-native development (spec → plan → implement → review, Claude Code) Foundation (level 5 of 5)
AI-native development (spec → plan → implement → review, Claude Code)
Foundation (level 5 of 5)- What I can do
- I ship with Claude Code on a written loop: spec, plan, implement test by test, then review.
- Why this level
- A written method reused across all my main work and visible in a public repo. Matches my own AI rating for AI-native development.
Evidence
-
legit Pilot
73 spec and plan documents and an append-only decision log.
-
15 dated design specs for the main-site migration.
-
Tzu Chi Weekly AI pipeline In use · internal
22 specs and plans kept in the repo.
More evidence
-
MasterSlides Open source
8 design specs, each paired with a plan, in a public repo.
-
Automated testing Automated testing Proven (level 4 of 5)
Automated testing
Proven (level 4 of 5)- What I can do
- I keep systems honest with automated tests, from units to the database.
- Why this level
- 3 pieces of work in real use, each with a stated test count.
Evidence
-
Multi-model review Multi-model review workflows In use (level 3 of 5)
Multi-model review workflows
In use (level 3 of 5)- What I can do
- I have one model check another model’s work before it ships.
- Why this level
- Only legit is in real use; the other review work is on staging or a POC.
Evidence
-
legit Pilot
Built on a spec → plan → implement → review loop, with every ruling kept in a decision log; internal pilot.
-
Digital Archive 1.5 Staging
Codex wrote the database migrations; Claude planned each batch and checked every migration against the live database. Staging, so not counted.
-
Identity Platform Proof of concept
Security review loop on the identity-platform plans. A POC, so not counted.
Leadership & product I run the work, not only write it.
-
Team lead & delivery Team lead & delivery In use (level 3 of 5) self-reported (résumé)
Team lead & delivery
In use (level 3 of 5) self-reported (résumé)- What I can do
- I lead a team and run projects from requirements to launch.
- Why this level
- The lead role rests on my résumé only, so the level is capped at In use.
Evidence
-
Résumé From my résumé timeline
IT Lead at the Tzu Chi Foundation since 2023-07, leading a team of 5–8 (from my résumé).
-
Delivered the main-website migration; live.
-
Delivered the annual-report site and its staff-editable CMS; live.
-
Turning staff needs into tools Turning staff needs into tools Proven (level 4 of 5)
Turning staff needs into tools
Proven (level 4 of 5)- What I can do
- I turn what colleagues need into tools they use without an engineer in the loop.
- Why this level
- 3 pieces of work in real use; measured: run-to-run agreement 56% → 81% on the legal office’s golden set.
Evidence
-
Staff edit the report themselves in a CMS; a saved change goes live in about 2 minutes by design.
-
Tzu Chi Weekly AI pipeline In use · internal
Editors review and publish each weekly issue from their own dashboard.
-
legit Pilot
The legal office supplied the golden set; agreement rose from 56% to 81%.
-
Teaching AI to non-engineers Teaching AI to non-engineers Built (level 2 of 5)
Teaching AI to non-engineers
Built (level 2 of 5)- What I can do
- I help colleagues who don’t write code start using AI on their own.
- Why this level
- The course is built, but its delivery is not documented. Matches my own AI rating for Teaching.
Evidence
-
Claude for non-engineers Beyond work
A 2-hour Claude course for office, writing and planning staff: 8 chapter videos, 60 scenes.
-
Tzu Chi Video Kit Beyond work
A kit that lets non-technical colleagues ask Claude for on-brand videos in plain language.
-
Résumé From my résumé timeline
User guides and best-practice notes for colleagues (from my résumé).
Learning
Started, but not live yet or deliberately not switched on. Each one says why.
-
Organisation-wide SSO in production
LearningOne sign-in for every staff member and volunteer, running in production.
Why it is locked The identity platform is a POC, not in production.
-
Identity Platform Proof of concept
OIDC identity platform: 38 SQL migrations and 191 test files, not in production.
-
-
Large-scale archive cutover
LearningSwitching a 2M-record archive over to the new system in production.
Why it is locked Digital Archive is still on staging.
-
Digital Archive 1.5 Staging
About 2.0M records on staging; the production cutover has not happened yet.
-
-
Voice cloning
LearningCloning a speaker’s voice from the recordings collected.
Why it is locked Collection and the error-rate check are done; cloning is not switched on.
-
Voice Collection QA Loop Proof of concept
Voice collection with a closed error-rate loop; cloning is not switched on yet.
-
-
Launching a paid SaaS
LearningTaking a paid software service live, with billing.
Why it is locked flip7book has Stripe billing and Cloudflare for SaaS, but was never launched.
-
flip7book Prototype
Flipbook SaaS with Stripe billing and Cloudflare for SaaS, built in 1 day; never launched.
-
Stack index
Every tool named in my work, grouped. Open a group to see which work uses each one.
Languages TypeScript · Python · CSS · HTML · JavaScript · Rust · YAML
- TypeScript
- Used in: Tzu Chi Weekly AI pipeline · MasterSlides · iPAS Adaptive Mock Exam · WebForge · pages · Tzu Chi 60th Anniversary Site · Invoice Agent · tceditor · CIS UI Kit · Exhibition Kiosk · flip7book
- Python
- Used in: legit · Sixty Impact Report · Tzu Chi Annual Report · iPAS Adaptive Mock Exam · Live Subtitles · Ghost Article Migration · Voice Collection QA Loop
- CSS
- Used in: Journey to Enlightenment · MasterSlides · Ink Animation Page
- HTML
- Used in: Journey to Enlightenment · Ink Animation Page
- JavaScript
- Used in: Journey to Enlightenment · Ink Animation Page
- Rust
- Used in: drust
- YAML
- Used in: Invoice Agent
Web Next.js · React · Lit · Astro · Tailwind CSS · FastAPI · PDF.js · Storybook · Vite · WebSocket · anime.js · axum · Canvas 2D · Chrome Extension (MV3) · Fastify · Flask · hls.js · Hono · LINE LIFF · marked · PWA · Redux Toolkit · StPageFlip · SVG · Web Push · zod
- Next.js
- Used in: iPAS Adaptive Mock Exam · Digital Archive 1.5 · Identity Platform · tceditor · July Auspicious Month · Tzu Chi Weekly PWA · Buddha Day Site
- React
- Used in: legit · Digital Archive 1.5 · WebForge · tceditor · Exhibition Kiosk
- Lit
- Used in: Tzu Chi Portal Migration · Tzu Chi Weekly AI pipeline · Tzu Chi 60th Anniversary Site · CIS UI Kit
- Astro
- Used in: Sixty Impact Report · Tzu Chi Annual Report · CIS UI Kit
- Tailwind CSS
- Used in: Tzu Chi Annual Report · Tzu Chi Weekly PWA · Buddha Day Site
- FastAPI
- Used in: Live Subtitles · Voice Collection QA Loop
- Storybook
- Used in: tceditor · CIS UI Kit
- Vite
- Used in: Tzu Chi Portal Migration · Exhibition Kiosk
- WebSocket
- Used in: WebForge · Live Subtitles
- anime.js
- Used in: Ink Animation Page
- axum
- Used in: drust
- Canvas 2D
- Used in: pages
- Chrome Extension (MV3)
- Used in: Exhibition Kiosk
- Fastify
- Used in: Tzu Chi Weekly AI pipeline
- Flask
- Used in: Sixty Impact Report
- hls.js
- Used in: Journey to Enlightenment
- Hono
- Used in: Tzu Chi 60th Anniversary Site
- LINE LIFF
- Used in: Tzu Chi Weekly PWA
- marked
- Used in: MasterSlides
- PWA
- Used in: Tzu Chi Weekly PWA
- Redux Toolkit
- Used in: Exhibition Kiosk
- StPageFlip
- Used in: pages
- SVG
- Used in: Ink Animation Page
- Web Push
- Used in: Tzu Chi Weekly PWA
- zod
- Used in: tceditor
Data drust · PostgreSQL · Supabase · OAuth / OIDC · pgroonga · pgTAP · pgvector · SQLite · sqlite-vec · Stripe
- drust
- Used in: Tzu Chi Portal Migration · Sixty Impact Report · Tzu Chi Annual Report · MasterSlides · iPAS Adaptive Mock Exam · Tzu Chi 60th Anniversary Site · July Auspicious Month · Buddha Day Site · Voice Collection QA Loop
- PostgreSQL
- Used in: Digital Archive 1.5 · Identity Platform · Tzu Chi 60th Anniversary Site · Ghost Article Migration
- Supabase
- Used in: Tzu Chi Weekly AI pipeline · legit · Digital Archive 1.5 · Identity Platform
- OAuth / OIDC
- Used in: Identity Platform
- pgroonga
- Used in: Digital Archive 1.5
- pgTAP
- Used in: Digital Archive 1.5
- pgvector
- Used in: Digital Archive 1.5
- SQLite
- Used in: drust
- sqlite-vec
- Used in: drust
- Stripe
- Used in: flip7book
AI Qwen3 · Claude Agent SDK · MCP · OpenCC · Claude Code · gpt-oss-120b · pydantic-ai · PyMuPDF · VAD
- Qwen3
- Used in: legit · Sixty Impact Report · iPAS Adaptive Mock Exam · Voice Collection QA Loop
- Claude Agent SDK
- Used in: Tzu Chi Weekly AI pipeline · WebForge · Invoice Agent
- MCP
- Used in: drust · Invoice Agent
- OpenCC
- Used in: Live Subtitles · Voice Collection QA Loop
- Claude Code
- Used in: Invoice Agent
- gpt-oss-120b
- Used in: iPAS Adaptive Mock Exam
- pydantic-ai
- Used in: legit
- PyMuPDF
- Used in: legit
- VAD
- Used in: Live Subtitles
Infra & testing Cloudflare · Docker · Vitest · GitLab CI · pytest · Turborepo · Bun · Deno · Envoy · node:test · Playwright · Rollup · simple-git · wasmtime · Web Test Runner
- Cloudflare
- Used in: Tzu Chi Portal Migration · Journey to Enlightenment · Sixty Impact Report · Tzu Chi Annual Report · MasterSlides · WebForge · Tzu Chi 60th Anniversary Site · Ink Animation Page · Exhibition Kiosk · July Auspicious Month · flip7book
- Docker
- Used in: drust · Tzu Chi Weekly AI pipeline · Identity Platform · Ghost Article Migration
- Vitest
- Used in: Tzu Chi Annual Report · Identity Platform · WebForge · pages
- GitLab CI
- Used in: Tzu Chi Portal Migration · Journey to Enlightenment · Tzu Chi Annual Report
- pytest
- Used in: Live Subtitles · Ghost Article Migration · Voice Collection QA Loop
- Turborepo
- Used in: tceditor · CIS UI Kit
- Bun
- Used in: MasterSlides
- Deno
- Used in: Tzu Chi 60th Anniversary Site
- Envoy
- Used in: Identity Platform
- node:test
- Used in: Tzu Chi Portal Migration
- Playwright
- Used in: iPAS Adaptive Mock Exam
- Rollup
- Used in: pages
- simple-git
- Used in: WebForge
- wasmtime
- Used in: drust
- Web Test Runner
- Used in: CIS UI Kit