Terence Hinrichsenterence ~ $

About$ cat about.md

Hello, I'm Terence.

A software developer in Somerset West, in the Western Cape of South Africa. I like small teams, typed languages and software that is boring to operate.

Terence Hinrichsen

What I do

By day I write line-of-business software: order management, invoicing, stock control, sales tooling, and the integrations that hold an ERP together. Most of that is F# and .NET, which I have used since well before it was fashionable, and I still think it is the most productive way to build a system you intend to keep.

On the web I reach for the SAFE Stack when the whole thing should be F#, and for TypeScript with Astro or Next.js when it should not. On mobile I use Flutter. I am comfortable wherever the data lives, from SQL Server and Postgres to Supabase, and I would rather read the schema than the ORM.

What I work withtype Skills =

Languages
F# · C# · TypeScript · Dart · SQL · Python
Frameworks
.NET · SAFE Stack · Fable · Flutter · Astro · Next.js · React
Data
SQL Server · PostgreSQL · Supabase · Sage Evolution
Ships with
Git · GitHub Actions · Vercel · cPanel · Android
{ Languages : "F#" | "C#" | "TypeScript" | "Dart" | "SQL" | "Python"  Frameworks: ".NET" | "SAFE Stack" | "Fable" | "Flutter" | "Astro" | "Next.js" | "React"  Data      : "SQL Server" | "PostgreSQL" | "Supabase" | "Sage Evolution"  Tooling   : "Git" | "GitHub Actions" | "Vercel" | "cPanel" | "Android"}

What I build in my own time

Most of my side projects exist because a community I belong to needed something and nobody was going to build it for them.

How I like to work

Write the decision down next to the code. Prefer the boring option unless the exciting one is measurably better. Assume the next person to maintain the thing has no context and no time, because that person is usually me, a year later.

Elsewhere

The best way to reach me is email at hello@hinrichsen.me. Code lives on GitHub.