How can we claim to be a sports nation but not a nation of athletes?
Certainly not based on what happened during the Vivicitta weekend.
At this event, nearly 8,000 runners received personalized articles about their running, which they could read and share almost immediately on Nemzeti Sport, the most visited online sports newspaper. How was this project completed?
In hindsight, it was all a game, from data collection to database setup and from prompt-generating tool development to article publication.
Data Tetris
To create personal profiles for the runners participating in Vivicitta, we knew various details, including names, ages, and residences, and later the run-time data. This meant about 35 data points, which would have been enough for a simple article, but not for a fully personalized, unique article. To work with values that an average runner would hardly or not be able to access, we refined the data with various calculations. For example, we learned how many runners someone overtook in a given section, in which section they were faster than the average runner, or where they were the most dynamic or slowest in front of Budapest landmarks. By the end of the creative math, we had a dataset of 63 data points for each runner. If we write a small prompt snippet for each data point, we can combine the data and prompts to create a complete prompt! To avoid analysis paralysis and unwieldy systems, we organized this into a multi-table database.
AI Rubik's Cube
So, are there just 63 prompt snippets? But there are the 21 km runners, the 10k runners, the 7k runners, the hand bikers, the short-distance runners, the group runners, the trios, and the duos. And hidden from everyone's eyes, the hikers completed their distances in the Buda hills.
An article is not unique if we teach the AI to write text for two different sports in the same way. So we multiplied the 63 by the number of run types, 16. That's how much data we had, which our developers used to build the prompt generator tool, which could rotate the "colors," the variable data, and the prompt snippets to create a unique article for everyone.
More than 1,000 small instructions rolled together like a giant Rubik's Cube, highlighting everyone's best performance.
While certain data (running pace, rankings, names) may match, the practical variance still meant 8,000 perfectly unique prompts.
Heading
Q&A
How do you ask a good question or formulate an instruction? It's thought-provoking in itself. But it involves a separate design process to give instructions to the latest version of the language model, providing proper context and guidance.
A good prompt is short and concise. But when you want to create a completely individual article based on such a large dataset, the prompt must be almost as long as the article itself. Maintaining easily manageable, understandable sentence structures.
And the AI hasn't even started working for us yet. The database, the prompt snippets, and our prompt-generating Rubik's Cube were created by our Senior Full Stack, Senior Backend, Copywriter, Creative Technologist, and Technical Project Manager colleagues. After long hours of work, ChatGPT-4 writes an article in 35 seconds. To further improve this time and get the completed article to the runners as soon as possible, we processed the data in parallel across 10 threads.
Hit the Mark
Not only were the articles and their prompts unique, but also the completed photos and video links. The photos were taken at a specific checkpoint, and nearly 28,000 pictures were taken automatically over two days. A runner appeared in an average of 6 pictures according to their pace. We selected the one where they were likely in the center of the photo. This was not AI, not manual work, and not really art, but a precisely set automation based on calculated data. We didn't use face or bib number recognition, so it was possible that someone running their best time was overtaken or even obscured.
And the videos! Only two streams were made, yet everyone received their own finish. Knowing the start time and the total running time, we calculated when our runner would approach the finish line in the home stretch. We set this exact time on the YouTube live stream link so runners could rewatch it anytime.
Heading
Running
As soon as the runners left the start line, current run data continuously arrived, which we immediately inserted into our database. As a runner crossed the finish line, the dataset was complete, and we automatically calculated additional unique values from the basic data. Once these were ready, they went into the prompt generator tool to assemble the complete prompt individually... all within seconds. Then... 1 hour of waiting. This was because we accounted for possible changes in net rankings. Once this time passed, we sent the prompt to ChatGPT-4 via API. The instruction included the runner's individual data alongside the main text.
Generating an article took about half a minute. To ensure the title and subtitle best reflected the article's context, we generated them in a subsequent instruction. Then, we created a unique hashed URL for each article. The photo and video were added to the completed article a few minutes later with a unique identifier.
The article for the first finisher in the half marathon was completed before the last runner crossed the finish line.
We handed over the unique links to our partner so they could email the runners about the surprise.
Solitaire
As many people, as many runs. And as many customs, needs, and legal consents. We knew there would be those who wanted their article publicly available to anyone on the internet, and those who only wanted to share it with smaller communities, or just keep it to themselves.
As the pictures, the article title, content, photos, video, and the runner's legal consent came together, the article was published on nso.hu's public or hidden page, like completing a card sequence in solitaire.
There were still games of tag with partners, hide-and-seek with bugs, and racing against deadlines, but in the end, everyone was smiling.
Using AI requires increasing and up-to-date knowledge, both in terms of integrations and prompting. As AI develops and new versions are released, the demand for ethical and legal considerations grows, playing a crucial role in shaping and limiting technological possibilities. This article was not written by AI, as assembling the associated prompt would have been a more complex task than writing the article itself.