The making of: Disco Narrator
How I made a Text-to-Speech (TTS) model for (some of) a video game’s characters.
152334H)In what is surely a fairly common life story, in 2022 I rescoped my life to be defined by AI progress.
Recently, I’ve been abusing innocent coding models for various grey-area cybersecurity tasks.
For example, in kctf-eval, I took coding agents to task on certain KernelCTF problems, comparing them with painstakingly developed human solutions.
Ignoring the more circumstantial answers,
In 2025, much of the intelligence gains of AI progress were just beyond my ability to grasp. I think it’s not easy to internalize the capabilities gap, between a model that gets Silver or Gold on IMO, if you’ve gotten neither.
But on binexp – I can still feel it. The visceral sense of intelligence, the awe of ingenuity, the intrinsic fear and sensation that the world is not ready for it…
Like many other young members of the AI community, I have done my fair share of public AI research, under various pseudonyms online.
Among other things, I spent several months rigorously investigating the compute efficiency and scaling behavior of a novel hierarchical language modelling architecture.
Although technically interesting – I’m happy to talk about anything pretraining, really – none of my research produced positive results, and I don’t feel a particularly strong need to cite them directly.
My main workstation for hobbyist AI work is a 8x3090 + 4090-48GB node. Pictures:


I spent slightly under two years (April 2023 - Jan 2025) at 11labs, working on training infrastructure and MLLM research.
Although I played a significant role in the pretraining infrastructure/optimization for Eleven v3, as well as certain smaller projects and pieces of glue, the key research innovations should always be attributed to smarter people from the company, not me.
To this day, I still receive monthly LinkedIn spam about speech research consultations, so to be absolutely 100% clear: I know nothing, don’t ask.
Before I got roped into closed source startups, I was fairly active in the budding Stable Diffusion communities of 2022, as well as certain TTS communities, both oriented around specific internet subcultures.
I have the dubious honor of being the first person to proliferate fine-tuning support for tortoise-tts.
Weakly sorted by chronology
You’re looking at it!
This blog is hosted by Github Pages. I upload the source files for this blog (developed in Hugo) to a repository, triggering a Github Action that compiles everything into a bundle minified HTML/CSS/JS. This produces the static page you’re reading right now.
Previously, I used Jekyll (instead of Hugo), but there were many unfortunate problems with that setup. More on that here.
I use Obsidian to draft out posts, before settling the post metadata && final checks in neovim while running hugo server -D. This isn’t the greatest workflow, and I’m working on a file sync system to smoothen the process.
A simple web app (demo) that uses AI to emulate the voices of a few video game characters. Forked from the Controllable TalkNet project. More information available in the following series:
How I made a Text-to-Speech (TTS) model for (some of) a video game’s characters.
react-viewer-viewerA small React.js Tauri App (full demo here, if the one below doesn’t work) I developed to learn the basics of modern Full Stack development. Keywords: typescript, material-ui, create-react-app.
Some screenshots:


I started the project while I was midway through the Full Stack Open course online, so some of the design decisions in the app are regrettable. I’ve also developed a small backend API for the app (keywords: NodeJS, Express, MongoDB, docker-compose), but I’ve yet to publish its source.
Together with my friends at IRS Cybersec, we hosted Sieberrsec CTF 3.01, an online competition with >200 players, targeting Singaporeans in Secondary/Pre-Teritary Education.

I was personally responsible for:
It takes a lot more than that to run a CTF, but I’ll leave that information to a future post.
1 - 1.0 was a school event, 2.0 was nominally public but primarily catered to a few schools.
pwnscripts (2020-2021)pwnscripts is a deprecated Python package I developed as a personal extension of pwntools.
This was the first serious project I created. It’s not big – a few thousand Lines of Code in total – but it got me working with technologies that I had felt were for Real™ Developers Only. To summarise:
vim wasn’t enough for modern development (although later I switched back to neovim after understanding its plugin ecosystem better).__magic_methods__ are exceedingly bad for code readability!)And I learned a lot about programming in general, along the way. But I’m not working on this project anymore, because…
I used to be very active in the CTF scene. My old CTFTime profile and my team’s writeup repository is full of hundreds of challenges I’ve covered over the years. I won prizes for several local competitions in that time period, including:
I am no longer a CTF player. I’m happy to assist juniors/newcomers in learning the fundamentals, but I’m effectively retired from the local cadre of CTF professionals.
Advent of Code was my introduction to the world of programming puzzles. My secondary school didn’t offer much in the way of programming (beyond the regrettable Hello World tutorials), and I might not have become the programmer I am today without Eric Wastl’s work.
| Year | Points (global) | Languages |
|---|---|---|
| 2018 | 0 :( | Python, C |
| 2019 | 37 | Python, JS, C |
| 2020 | 28 | Python |
| 2021 | 372 | Python |
Although I started playing Advent of Code to learn programming, I stopped after reading the Scaling Hypothesis.
As with AoC, I stopped working on Competitive Programming around 2022.

I’ve made minor contributions to other people’s repositories. See my GitHub profile for more info.
In 2023, I matriculated at the National University of Singapore, under their Bachelor of Computer Science program. Subsequently, I dropped out to pursue full time employment at ElevenLabs.
I’m an alumnus of Hwa Chong Institution (College), and spent most of my free time there helping out the Cybersecurity Section of the Infocomm and Robotics Society (IRS).
Some info that will only make sense to Singaporean eggheads: PCMH+H3 Chem, AAAA/AD+Dist, SSEF, SChO. I include this for completion’s sake; most readers probably don’t care about this.