Skip to content
vinny horgan

ls -l work/

What I’ve built and said, newest first within each part. Most of my code is on GitHub.

# talks

Can machines think? 2024

My TEDx talk, “Le macchine sono in grado di pensare?”, in Italian: how AI models actually work, and how to use them well. I gave it at TEDxHensemberger Youth, at my old high school in Monza, an event my class and our teacher organised.

Vinny on the TEDxHensemberger Youth stage, mid-sentence, in a checked jacket

# for people

AI engineer, Comune di Cinisello Balsamo 2026

I work in the CED, the town hall’s IT department, bringing AI into how a public administration works day to day. My first agent reads a draft administrative act and checks it against the rules before it is filed, so fewer come back for corrections. Its first version went up in October 2026.

An AI assistant for a law firm 2026

Built for a lawyer in Milan. It reads the emails and documents of a case, drafts the formal notice in the firm’s own format, then checks the draft against the sources. In use since September 2026; a second, broader version is on the way.

LauzHack 2025 2025

A hackathon in Lausanne, which I won with a friend.

# for the love of it

rs-pokegb 2026

A Pokémon Blue emulator in a single Rust file: about 5,200 lines, no unsafe code. It replays the world-record tool-assisted speedrun, all 317,695 frames, with no game-state mismatch against SameBoy, the reference emulator.

otto 2026

An 8-bit fantasy console for the browser: the PC Engine configuration NEC never shipped. Cycle-accurate emulator, assembler and debugger, all in one HTML file.

xvi 2026

A portable retro console, specified on paper before any part does anything: a 16-bit MSP430 runs the game, an RP2354B plays the video and sound chips. Its reference emulator is 4,300 lines of C that need nothing, not even libc.

wisp 2026

rxi’s lite editor with its core rewritten in about 5,000 lines of safe Rust. The Lua on top is lite’s, byte for byte where possible.

The wisp editor: a file tree on the left, Lua source on the right, dark theme

div 2026

A clean-room reimplementation of the Divine Divinity engine, to run the 2002 game on modern systems. In progress.

miniglfw 2026

GLFW for Linux in a single C file, with its public headers unchanged.

Iris 2026

My own always-on server and agent setup. My work, my backups and the memory of what I am doing all live there.

Upstream 2025–26

Small contributions merged into libraries I learned from: a NanoVG backend for sokol, and fixes in raylib and Luau.