Skip to content
View weiwei-tsao's full-sized avatar
😎
😎

Block or report weiwei-tsao

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

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

Report abuse
weiwei-tsao/README.md

Hi there, I'm Weiwei Cao 👋

English | 简体中文 | 繁體中文

I'm a Software Engineer who enjoys working on practical systems, especially the parts that are messy, unclear, or easy to get wrong.

I currently work on a multi-brand digital publishing platform for a Canadian media company. My work spans Next.js and React applications, Go APIs, WordPress integrations, Python jobs, AI features, and advertising and revenue systems. These problems often sit at the intersection of frontend behaviour, data accuracy, performance, and business impact.

I like writing code, but I’m usually most interested in the questions around it: What is the actual problem? Where should the source of truth live? What could this change break? Is the simplest implementation also the right product behaviour?

A lot of my work involves debugging production issues, tracing behaviour through legacy systems, and turning vague requirements into something more predictable and maintainable. I enjoy that messy middle—the point where product decisions, technical constraints, operational realities, and real user workflows all meet.

🤗 Things I care about

  • Clear behaviour over clever abstractions
  • Safe defaults that prevent quiet mistakes
  • Useful tools built around real problems
  • Understanding the workflow before changing the code

🔍 Depth & Problem-Solving

Debugging is often how I learn what a system is really doing. I document the root cause, trade-offs, and fix so the lesson can be reused.

👉 See all project notes 📚

🏗️ Systems & Product Engineering

I’m drawn to projects where a simple-looking feature hides a difficult workflow, state model, or reliability problem.

  • PlainDock - A notes app built around a deceptively hard question: how do plain text, rich text, autosave, and pasted content coexist without surprising the user.
  • Virtual Box Verifier - A Go + React system that scrapes and validates roughly 6,000 US virtual mailbox listings from multiple providers. It uses async validation workers, a per-address validation lifecycle, Smarty API batching with load balancing/circuit breaking, Firestore storage, CSV export, and reprocessing from saved HTML so parser changes can be tested without a full re-crawl.
  • AI Read Map - A reading tool built around a question I often have myself: when a page is too long, how can I quickly find what matters without losing the original context? It creates a clickable map of the page, validates every AI-generated jump target, and takes the reader back to the source text.
  • CareBy - A production healthcare platform with a public website, admin console, and role-specific portals for customers, care providers, managers, and sales partners. Built with React, TypeScript, GraphQL, PostgreSQL, and AWS, with a focus on permissions, service workflows, and keeping multi-role operations understandable.
  • Smart Contract Event Indexer - A Go-based blockchain indexer that watches smart contract events, writes them to Postgres JSONB, caches in Redis, handles chain reorgs, and exposes results over GraphQL/REST.

🚀 Things I build to learn

I often learn by building small tools around problems I have encountered myself.

  • Workday Autofill Assistant - A Chrome extension + Express backend that turns long webpages into clickable reading maps. It extracts structured page content, asks an AI model for a grounded map, validates target paragraph IDs, caches results, and jumps users back to the original text instead of replacing reading with a generic summary.
  • SafeBites - A mobile-first food-label safety analyzer for parents of toddlers. The architecture splits an Expo/React Native app, a Cloudflare Workers edge gateway, and a Cloud Run core service using Gemini 1.5 Flash, HMAC-signed internal requests, rate limiting, and Supabase logging.
  • Smart Wallet Dashboard - Connect MetaMask, inspect balances, tokens, and transaction history in one place.

🧰 What’s usually on my workbench

TypeScript, React, Next.js, Go, Python, PostgreSQL, Docker, and AWS

  • Most days: building across frontend, APIs, publishing workflows, and data jobs
  • Where things live: WordPress, Node.js, PostgreSQL, SQLite, and AWS
  • How I ship: Docker, GitHub Actions, feature flags, and tests
  • What I keep an eye on: state, data accuracy, failure modes, and the one legacy edge case nobody remembered

📫 Contact Me

LinkedIn Email


⭐️ Inspired by Awesome GitHub Profiles.

Pinned Loading

  1. plain-dock plain-dock Public

    A minimalist self-hosted text workspace for private notes, clean pasting, and plain/rich text editing.

    TypeScript

  2. Smart-Contract-Event-Indexer Smart-Contract-Event-Indexer Public

    High-performance blockchain event indexer built with Go microservices. Features real-time smart contract monitoring, GraphQL/REST APIs, PostgreSQL with JSONB, Redis caching, and chain reorganizatio…

    Go

  3. virtualbox-non-cmra-verifier virtualbox-non-cmra-verifier Public

    Full-stack US virtual mailbox address scraper and validator with CMRA/RDI classification, Smarty API validation, Firestore storage, crawler jobs, analytics, and CSV export.

    Go

  4. ai-read-map ai-read-map Public

    A Chrome extension that turns long webpages into clickable AI reading maps, helping readers skim faster and jump back to the original source text.

    TypeScript