Below you can read more about each project I worked on:
Telegrams from the Choir Train
Creative Director, Narrative Designer, Programmer
A narrative shipping management game played through a Discord Bot players invite to their own server.
Presented at the 2026 GDC Experimental Games Showcase (0:37:05).
Play it here.
- Designed and implemented a narrative system to convey a story through real-time Discord bot interactions. I needed a story to be told in short discord messages while players manage shipments and wares on the train, so I built a custom quality-based storylet architecture, and coded this entirely in Python. It reacts to player actions and statistics, providing flexibility in when narrative is unlocked and read, yet still providing me with authored control on the progression.
- Created a novel post-post apocalyptic setting and wrote narrative material. I researched 20th century train transportation and built a world inspired by it, digital glitch art, and alien gods. The game tells a story of labor under capitalism, echoing the fiction through the players' repetitive and communal actions of freight management with larger themes of collaboration, labor practice, and faith.
- Directed a team of 5 other developers for 6 months of production. I collaborated with 3 writers who wrote a couple of the stories and newspaper articles in the game, which helped flesh out the world. I directed programming for an SQL database with a database developer, and supervised a systems designer in creating the economics systems underpinning the game.
- Play tested 5+ iterations of the game with individuals and groups, which directly informed much of the design, including the pacing of the asynchronous real-time interaction and collaborative mechanics, which helped better facilitate players working together within their Discord server.
Telegrams from the Choir Train was designed as part of my PhD dissertation, exploring how to create a lo-fi narrative live-service game.
See the portfolio entry on Creative Writing for more writing examples from this project.
-
The core loop of the game, showing how players get orders, buy wares, and offload them, and how that feeds into the narrative progression. -
Excerpt of the narrative spreadsheet, showing a few storylets and the requirements to unlock them. -
Example of the introduction mission and reading the weekly newspaper. -
Excerpt of the manual. The manual was intentionally used to tease narrative details and worldbuilding.
What is BRG?
Designer, Producer
The official ARG for GDC (Game Developers Conference) 2026, played throughout the week with puzzles involving 14,600 badge ribbons (36 designs), 40+ NPCs, two booths, 8 websites, 3 social media accounts, a glitchy video at the Awards, and a talk on Friday at the conference.
My Role:- Was part of the design process from the very beginning, iterating on ribbon designs, puzzle designs, the narrative framing and more. I designed 4+ puzzles, including a “merge-conflict” puzzle and a puzzle involving error codes in a genuine WordPerfect manual. I also collaboratively helped design many more puzzles, including a custom alphabet that required 26 ribbons to read.
- Served as producer for the team and designer of the complete game flow. I used Miro and Spreadsheets to keep track of all our puzzles, their production status, and their connection to other puzzles and clues. All of our avenues (ribbons, NPCs, websites, etc.) needed an equal spread of clues to provide players with multiple ways to engage, and I was in charge of making sure all puzzles were solvable both from the aspect of design and based on our production capabilities.
- Moderated and “dungeon-mastered” the live play of the ARG during the week of the conference. This included organizing and supporting the 40+ NPCs with their tasks, guiding them to location and helping with any live issues, and adjusting clues for future days based on player progress.
This was in many ways an experimental project, since doing a live ARG at GDC had never been attempted before, and few other conferences have similar experiences. The project was supported and sponsored by Informa.
-
Excerpt of some of the websites players interacted with for puzzles, including GDC's official website. -
14600 badge ribbons were printed and handed out during the conference, many with clues and hints for puzzles. -
NPCs were scattered all throughout the conference, acting in character and providing clues. -
There was both a booth on the show floor and at the Monday Night Party where we the developers acted as "fake" salesmen.
Collector’s Edition
Narrative Designer
Collector’s Edition is an unreleased Collector Simulator about collecting everything. Hunt rare finds, inspect their value, haggle with eccentric sellers, and your finds online for profit or keep them in your ever-growing collection. This game needs procedural text for both when players buy (online listings), and for when they sell wares (comments/reviews), which I was in charge of developing.
My Role:- Designed the text generation of item listings and comment/reviews of buyers. As the player posts a listing for sale, the game needed comments and review to serve as feedback on how well the player situated their listing in the market. To do this, we designed “buying blocks”, abstract groups of people with specific interests and requirements for collectibles, each with their own focus of comments. This is then used to generate Tracery-style grammar comments such as “There's such a great sense of style in the #CollectibleType.s# from #Time#” or “Are you gonna sell #OtherCollectibleType.s# soon?”
- Researched real-life collectors through books, academic papers, television, and first-hand investigation of auction sites (like ebay), studying how collectors present their items, word-choice, personality types, etc. which was all used to inform the narrative design. This directly led to the buying blocks, and also to a typology of possible listing types (such as “Valuable Item, Seller Knows” or “Worthless Item, Seller Knows (lying)”, which was then used to generate the text for the procedural listings.
- Generated lists for generative grammars for usernames, creating names such as DimeAuthority, Plutuscrazy74, and cute_zinc for people who are interested in coins. This includes creating a structure for those names (such as NounAdjectiveNumber) and populating the lists for words, based on research.
This project is still in development, and thus some parts of what I worked on I cannot share. My work has been in the pre-production and prototyping stage.
-
I worked on generating text that would populate sales listings, showing the sellers wares and intent, based on the listing items and image. -
Example listings from my research, categorized into different types of sellers. -
I was working on a comment generation and review system for when player sells items, and various people bid on it. -
The comment generation system was based on buying blocks of abstracted buyers with different interests, wants, and price-limitations.
Call Me & Emoji Blast
Programmer (Gameplay, UI)
I worked at Pointvoucher, a startup mobile game company developing branded casual mobile games in Unity. Was part of a team developing 6 games, while also supporting existing games with regular patches and updates. I will focus on two projects here, Call Me and Emoji Blast. These games have all been discontinued as the company no longer exists.
My Role:- I was the sole programmer on Call Me, a small Danish word-game about finding words with a grid of letters. I was especially focused on making the game feel smooth to play, and worked on programmatic animation curves to move the letters as players interact with them, providing a lot of juice with each interaction. I worked closely with an artist to implement the visuals of the game.
- For Emoji Blast, a “blast” game (like Toon Blast), I solved a technical challenge of parsing a low-level C++ engine outputting step-by-step logic into smooth, screen-wide animations developed by our artists for each block type, powerup, and ability. This was difficult due to the logic of the C++ engine not being compatible with the animations, and this whole process taught me a lot about communication across team-members as I was the lynchpin between backend programmers and artists.
Below is an example showcase of the Engine Interpreter I made for Emoji Blast. On the left is the raw engine output (slowed down for visualization), and on the right are the final animations.
-
Call Me was developed entirely by me in collaboration with an artist. -
Emoji Blast was developed with a team of 4-5 other developers. I worked on the gameplay and animation systems. -
We regularly updated two Match-3 games "Far til Femten" and "Play London with Mr Bean", with weekly levels and new features. -
I worked on the UI and gameplay implementation of Mr Bean Solitaire.
The LUX
Narrative & Puzzle Designer
The LUX was an Alternate Reality Game (ARG) made for a research project to study complex psychological structures such as resilience in everyday situations. The ARG was designed for new students at the UC Santa Cruz campus and was played through online puzzles provided through a Discord server, often requiring scanning QR codes hidden around campus for clues.
My Role:- I developed the narrative premise, structured the story outline, and wrote all text documents and puzzle text. I designed some of the puzzles, and created the entire puzzle flow to fit the narrative. I also supervised the development of the Discord bot used to provide puzzles to players.
- The narrative was directly based on UC Santa Cruz’s history, drawing on its real political history as a school and the folklore surrounding the campus from students since the 60s. I researched this history by reading historical documents and descriptions, and exploring the campus to find secrets in the forest mentioned in student-written folklore from the 1980s.
- I was a primary point of contact for players as the game was played. I acted as several in-fiction characters in the players' Discord server, guiding them in case of issues and acting as an intentional foil/antagonist/mentor as the story developed.
Read a local news article about the project.
-
The game was inspired by the history of UCSC, its founding principles and how they have changed over time. We made an intentionally fictional story but inspired by these real events. -
Players would explore the Santa Cruz campus to find QR codes, hidden among the buildings and trees, which are full of these hand-built tree-structures. -
Students at UCSC have made and documented decades of folklore since the 80s, too, which I researched and served as a backdrop for the writing. -
The tone of the writing challenged players to reconsider their campus through its history, providing perspectives on the students' battles for their rights over time.
Eravola
Solo Dev
Interactive Fiction game made for the Write-a-Game (WAG) challenge, a month-long game jam on itch.io. It was awarded a Runner-up nomination in the Amateur category and was “loved for its subtlety" by the judges.
Eravola is a 20-minute science-fantasy story about a medieval village struck
by a curse, read through a 70s sci-fi computer interface. Play it here.
- Created and wrote the entire narrative by myself. I wanted to invoke the feeling of a single village in a low-fantasy setting like The Witcher or Game of Thrones, focused on a small-scale conflict. I complicated this through the 70s Sci-fi interface (think Alien), which at first feels incongruous with the fantasy setting, yet by the end it is suggested (yet never outright stated) that the story is a simulation depicted by a drone investigating this village centuries after its downfall.
- Programmed the entire game in Unity, including the narrative systems and visuals. The dialogue was hand-written in code (something I will never do again), and the visuals used screen-space shaders to provide CRT emulation and glitch effects at random and key moments in the story.
-
Eravola opens on computer boot-up process, before beginning a dialogue scene between the main character and her mother, never acknowledging this discrepancy. -
The story revolves around a village on the day it is infected by a curse, discovered too late to stop it, despite the attempts by a newly arrived Sage. -
The visuals will glitch at random times which increases as the curse intensifies, and will trigger at specific moments in the story.
Creative Writing
Writer
My creative writing can be seen here and here. Here's the highlights:
My interactive writing can be seen in my previously shown projects, Telegrams from the Choir Train and Eravola.
I will below showcase this writing with some polished excerpts, seen below.
-
Example newspaper article, Telegrams of the Choir Train. Worldbuilding was all done through subjective opinions like these, describing news through how people react to them. -
Example audio recording, Telegrams of the Choir Train. This is from a child who lives on a Choir Train, doing juvenile reporting. -
The gods of Telegrams from the Choir Train (known as "The Audience") speak to the players in separate voices reacting to current events, inspired by a Greek Choir. -
Character Profile, Eravola. The main character Tari, describing herself in the character profile tab, a young teen living in a fantasy village.
See more of my Work here:
My games.
My blog writing.
My academic writing.
Elsewhere on the Internet:
My itch.io page.
My linked.in.
My bluesky.
Send me an email.