Projects
Software engineering projects, open source contributions, and technical experiments
Personal Website
ActiveThis website built with Next.js, TypeScript, and Tailwind CSS. Features a blog, tools for experiments, and various utilities.
Next.jsTypeScriptTailwind CSSVercel
Agent Skills
ActiveA collection of agent skills for Claude Code and other AI coding assistants. Includes field-tested engineering principles distilled from a decade of software development, IT consulting, and web development. Skills can be loaded into Claude Code to enhance its capabilities with domain-specific knowledge.
Claude CodeMCPAI AgentsTypeScript
A minimal npm package for creating MCP (Model Context Protocol) servers with zero boilerplate. Features a simple two-function API (serve() and tool()), full TypeScript support with Zod schema validation, and supports both stdio and HTTP transports. Compatible with Claude Code and other MCP clients.
TypeScriptNode.jsMCPZodnpm
Tools
ActiveA collection of interactive tools and games including QR code generator, speed reader, EXIF remover, text transformation tools, memory card game, and more. Built to experiment with web technologies and provide useful utilities.
ReactTypeScriptCanvas APIFile APIGame Logic
An Obsidian plugin for tracking daily work activities, achievements, and contributions. Features dual logging to both a central work log and related notes, task management with Eisenhower Matrix prioritization (urgent/important quadrants, due dates, journal notes), smart date handling with retrospective entry support, automatic wiki-linking, and fully customizable work categories. Perfect for performance reviews and maintaining a professional work journal.
TypeScriptObsidianesbuild
This is a fork of the original plugin by https://github.com/dannymcc. This Obsidian plugin automatically synchronizes meeting notes from Granola AI into your Obsidian vault. Features include automatic attendee formatting as wiki-links, company extraction from attendee data, meeting platform detection (Zoom, Google Meet, Teams), and attachment downloading. I forked this to customize and enhance it for my personal workflow.
TypeScriptObsidianGranola AIGoogle Calendar
This is a fork of the original plugin by https://github.com/argenos. The original plugin suffered from a bug where the reference date was set to the first day of the week instead of the current day, resulting in wrong dates. I fixed the bug, linting issues and added performance improvements. More detailed information are available in the README of the fork.
JavaScriptObsidianTypeScript
saucerest-java
CompletedA wrapper library to interact with Sauce Labs services, supporting multiple data centers and API endpoints.
I took over this abandoned project and:
• Refactored and modernized it using Java 8 for improved performance, security, and maintainability
• Added comprehensive unit, integration, and end-to-end tests
• Set up a full CI/CD pipeline
Note: This project is no longer maintained by me.
I took over this abandoned project and:
• Refactored and modernized it using Java 8 for improved performance, security, and maintainability
• Added comprehensive unit, integration, and end-to-end tests
• Set up a full CI/CD pipeline
Note: This project is no longer maintained by me.
JavaREST APIMavenSauce Labs