
Gantt Studio
Drag a schedule into place, draw dependencies and see the critical path. Switch to Mermaid text without losing the plan. Everything stays in your browser.
Try it (opens in a new tab)Taipei, Taiwan · shipping since 2018
I build systems that do the work, and tools worth opening twice.
Backend engineering, data platforms and forecasting. From Japan’s electricity market to open-source tools you can try right here.
building power-trading systems for Japan's electricity market: market and weather data pipelines, bidding tools, spot-price forecasts.
Flagship project
Reach every device from your browser.
One outbound reverse SSH tunnel per device gives you a browser terminal, files, remote desktop, a remote browser and the LAN behind it. No port forwarding, no VPN, no public IP.

Open in your browser
Plan a project, explore a map, label an image or guess a little sarcasm. These projects are live; pick one and have a go.

Drag a schedule into place, draw dependencies and see the critical path. Switch to Mermaid text without losing the plan. Everything stays in your browser.
Try it (opens in a new tab)
Read a sentence, cast a net on the sad-to-happy scale and reveal its reference score. Five modes, including daily challenges and two-player games.
Try it (opens in a new tab)
Play through population change across Taiwan’s 22 counties, compare their trends and explore household income. A 2017 hackathon project, rebuilt in 2026.
Try it (opens in a new tab)
Converts and edits images, audio, video and GIFs entirely in the browser. Nothing gets uploaded, mostly because there is nowhere to upload it to.
Try it (opens in a new tab)
Drop in a picture and compare a small Keras CNN with Laplacian variance, including a window-by-window blur heat map. No upload needed.
Try it (opens in a new tab)
A keyboard-first bounding-box editor that runs in your browser. Open your own images, label boxes and export JSON, COCO, YOLO or Pascal VOC.
Try it (opens in a new tab)A closer look at infrastructure, streaming, planning, energy forecasting, reinforcement learning and medical imaging.

One Docker dev box per user, with a web terminal, a noVNC desktop and optional GPU. The Django version, rewritten in Rust, partly to find out whether I could.

Twitch, YouTube live chat and chat bots share one song queue. A Rust backend keeps the OBS player, overlay and moderator dashboard in sync.

Drag a schedule into place, draw dependencies and see the critical path. Switch to Mermaid text without losing the plan. Everything stays in your browser.

Time-series models that forecast solar output for an energy-storage demonstration site, scheduled with Airflow. The sun is punctual; the clouds are the problem. The repository is private, so the dashboards here are redrawn on simulated data.

A PyTorch PPO agent plays the real QWOP browser game through Playwright. Six evaluation races, six 100 m finishes. Grace was not part of the reward function.

An end-to-end Nipype pipeline with FSL FAST, K-means and ANTs Atropos segmentation, tissue volumes, bias-correction metrics and an interactive 3D brain.
Fixes I sent upstream, and packages other people install.
jeanp413/open-remote-ssh (opens in a new tab)8 merged PRs
8 merged PRs, including the host list in Connect to Host, known_hosts verification and ProxyJump fixes.
Eugeny/russh (opens in a new tab)Merged PR
Fixed Dropbear client connections to russh servers under strict key exchange by accounting for an ignored guessed packet.
serengil/deepface (opens in a new tab)Merged PR
Batch age and gender prediction.
tensorflow/models (opens in a new tab)Merged PR
Compatibility fixes for newer TensorFlow and Python 3.
nipy/nipype (opens in a new tab)Merged PR
A docs fix in the example code.
BlurGenerator7070 stars on GitHub
Motion, lens, Gaussian and depth-aware blur for making blurry training data.
HEIC2PNG2626 stars on GitHub
Turn iPhone HEIC photos into PNG from the CLI, a shell pipe or Python.
FisheyeWarping1616 stars on GitHub
Dewarp top-down fisheye images to panoramas and back.
EagleWrapper88 stars on GitHub
A Python wrapper for the Eagle image manager's API.
ShowSys (opens in a new tab)66 stars on GitHub
Print system information from Python or the shell.
django-simple-third-party-jwt (opens in a new tab)22 stars on GitHub
Third-party login and JWT in one Django app.
django-simple-api-proxy (opens in a new tab)55 stars on GitHub
Proxy any API through a Django server.
Four rooms so far. Each one taught me something the next one needed, usually the hard way.
2018 – 2019
First job. Scraped the web, trained language models, learned that regex is a lifestyle.
2019 – 2021
Medical imaging, retail analytics and ads on embedded boards. Stared at a lot of pixels.
2021 – 2023
A sentiment platform over three billion data points. Most of them were complaints.
2023 – now
Solar forecasts first, then power trading for Japan. The weather is now my problem.
Most of what I build now, I build together with AI coding agents. I decide what to make, how the pieces fit and whether it actually works. The agent writes a lot of the code, and I read every change before it ships.
Daily tools