Still curious. Still making things.

I’m Damian Hodgkiss. I started programming in 1995, and I’ve usually had something on the go ever since.

Damian seated in a bright room

It started with a BBS.

My first programs were applications for bulletin board systems, written in Turbo Pascal. I was self-taught, working things out as I went. From there I moved into C on Linux, then graphical applications for Windows.

One of those was eFX, a tool for changing the look of Windows. It let people customise an interface they spent their days looking at. That project led to my first company and a website where people could upload and share their own software skins.

Looking back, that was an early version of something I still enjoy: an idea grows beyond the original piece of software. There’s the thing you build, then the experience around it—how people find it, use it, and make it their own.

A little every day.

3,496 contributions in the last 12 months

Contributions from 14 October 2025 to 13 October 2026 Illustrative activity for a design preview. Darker green squares represent more contributions. The calendar ends today. NovDecJanFebMarAprMayJuneJulyAugSeptOct Mon Wed Fri 4 contributions on 14 October 202520 contributions on 15 October 202510 contributions on 16 October 20251 contributions on 17 October 20250 contributions on 18 October 20253 contributions on 19 October 202523 contributions on 20 October 202513 contributions on 21 October 20254 contributions on 22 October 202519 contributions on 23 October 202510 contributions on 24 October 20252 contributions on 25 October 20255 contributions on 26 October 20257 contributions on 27 October 202522 contributions on 28 October 202513 contributions on 29 October 20250 contributions on 30 October 202519 contributions on 31 October 20254 contributions on 1 November 20250 contributions on 2 November 202516 contributions on 3 November 20250 contributions on 4 November 202522 contributions on 5 November 202513 contributions on 6 November 20253 contributions on 7 November 20256 contributions on 8 November 20250 contributions on 9 November 202525 contributions on 10 November 202516 contributions on 11 November 20256 contributions on 12 November 202522 contributions on 13 November 20250 contributions on 14 November 20258 contributions on 15 November 20254 contributions on 16 November 20259 contributions on 17 November 202525 contributions on 18 November 202515 contributions on 19 November 20256 contributions on 20 November 202522 contributions on 21 November 20251 contributions on 22 November 20256 contributions on 23 November 202518 contributions on 24 November 20259 contributions on 25 November 202525 contributions on 26 November 202515 contributions on 27 November 20256 contributions on 28 November 20250 contributions on 29 November 20258 contributions on 30 November 20250 contributions on 1 December 202518 contributions on 2 December 20259 contributions on 3 December 202524 contributions on 4 December 202515 contributions on 5 December 20250 contributions on 6 December 20251 contributions on 7 December 202512 contributions on 8 December 20252 contributions on 9 December 202518 contributions on 10 December 20250 contributions on 11 December 202524 contributions on 12 December 20259 contributions on 13 December 20250 contributions on 14 December 202521 contributions on 15 December 20250 contributions on 16 December 20252 contributions on 17 December 202518 contributions on 18 December 20258 contributions on 19 December 20252 contributions on 20 December 20250 contributions on 21 December 20255 contributions on 22 December 202521 contributions on 23 December 202511 contributions on 24 December 20252 contributions on 25 December 202517 contributions on 26 December 20254 contributions on 27 December 20259 contributions on 28 December 202514 contributions on 29 December 20255 contributions on 30 December 202520 contributions on 31 December 202511 contributions on 1 January 20260 contributions on 2 January 20266 contributions on 3 January 20262 contributions on 4 January 202623 contributions on 5 January 202614 contributions on 6 January 20260 contributions on 7 January 202620 contributions on 8 January 202611 contributions on 9 January 20260 contributions on 10 January 20264 contributions on 11 January 20260 contributions on 12 January 202623 contributions on 13 January 202614 contributions on 14 January 20264 contributions on 15 January 202620 contributions on 16 January 20260 contributions on 17 January 20266 contributions on 18 January 202617 contributions on 19 January 20267 contributions on 20 January 202623 contributions on 21 January 202613 contributions on 22 January 20264 contributions on 23 January 20265 contributions on 24 January 20260 contributions on 25 January 20261 contributions on 26 January 202616 contributions on 27 January 20267 contributions on 28 January 202623 contributions on 29 January 202613 contributions on 30 January 20267 contributions on 31 January 20260 contributions on 1 February 202610 contributions on 2 February 20261 contributions on 3 February 202616 contributions on 4 February 20267 contributions on 5 February 202622 contributions on 6 February 20269 contributions on 7 February 20260 contributions on 8 February 202619 contributions on 9 February 202610 contributions on 10 February 202625 contributions on 11 February 202616 contributions on 12 February 20260 contributions on 13 February 20262 contributions on 14 February 20267 contributions on 15 February 20263 contributions on 16 February 202619 contributions on 17 February 20260 contributions on 18 February 202625 contributions on 19 February 202616 contributions on 20 February 20260 contributions on 21 February 20269 contributions on 22 February 20260 contributions on 23 February 20263 contributions on 24 February 202619 contributions on 25 February 20269 contributions on 26 February 202625 contributions on 27 February 20260 contributions on 28 February 20262 contributions on 1 March 202622 contributions on 2 March 202612 contributions on 3 March 20263 contributions on 4 March 202618 contributions on 5 March 20269 contributions on 6 March 20261 contributions on 7 March 20264 contributions on 8 March 20266 contributions on 9 March 202621 contributions on 10 March 202612 contributions on 11 March 20260 contributions on 12 March 202618 contributions on 13 March 20263 contributions on 14 March 20260 contributions on 15 March 202615 contributions on 16 March 20260 contributions on 17 March 202621 contributions on 18 March 202612 contributions on 19 March 20262 contributions on 20 March 20265 contributions on 21 March 20260 contributions on 22 March 202624 contributions on 23 March 202615 contributions on 24 March 20265 contributions on 25 March 202621 contributions on 26 March 20260 contributions on 27 March 20267 contributions on 28 March 20263 contributions on 29 March 20268 contributions on 30 March 202624 contributions on 31 March 202614 contributions on 1 April 20265 contributions on 2 April 202621 contributions on 3 April 20260 contributions on 4 April 20265 contributions on 5 April 202617 contributions on 6 April 20268 contributions on 7 April 202624 contributions on 8 April 202614 contributions on 9 April 20265 contributions on 10 April 20260 contributions on 11 April 20267 contributions on 12 April 20260 contributions on 13 April 202617 contributions on 14 April 20268 contributions on 15 April 202623 contributions on 16 April 202614 contributions on 17 April 20260 contributions on 18 April 20269 contributions on 19 April 202611 contributions on 20 April 20261 contributions on 21 April 202617 contributions on 22 April 20260 contributions on 23 April 202623 contributions on 24 April 20268 contributions on 25 April 20260 contributions on 26 April 202620 contributions on 27 April 20260 contributions on 28 April 20261 contributions on 29 April 202617 contributions on 30 April 20267 contributions on 1 May 20261 contributions on 2 May 20260 contributions on 3 May 20264 contributions on 4 May 202620 contributions on 5 May 202610 contributions on 6 May 20261 contributions on 7 May 202616 contributions on 8 May 20263 contributions on 9 May 20268 contributions on 10 May 202613 contributions on 11 May 20264 contributions on 12 May 202619 contributions on 13 May 202610 contributions on 14 May 20261 contributions on 15 May 20265 contributions on 16 May 20261 contributions on 17 May 202622 contributions on 18 May 202613 contributions on 19 May 20260 contributions on 20 May 202619 contributions on 21 May 202610 contributions on 22 May 20260 contributions on 23 May 20263 contributions on 24 May 20260 contributions on 25 May 202622 contributions on 26 May 202613 contributions on 27 May 20263 contributions on 28 May 202619 contributions on 29 May 20260 contributions on 30 May 20265 contributions on 31 May 202616 contributions on 1 June 20266 contributions on 2 June 202622 contributions on 3 June 20260 contributions on 4 June 20263 contributions on 5 June 20264 contributions on 6 June 20260 contributions on 7 June 202625 contributions on 8 June 202615 contributions on 9 June 20266 contributions on 10 June 202622 contributions on 11 June 202612 contributions on 12 June 20266 contributions on 13 June 20260 contributions on 14 June 20269 contributions on 15 June 202625 contributions on 16 June 202615 contributions on 17 June 20266 contributions on 18 June 202621 contributions on 19 June 20268 contributions on 20 June 20260 contributions on 21 June 202618 contributions on 22 June 20269 contributions on 23 June 202624 contributions on 24 June 202615 contributions on 25 June 20260 contributions on 26 June 20261 contributions on 27 June 20266 contributions on 28 June 20262 contributions on 29 June 202618 contributions on 30 June 20260 contributions on 1 July 202624 contributions on 2 July 202615 contributions on 3 July 20260 contributions on 4 July 20268 contributions on 5 July 20260 contributions on 6 July 20262 contributions on 7 July 202618 contributions on 8 July 20268 contributions on 9 July 202624 contributions on 10 July 20260 contributions on 11 July 20261 contributions on 12 July 202621 contributions on 13 July 202611 contributions on 14 July 20262 contributions on 15 July 202617 contributions on 16 July 20268 contributions on 17 July 20269 contributions on 18 July 20263 contributions on 19 July 20265 contributions on 20 July 202620 contributions on 21 July 202611 contributions on 22 July 20260 contributions on 23 July 202617 contributions on 24 July 20262 contributions on 25 July 20260 contributions on 26 July 202614 contributions on 27 July 20260 contributions on 28 July 202620 contributions on 29 July 202611 contributions on 30 July 20261 contributions on 31 July 20264 contributions on 1 August 20260 contributions on 2 August 202623 contributions on 3 August 202614 contributions on 4 August 20264 contributions on 5 August 202620 contributions on 6 August 20260 contributions on 7 August 20266 contributions on 8 August 20262 contributions on 9 August 20267 contributions on 10 August 202623 contributions on 11 August 202613 contributions on 12 August 20264 contributions on 13 August 202620 contributions on 14 August 20260 contributions on 15 August 20264 contributions on 16 August 202616 contributions on 17 August 20267 contributions on 18 August 202623 contributions on 19 August 202613 contributions on 20 August 20264 contributions on 21 August 20260 contributions on 22 August 20266 contributions on 23 August 20261 contributions on 24 August 202616 contributions on 25 August 20267 contributions on 26 August 202622 contributions on 27 August 202613 contributions on 28 August 20260 contributions on 29 August 20268 contributions on 30 August 202610 contributions on 31 August 202625 contributions on 1 September 202616 contributions on 2 September 20260 contributions on 3 September 202622 contributions on 4 September 20267 contributions on 5 September 20260 contributions on 6 September 202619 contributions on 7 September 20260 contributions on 8 September 202625 contributions on 9 September 202616 contributions on 10 September 20266 contributions on 11 September 20269 contributions on 12 September 20260 contributions on 13 September 20263 contributions on 14 September 202619 contributions on 15 September 20269 contributions on 16 September 202625 contributions on 17 September 202615 contributions on 18 September 20262 contributions on 19 September 20267 contributions on 20 September 202612 contributions on 21 September 20263 contributions on 22 September 202618 contributions on 23 September 20269 contributions on 24 September 202625 contributions on 25 September 20264 contributions on 26 September 20269 contributions on 27 September 202621 contributions on 28 September 202612 contributions on 29 September 20260 contributions on 30 September 202618 contributions on 1 October 20269 contributions on 2 October 20260 contributions on 3 October 20262 contributions on 4 October 20260 contributions on 5 October 202621 contributions on 6 October 202612 contributions on 7 October 20262 contributions on 8 October 202618 contributions on 9 October 20260 contributions on 10 October 20264 contributions on 11 October 202615 contributions on 12 October 20265 contributions on 13 October 2026

Windows skins, file sharing, and the web.

After eFX, I co-developed Napigator. If you remember the Napster era, it was a Windows utility that let people find and connect to different servers on the peer-to-peer network.

Windows customisation and file sharing might seem a long way from the things I work on now. But they were software projects with all the interesting details that come with making something people can actually use. An idea had to become an interface, and the interface had to do something useful.

By the mid-2000s, I was running a web development agency, building websites and applications for clients. The work had moved from the desktop into the browser, and from my own ideas to helping other people bring theirs to life.

A longer chapter in product engineering.

In 2013, I started working with the team at Sumo Group.

That has been a substantial part of my working life: contributing to products as part of a team, alongside the independent projects I’ve continued to explore.

Across all those years, the tools and languages have changed considerably. The part I enjoy has stayed fairly consistent. I like working through an idea, bringing the pieces together, and reaching the point where it works. Being able to step back and see something that used to exist only in your head is a satisfying feeling.

Some things of my own.

I also build independently through nineteen78.

I’m interested in the whole process. The design, the engineering, getting something live, explaining it, supporting it, and finding the people it might be useful to. Building your own products means getting involved in all of it.

I care about how those products look and feel, too. The experience of using something is part of what you’ve made, right alongside the code that makes it work.

There’s still plenty to learn.

AI has become part of how I build software. After decades of programming, it’s an interesting change in the day-to-day work: new ways to explore ideas and get things made, with plenty of decisions still needing a human eye.

I’ve also had a longstanding interest in application security—how systems work, where they break, and why. It’s one of the areas I’m spending more time learning about.

The tutorials on this site are another part of that process. I like learning something and being able to explain it to someone else. There are years of notes and guides here.

Away from the screen.

I listen to a lot of music, play tennis, and enjoy fishing. Tennis makes exercise feel like something other than exercise. Fishing is a chance to be out on the water, away from the internet for a while.

There’s usually another idea waiting when I get back.