A personal corner of the internet

William
Welsh.

Software engineer. Curious by default.

William as a child, sitting with tools beside an open computer.
Early days.

I build software for cameras, computers, and the people using them.

Currently at Candid Color Systems, where I build the apps, AI tools, and web platform behind NowCandid.

I gravitate toward TypeScript, but I'm happy to work wherever the problem takes me.

Languages I work in

TypeScript Swift Kotlin Python C# C++ Lua

01 Current work

Candid Color Systems

The whole picture.

I build and maintain NowCandid's product software at Candid Color Systems. Here's what that looks like.

A camera-connected app for iPhone, iPad, Mac, Android, and Windows. Native integrations handle tethered and wireless image transfers.

React Native · Swift · Kotlin · C++

Canon, Nikon, Sony, Fujifilm & Panasonic

The retail storefront, photo galleries, event check-in, and digital delivery experience for a photography platform.

Next.js · TypeScript · tRPC

Selfie check-in, private galleries & order history

Event management, offers, reports, and photographer tools. Companion iOS and Android apps add native widgets and notifications.

Next.js · Capacitor · Swift · Java

iOS sales widgets & Android home-screen widgets

AI & image processing

AI

A custom background-removal pipeline, portrait retouching, automated editing, image culling, and jersey recognition.

Python · PyTorch · C#

Background cutouts with dedicated hair-edge cleanup

The backend

Systems

The ASP.NET API and SQL Server procedures behind the storefront, dashboards, mobile apps, and image-processing services.

C# · ASP.NET · SQL Server

OpenAPI contracts generate TypeScript client types

Lightroom Classic plug-in

Integration

A Lightroom export plug-in with event selection, image preflight checks, and direct uploads into NowCandid.

Lua · Lightroom SDK

JPEG validation before photos leave Lightroom

Visit NowCandid , opens in a new tab

02 Selected projects

Other things I've made.

The archive 07