Etta Huang
Life is a constant process of observing and analyzing before drawing a conclusion. Across product planning, project management, systems analysis and software development, I start by understanding the user's context, how the team works and the technical constraints, and only then decide how to plan and execute. I have hands-on experience with game products, enterprise information systems and government systems, and I continue to explore AI agents, multi-agent collaboration and AI-assisted workflows in my own projects.
Career Highlights
End-to-end delivery: requirements analysis, system design, development coordination and release
Worked on MMORPG, web game and mobile game products, covering system design, feature design, combat balancing, in-game economy, progression, UI/UX, release planning and live operations. Wrote specifications, coordinated development and communicated across departments, balancing player needs, game mechanics and business goals.
Worked on CRM, membership apps, e-commerce, internal enterprise systems and government systems, in roles spanning PM, SA and developer — from requirements analysis, system design and development coordination to implementation, testing and production support.
Research and build AI agents, multi-agent collaboration and AI workflows in personal projects, applying them to requirements, systems analysis, coding, code review, testing and verification — with deliberate attention to agent roles, task handoff, permission and responsibility boundaries, and human review of every output.
Skills
Systems Analysis & Delivery
Core Development Stack
AI-Assisted Development Stack
AI Workflow
Portfolio
Viewable online as interactive HTML pages
An admin access-control foundation built with Go 1.26, Rust and React 18, featuring RBAC roles, data-scope control, revocable sessions and fail-closed authorization decisions.
SA/SD specification for an MMORPG operations back office: account and character management, suspensions and reinstatements, item delivery, log queries and a multi-role permission model.
A real project status report covering client CRM work, membership-app attribute changes, coupons and vendor schedule control — with progress tracking, risk assessment and cross-team issue resolution.
Side Projects
Personal projects built with a multi-agent workflow. Some screens are mockups; all data is fictional.
Feature discussion: ChatGPT. Mockups: Antigravity. Spec confirmation and implementation: Claude Code. Code review and first-pass spec acceptance: Codex. Decisions and final acceptance: Etta.
Knowledge is kept in an Obsidian vault, including each project's ADRs, RFCs and task records.
- A custom phrase library lets you tap together a journal entry in seconds
- Selected items form a readable sentence preview in real time; switch to full mode for free writing
- AI may never modify journal text: it can only write to derived tables, enforced by code boundaries and lint rules — not just by prompts
- SQLCipher-encrypted database, keys held in the system secure store, plus an app lock
- (Planned) Period review: pick a time range and let AI summarize the events, feelings and daily records in it
- Credentials, cards, bank details and other personal data stay encrypted on the device — no mandatory account or cloud sync
- Custom record formats: define the fields each kind of data needs instead of fitting the app's presets
- Fields are classified as normal, private or secret; passwords are always secret, and only normal fields are searchable
- Threat model first: the database key is decoupled from the app passcode, with a privacy screen, 30-second clipboard clearing and content-free notifications
- Archive the text and values of checkups and blood tests; find them by report, provider, tag or test item
- Family health records: keep a separate profile for each family member so caregivers can find and compare reports when needed
- PDFs are read from the text layer first, with on-device OCR for missing pages; every extracted value must be checked by a person before saving — data only, no attachments
- Compare one test item across reports, grouped by unit, method and specimen so incompatible values never form a false trend; differences use exact decimals
- Medically neutral presentation: each result shows only the source report's reference range and flags, with no medical judgment; data stays on the device, encrypted with SQLCipher
- One place for conversations with OpenAI-compatible APIs, Gemini, Anthropic and the Codex / Claude CLIs, with three multi-model flows: ask_all, debate and judge
- Blind judging: the judge only sees Candidate A / B, and the models are revealed after scoring to avoid brand bias
- Security model: CSRF and DNS-rebinding protection, CLIs always in a read-only sandbox, API keys encrypted with AES-GCM; dangerous actions need a one-time, time-limited confirmation token bound to the plan
- Cancellation reclaims the whole child-process tree via Windows Job Objects, and mutation testing confirms the tests really catch failures
- Can run as a SynoriaBase plugin, sharing its authentication, permissions and data-scope control
- Syncs GitHub stars locally and adds priority, categories, tags and Markdown research notes
- Supports multiple GitHub account connections, with each sync job bound to a specific account
- Three data layers (repo / annotations / notes): sync only overwrites the repo layer, so user annotations are never lost
- GitHub tokens live in a separate credential database and are never included in main-database backups
- Persistent job queue with de-duplication and double-trigger protection, bound to a specific account connection; OAuth via Device Flow
- Can run as a SynoriaBase plugin, sharing its authentication, permissions and data-scope control
- A local-first desktop workbench built around folders and Markdown, bringing notes, documents and everyday web apps together
- All file access goes through backend commands; paths are normalized and confined to the workspace, and the frontend never touches the file system directly
- Dataview-style queries, wiki links, outline, Markdown linting and a Git stage / commit panel
- One tool for Claude Code, Codex, Gemini and other AI CLIs, showing quota, burn rate and time-to-limit estimates in the statusline
- Official figures and local estimates are labeled separately (estimates always marked ≈); with too little data it shows nothing rather than a wrong number
- An observation pipeline organized by data source; three fallback sources for pricing, and no network calls on the statusline hot path
- Themes, optional segments and width-aware truncation; used daily and fully tested on WSL and Windows
- A cozy exploration game about living in a village with cats
- 3D environments with 2D characters