COLIN TSO
Chemical & Process Engineer / Coder
Hi, I'm Colin.

I build tools for engineers who'd rather not do it by hand.

I'm a Chemical & Process Engineer working on safety-critical systems in the oil & gas industry. In my own time I turn the calculations engineers normally do by hand or in paid design software into spreadsheets and free, fast, browser-based tools.

01  /  About

Engineer. Code. Share.

Hello, I'm Colin. My interest in code goes back to 2005, making a Flash game in ActionScript 2.0. (Flash support is gone from most browsers now, so your mileage may vary with that link.)

These days I write code to solve problems I run into as a practising Chemical & Process Engineer. I take calculations that are normally done by hand or in paid design software, and turn them into spreadsheets or free, fast, browser-based tools. This means that getting underlying engineering done right comes first.

Build with
TypeScript React Vite Node.js Web Workers Python
Engineering tools I use daily
Aspen HYSYS Aspen FLARENET HTRI ProTreat Excel VBA
A photo of Colin Tso
FIG. 01PORTRAIT
02  /  Work

Built for engineers.

I currently work as a Chemical & Process Engineer in the oil & gas industry, focused on safety-critical engineered systems.

Day to day that means a lot of hand calculations, spreadsheets, and design software like Aspen HYSYS — exactly the kind of rules-based work that makes for a good coding project.

// I build the tools I wish existed on the job, and share them below.
03  /  Projects

Free, browser-based engineering tools built to solve real problems from my own work.

Screenshot of the Tubesheet Layout Generator and Visualiser app
Web App

Tubesheet Layout Generator & Visualiser

A calculator and visualiser for tube sheet layouts. Define tube OD, pitch, clearance and layout angle, and get back the tube count, a live layout sketch, and the minimum shell ID, with SVG/PNG export. Built on a standalone TypeScript module, published separately below.

ReactTypeScriptViteWeb Workers
install.sh
$ npm install colin-tso/tubesheet-generator import { TubeSheet } from "tubesheet-generator"; const ts = new TubeSheet(6.35, 19.05, 1.25, 30, undefined, 500); ts.numTubes; // 151 ts.OTL; // 1583.93 ts.minID; // 1653.93
Library

tubesheet-generator

The framework-free TypeScript module behind the layout math above — tube counting, tube positions, and SVG generation for tube sheets. Synced from the app's plugin source on every release, so the published module always matches what's live.

TypeScriptNode.jsVitest
+

More tools in the works.
Check back soon.

04  /  Contact

Let's get in touch.

Got a use case for one of my tools, an idea for a new one, or just want to talk engineering and code? My inbox is always open — feel free to say hi. I'll try my best to get back to you.

Say hello
NameColin Tso
DisciplineChemical & Process Engineer
GitHub@colin-tso
LinkedInin/colintso