Project Notes

Systems in Practice

Longer project notes for the systems, tools, and products shown on the homepage.

Focus Areas
Shared domain logic
Focus Areas
Deterministic state
Focus Areas
Automation workflows
Focus Areas
Infrastructure delivery

WeChat Project Manager

WeChat

A full-stack collaboration system built for teams working inside WeChat, combining a Mini Program frontend with a Node.js and TypeScript backend for project execution, document workflows, and time logging.

  • Role-based permissions for owners, members, viewers, and admins across project and stage workflows
  • Document upload, version history, metadata editing, time logging, and audit trails for key changes
  • Express, Prisma, MySQL, Docker Compose, Nginx, and VPS deployment support behind authenticated APIs

Reverse Engineering Research

Security Research

A technical research project focused on understanding how selected regional payment apps and utility-style Android apps structure their interfaces, native-layer logic, and encrypted data flows. The work is presented as security research and technical analysis, centered on architecture understanding, native behavior, and encrypted data processing patterns.

  • Analyzed how selected app interfaces are generated, rendered, and protected across runtime and static layers
  • Investigated native C/C++ encryption and data-transformation paths with Frida, IDA/Ghidra, and dynamic testing on real devices
  • Mapped request parameters, local processing logic, and security-related data flows into structured documentation and technical reporting

Personal Account Manager

KMP

A Kotlin Multiplatform personal account manager built for Android, iOS, and Desktop. It is a local-first account vault focused on organizing multiple identities under different platforms, viewing relationships between linked accounts, and securely storing sensitive information with shared encrypted models and shared Compose Multiplatform UI.

  • Built shared business logic, encrypted vault models, and shared Compose Multiplatform UI across Android, iOS, and Desktop
  • Supported platforms, accounts, linked accounts, configurable display fields, and field-level encryption for account ID, phone, email, and password
  • Kept the product direction local-first and lightweight, emphasizing structured data and low-friction account editing instead of a heavy password-manager flow

UnoShare

KMP

A cross-platform UNO-style card game built with Kotlin Multiplatform and Compose Multiplatform. The current product is a local single-player experience against AI, with shared core gameplay logic and most UI across Android, iOS, and desktop.

  • Implemented a modular session layer, rule engine, and AI-driven local session flow
  • Added localization resources, persistent player profile/history, platform-specific audio bridges, and Firebase/Firestore event tracking
  • Separated the session contract from the local implementation so future remote multiplayer can be added cleanly

SayBridge

Client project

A multi-part client project covering H5, admin web, backend, and mobile, showing how product responsibilities get split across several interfaces and services during delivery.

  • Covers multiple product surfaces instead of a single isolated app
  • Useful reference for coordinating frontend, backend, and mobile concerns
  • Represents system structure, delivery scope, and product-level integration work

Hill Todo

KMP

Hill Todo is a Kotlin Multiplatform personal task app for Android, iOS, and Desktop. It is designed as a calm, local-first tool for individual daily use, with category-based task organization, quadrant-based priority review over the same normal-task dataset, a separate recurring-task system, and archive-based completion history.

  • Built shared Compose Multiplatform UI with thin Android, iOS, and Desktop hosts, plus shared task models for normal tasks, recurring tasks, recurring logs, and archived tasks
  • Kept category view and quadrant view as two representations of the same normal-task dataset, while recurring tasks remain structurally separate
  • Designed V1 as offline and local-first, intentionally excluding accounts, cloud sync, reminders, calendar views, notes, templates, and team features

Remote Jobs Platform

Node.js

Full-stack job aggregation platform with Node.js, Fastify, and VPS deployment infrastructure.

  • Node.js and Fastify backend
  • PostgreSQL and Prisma data layer
  • VPS deployment with Nginx and HTTPS
  • Scheduled ingestion pipelines

Life-Tracker

KMP

A structured daily tracking system built with shared cross-platform core logic.

  • Deterministic time tracking models
  • Clean domain separation
  • Reusable architecture

Focus-Timer

Completed

A minimalist productivity timer emphasizing structural clarity and domain isolation.

  • Pure domain logic
  • Compose Multiplatform UI
  • Clean state modeling

Favourite Place

Android-first

Built a Kotlin Multiplatform product (Android, iOS, Desktop) with a modular architecture and map-based location workflows.

  • Android-first baseline with map-based location picking and spot workflows
  • Stable local persistence with backward-compatible data formats
  • Reusable shared UI tokens and components across platforms

script-game

Toolbox

A personal utility repo made up of Python and shell scripts for desktop automation, OCR and screen-based helpers, simple game-related tools, file conversion, and network-service operations. It is iterative and practical rather than packaged as a single polished product.

  • The strongest and most structured area is a V2Ray/Xray workflow for config generation, deployment, subscriptions, and user management
  • Also includes lightweight monitoring, dashboard-style helpers, and operational checks
  • Good example of turning repeated manual work into tools that are easier to reuse and extend

Northbound

Cocos Creator

An 8-chapter narrative adventure game prototype built with Cocos Creator 3.8.8 and TypeScript. It follows a young polar bear separated from home and uses scene art, route markers, ambient audio, and touch-driven story beats to keep the experience visual and interactive rather than text-heavy.

  • Built a chapter-first runtime with authored route, interaction, climax, and transition flow across 8 story chapters
  • Integrated generated scene art, encounter illustrations, bear action frames, ambient audio, save/load flow, and completion archive
  • Added verification tooling for story coverage, playthrough, resume behavior, scene boot wiring, and preview readiness