Summary
Fullstack engineer with a backend focus and 8+ years across Go, TypeScript, and React. Comfortable owning services end-to-end, and author of tmplx, an open-source Go web framework.
Professional Experience
RichWell Co., Ltd.richwell.com.tw
Software Engineer | Customer Analytics Dashboard Jan 2024 – Present
- Joined as the second engineer on a 3-person team building a customer-facing B2B analytics platform. Fullstack contributor since early development, primarily Go APIs (~70%) and Vue 3 UI (~30%).
- Built ClickHouse summary tables (hourly/daily AggregatingMergeTree materialized views) so reports read from compact rollups instead of raw events.
- Ship customer-requested features end-to-end weekly, from PostgreSQL schema and Go API through to Vue 3 UI.
Tech Stack: Go, TypeScript, Vue 3, Node.js, PostgreSQL, ClickHouse, Redis, Docker
Houzz, Houzz Prohouzz.com
Software Engineer | Moodboard Jan 2023 – Nov 2024
- One of 2 engineers maintaining Moodboard, a paper.js-based canvas tool for designers (shapes, arrows, images from user galleries, color swatches; rotation, resize, layering).
- Implemented the side-panel toolbar UI per product/design spec.
- Refactored portions of the codebase to address accumulated bugs after taking over maintenance.
Tech Stack: JavaScript, TypeScript, React, paper.js, Node.js, MySQL, Docker
Software Engineer | Website Services Sep 2021 – Dec 2022
- Engineer on a 4–5 person team building a website-builder product for small contractors and designers: a React drag-and-drop WYSIWYG editor backed by a Java Spring API that persists each site as a component tree, with a separate Next.js service rendering published sites from the same components.
- Built the blog feature end-to-end on joining: data model, Java Spring APIs, React editor surface, and /blog/* routes on the published-site renderer.
- Built the media upload pipeline for user-uploaded assets: direct-to-S3 uploads with Lambda-based virus scanning before assets became publicly accessible.
- Contributed to extracting the app from the Houzz monolith into a manifest-loaded micro-frontend: standalone local dev server, lightweight backend, and a deployment pipeline that exposes the bundled app via a runtime manifest.
Tech Stack: Java, TypeScript, React, Next.js, Node.js, MySQL, AWS S3, AWS Lambda, Docker
17LIVE17.live
Software Engineer | Campaign System Sep 2017 – Aug 2021
- Started as a frontend engineer (React/Redux campaign and leaderboard UI); moved to backend Go after ~2 years.
- Built leaderboard features for live-stream campaigns: auth, voting, scheduling, reward distribution.
- Built load-testing tools for campaign rollouts. Contributed to a campaign-content WYSIWYG editor (lead-designed).
Tech Stack: Go (Gin), TypeScript, React, Redux, Redis, MongoDB, MySQL, Google Pub/Sub, OAuth
Skills
- Languages & Frameworks: Go, TypeScript, JavaScript, Node.js, React, Vue 3, Next.js, Java (Spring), PHP, Ruby on Rails
- Databases: PostgreSQL, ClickHouse, MySQL, Redis, MongoDB
- Tools & Infrastructure: Docker, AWS (S3, Lambda), Google Pub/Sub, OAuth, paper.js, WebSocket
Personal Projects
tmplxtmplx.org · github.com/gnituy18/tmplx
Open-source reactive hypermedia framework: write Go and HTML in the same file. MIT, in active development.
- The CLI compiles each .html page (with Go embedded in a <script type="text/tmplx"> block) into native Go functions that render the server-side HTML and serve as HTTP handlers for interactive events. Reactivity model in the spirit of HTMX and Phoenix LiveView.
Education
National Central Universityncu.edu.tw
B.S. in Computer Science and Information Engineering 2012 – 2016