Three years ago, I started Tricalendario.com when I got into triathlon and struggled to find competitions. Information was scattered across websites, incomplete or outdated (e.g., the Catalan triathlon federation website has not been updated since 2014). I created Tricalendario to list all competitions in one organized, easy-to-use place.
Tricalendario is now the leading triathlon platform in Spain, consolidating all multisport competitions to help athletes easily find their next challenge. The platform currently has over 20,000 users and has generated 500,000+ impressions (66k last month).
Starting with manual data collection
The initial goal for Tricalendario was to list every multisport competition in Spain and keep this information current, aiming to be the most reliable resource for athletes. However, manually finding, verifying, and updating every competition across numerous websites, federation pages, and club announcements was incredibly time-consuming. Even with dedication, I couldn't cover everything, so I was paying a friend 2€ per competition to help with data entry. Ultimately, it became clear that manual methods were not a viable long-term solution for managing the volume and dynamic nature of the data. A more efficient and automated system was necessary.
Automating operations with AI Agents
To address this, I developed a system of AI agents (cron jobs with LLM API calls and MCP servers) that search for, extract, and update event content automatically on Tricalendario. Using n8n, an open-source workflow automation tool, I have set up 5 different workflows to manage this data. Each agent has a distinct function:
- TriHunter: Searches broadly across the web for new triathlon competitions in Spain, analyzing diverse online sources to identify events not listed on official federation sites. Runs once per month, and sends the results to TriBot.
- TriScout: Monitors all official Spanish regional federation websites and other related pages to detect new competition announcements as soon as they are published. This ensures timely and accurate data acquisition from authoritative sources. Runs monthly or when a change is detected in one of the sites, monitored with a change-detection self-hosted service.
-
TriBot: When TriScout or TriHunter
identifies a potential race, they call TriBot to extract the
detailed information: title, date, location, GPS
coordinates, specific distances for each segment depending
on the track, pricing, poster images, promotional materials,
registration links, rules, and organizer details. It then
publishes the competition to Tricalendario automatically.
This is the most complex and critical workflow, check it out:

- TriTuner: TriTuner's role is to review and enhance TriBot's entries, as some data might be extra hard to find or missing completely. Rather than having it fail or stop, it continues and then TriTuner corrects formatting, standardizes information and fills missing details. For example, sourcing organizer contact information, which is not mandatory but good to have. This ensures each listing becomes polished and complete eventually, without blocking initial publication of core event information.
- TriSteward: Competition details can change. TriSteward regularly checks existing listings for updates to dates, locations, or other critical information. It runs monthly, one week before the scheduled event, and the day after, to maintain the platform's data up-to-date.
Cost Savings with AI Automation
Shifting from manual data entry to AI automation has significantly reduced costs by over 80%. Previously at 2€ per competition, costs are now between 0,05€ and 0,30€ per competition spent in AI tokens. I self-host n8n on my own server, which I also use for other projects, so the infrastructure cost is minimal and shared across multiple services. This represents a substantial saving in operational costs.

The AI token costs could be further reduced by leveraging the database of competitions from 2023 and 2024 which is complete and refined. Since many events recur annually, I plan on implementing a new AI agent that focuses on these recurring events and scrapes only new or changed information, rather than re-extracting all data.
Moreover, models are continually becoming more capable and more cost-effective. This positive trend further validates that switching from manual data entry to AI automation was the right strategic decision for Tricalendario's long-term sustainability.
Next Steps: Sustainability and Monetization
The focus over the past years has been on growing Tricalendario's user base and building a comprehensive, reliable resource. While user growth remains a key goal, I now want to ensure the platform's long-term sustainability as a new incorporated objective. With the automation of core content creation in place, which frees up considerable time and allows the platform to operate with minimal intervention, the next step is to focus on making Tricalendario self-sustaining.
That includes financial sustainability. I am exploring monetization strategies to support ongoing operations and future growth plans. However, I am committed to not compromising the user experience, which is why generic display advertising like Google AdSense is not an option. The platform is completely cookie-less and uses privacy-friendly analytics, minimizing tracking scripts to protect user privacy, and I intend to keep it that way.
I've weighed different monetization approaches. For example,
I've considered offering paid promoted visibility for specific
competitions, but I'm unsure if this approach would maintain the
perceived impartiality of the listings.
My main
consideration is sponsorships. Tricalendario offers brands a
direct channel to a highly targeted and engaged audience of
athletes. I am actively searching for brands that want to
promote their products or services to this audience and might be
interested in partnerships. If you know any brands that might be
interested in collaborating or if you can connect me with
relevant contacts, feel free to reach out!
Any other ideas on how to approach monetizing a platform like this? Every feedback on these ideas or on Tricalendario in general is welcome.