Skip to main content

W.I.T.N.E.S.S. - Adventures in AI coding

31 March 2026

Page 1 of 4

Introducing W.I.T.N.E.S.S. - the Web-based Interrogation and Testimony via Neural Engaged Speech System. Clever name, huh? Did I think of it? Of course not. It's what ChatGPT came up with (as well as a huge list of alternatives) after I asked it to compile a list of quirky but clever acronyms for my locally-based (i.e., doesn't need an internet connection) AI-driven interview system, that lets you create a witness/suspect persona and then interview them via text or audio, with a transcript created that can be exported into Word. Something I'm pretty pleased with given that I don't consider myself a coder.

But maybe I should start by explaining just why I say that, why I was able to achieve what I did with AI, and why I even contemplated it in the first place...and perhaps most importantly, follow that up with what AI coding was like (spoilers - it was the best of times, it was the worst of times).

TL;DR
  • The source code for W.I.T.N.E.S.S. is available on GitHub and released under the GPL v3 licence - https://github.com/PhilipRoy/WITNESS
  • Watch the video below to get a quick overview of W.I.T.N.E.S.S.
  • Go to the final video on page 3 (or near the end of the article if viewing this as one page) to see a demonstration of an audio interview using W.I.T.N.E.S.S.

W.I.T.N.E.S.S. promotional video

Daze of future past

A long time ago, after living and teaching in London for six years, I made the decision to come back to New Zealand to study Postgraduate Computer Science...a course of study that I probably shouldn't have been allowed to do. In fact, I later asked why I was accepted into the qualification and was reminded that it was because I had been sufficiently warned...but also because I was willing to pay the course fees. Keep the following in mind as you read on - all I had to back me up before I enrolled, was a Bachelor of Education (which admittedly did involve one paper that had us doing some PASCAL programming via a mainframe...yes, I'm that old) as well as time spent playing arcade games and word processing on the first Mac that I had owned for around 2 years. Oh, and about 8 years as a primary school teacher. I can't tell you how crazy deciding to take that course was...and looking back, how crazy it was being allowed to do it. I was so out of my depth from day one...effectively being allowed to enrol in 200, 300 and 700 level papers, without having studied years 1 to 3 that others had.

I remember the first couple of weeks well. Mostly because of the embarrassing conversations I had with many of the lecturers. That year I withdrew from two papers immediately after the first lecture. One of them...something with the word "digital" in the paper title, was 45 minutes of my life I've not quite forgotten. As the lecturer broke into a conversation with my fellow students about the difference between RS Flip-Flops versus SR Flip-Flops, not only did I not understand a word of what he was saying (spoilers - it's to do with the gates inside silicon chips) I was even more shocked when everyone around me seemed quite comfortable with the discussion. Apparently what was being said made sense to everyone but me.

For the papers I stayed enrolled in, I don't know what I would have done as a lecturer if a student turned up at my office and said "I'm completely out of my depth in this course" like I did. When they asked what my background was, I replied "I'm a primary school teacher". I still remember the look of shock on most of their faces. Some even then said "No, I mean what's your computing background?"...to which I gave a second reply..."I'm a primary school teacher. I have no computing background." Many then did what most probably would have done in that situation...they thought for a moment and then handed me the textbooks (and sometimes study material) for the previous years of the course that would take you up to the point of being enrolled in the paper we were discussing, and said "Work your way through all that". There was really only one lecturer who put me on a different path. She assigned me an individual learning plan and every fortnight, would check in with me on my progress...amazing! But it was still a case of going back to the beginning in order to get to the point where I could pass the course.

For multiple reasons (some personal that I'm not going to touch on here) that year will always be seen as the worst year of my life. I would usually get to the Massey campus in Palmerston North early morning and stay there until late in the evening. I got rid of my TV and didn't have one back in the house again for four years (genuinely very productive years), farmed out my laundry to my parents (thanks mum and dad!) and was lucky to have friends who would leave occasional food parcels on my doorstep. My one treat each week was "Friends at friends", where I would take an hour off studying and go around to friends for a coffee, a catch up and to see that week's episode of Friends...before heading back home to continue studying late into the night.

It might not surprise you to know that the stress of it all got to me. I can remember walking out to the gravel pit (the big car park at the back of Massey at the time) one night and just having a complete meltdown in the car. I called student counselling the next day and got told they could see me in a couple of weeks, burst into tears and heard the person on the other end of the phone say "Can you be here in 15 minutes?" I also remember the counsellor I saw, sitting there with her mouth open in shock at what I was having to deal with (again, more than I'm going to discuss here) and then her asking "How on earth have you been coping with all of this?" Answer - not very well.

But I passed the papers...and the following year, I managed to pick up one final paper that I enjoyed, as I began to discover what was then called "end user computing" and "human-computer interaction"...but these days we'd call it UI/UX. And I even ended up working on some summer projects for the department I had studied through. But what I came away with via this experience, was a clear understanding about my computing ability...

I am not a coder...but I understand code

There's this photo I often look at from my time teaching in the UK, where the kids and I are standing with our feet on either side of the Prime Meridian at the Greenwich Royal Observatory in London. The photo is significant because they are the last class I ever taught for a full year (the last class I would call "mine"...if I can be slightly possessive for a moment) but also because I see the photo as a bit of a metaphor for who I am...I always feel like I am part-geek, part-educator. I have my feet in two camps.

Although I say I'm not a coder, it doesn't mean that I don't get the gist of a lot of code. The way I describe it is like this...I learnt French and German at High School for two years. Can I speak French or German? No. Can I write in French or German? No...but I can look at something written in either language and kind of understand what it is saying...but not always. Perhaps the simplest example of me having too much faith in even that ability, was when driving around Europe in 1989 in a VW Kombi. I convinced myself that I knew the German language well enough to know that this sign was pointing me to a motorway (autobahn/einbahn...similar things I guessed?)...

EINBAHN sign from Germany

So I spent my time following the arrows, often getting confused as to why I was never seeing a motorway soon after. It was only when I knew that we wanted to go away from the motorway that we had come off earlier and turned in the opposite direction of the arrow, that I discovered that "Einbahn" meant "One Way". Thankfully, I learnt that by lots of people tooting, gesturing (in the nicest possible way of course) and yelling at me...rather than any major accident. So I don't ever feel completely confident in my understanding of those languages.

I have the same feeling towards my coding skills...even with something as simple as HTML. I'm sitting here typing this in Dreamweaver, so I don't have to bother with the HTML code...which is even more hilarious given the fact that years ago (after the study) I got a permanent job working at Massey University and I found myself lecturing on a multimedia paper, teaching students the basics of HTML coding.

It's weird. Ask me to write a "Hello World" program in something as simple as BASIC (yes, again, I'm that old) and I won't have a clue where to start. But show me some HTML, CSS, PHP , JavaScript or maybe the odd MySQL command or two, and I can get the gist of what is going on...and even bug fix that code at times. I have no confidence in my ability to write code, but I can copy, reuse, repurpose and edit on occasion (Steve Jobs would be proud of me). The greatest invention for me has been the internet and the wealth of code that is out there to reuse, by those that truly can create.

It's helped me a lot over the years. I've run a commercial website that ended up being featured in two different books, running it on Joomla (that this site still runs on) that uses PHP and MySQL, that I still edit and adjust the code when needed. But I can't write in any of those languages or create an SQL command off the top of my head. I have no issue with using the Terminal app on my Mac, using code I've found online, and have even had an iPhone app in the app store at one point, although I have to stress that most of the coding for that was done by the makers of the TapLynx Xcode library that it used. Maybe I'm a coding follower, rather than a leader? I consider myself a geek; technically able to understand what's going on, but not someone with the creative/technical skills/flair to get going in the first place. In this article, that's where ChatGPT came in (and later, Claude).

But the project I'm about to tell you about, has seen me being far more technically focussed and involved in coding than I have ever been. I've been using terminal commands, Docker, AppleScript, Python scripts, LLMs, Text-To-Speech (TTS) and Speech-To-Text (STT) systems...and more. Only it was never my intention to do so when I started this journey. Instead, it happened around the time I was thinking about some work I had done a couple of years previously. Ultimately, thinking about that work would lead me into using ChatGPT to develop W.I.T.N.E.S.S. when I realised the power that AI had to help me...and direct me.

However I confess that some days, I would (and still) wonder just who was leading who.

Virtual Interviews
Page