What we learned building AI tools for journalists (in Spanish and in community)

Find out what La Silla Vacía’s team has shared about their path at the Innovation Challenge

By Karen De la Hoz

At La Silla Vacía, we have closely followed the work of JournalismAI. In 2024, we were selected for the JournalismAI Academy for Latin America. We participated in both the English and Spanish versions of the Discovery course. We are fans of the JournalismAI Festival, have studied and shared the reports led by Charlie Beckett — Generating Change (2023) and New Powers, New Responsibilities (2019) — and are also subscribed to the newsletter and connected through the Slack community.

So, when the call for the JournalismAI Innovation Challenge supported by the Google News Initiative opened, we knew it was the opportunity we needed to seize. We were looking to consolidate our learning, boost our AI lab — created in January 2024 — and tackle, in a structured way, a challenge that is as technical as it is human: building a hub of artificial intelligence tools for Spanish-speaking journalists. The goal? To create useful solutions for our newsroom and, at the same time, offer them as a service to other media outlets.

Here are our main learnings.

1. v0 has been an unexpected ally

Imagine you have a virtual assistant to whom you can describe, in simple words, the design you need — for example: "an online shoe store with blue and white colors". In seconds, the assistant delivers a functional mockup of that page ready to be tested in a browser. That's v0: a tool from Vercel (the company behind Next JS) which uses artificial intelligence to translate ideas into real website components, saving you the steps of designing, programming, and setting up the result. It's like having a designer and a programmer working together, available 24/7.

The adoption of v0, suggested by our technical lead and front-end engineer (Iván Montes), became the main catalyst for the design of our hub. It allowed us to generate mockups and pages in React / NextJS deployed on Vercel using prompts. This reduced the initial work from weeks to days and allowed early UX validation. This speed freed the backend team to advance on APIs and logic in parallel, and allowed us to produce proofs of concept to validate with journalists and editors almost in real-time, and practically without touching CSS.

The added value lies in the fact that v0 combines code generation and deployment in the same ecosystem, which simplifies continuous delivery and eliminates typical dependencies between design and development. In summary, using v0 accelerated the construction of wireframes, the rhythm of sprints, and achieved an agile workflow that reduces blockages and optimizes interaction between product, development, and the newsroom.

Here’s what our developers said:

"v0 has allowed us to iterate much faster and organize the team's time because I develop in an environment that doesn't interfere with Iván's; I can fix an error in five minutes without blocking production." — Pablo Manrique

"Pablo is working; he doesn't have a direct dependency on me and I'm working and I don't have a direct dependency on Pablo. That reduced our time considerably." — Iván Montes

2. Fine-tuning fine-tuned us

We tried to use fine-tuning to automate the writing of X threads. And... it didn't work as expected. The model repeated tweets, invented Twitter users, and included hashtags out of context. We iterated four times, adjusted the database, expanded it, reduced it, cleaned it, restructured it. We went out to ask colleagues from other media outlets and, finally, we returned to prompting.

But the journey has been more valuable than the result. First, because we’ve learned when fine-tuning doesn’t make sense, such as in open tasks with many styles or with data that’s difficult to clean. Second, because building a training dataset forced us to see our content with fresh eyes: a process through which we classify, debug, label, and systematize. And third, and most importantly, because this path has “fine-tuned” us as a team. We've emerged with better prompts, greater editorial clarity, and a stronger technical muscle.

Our backend developer and I – the prompt engineer and project manager of the project, respectively – had the following thoughts:

"Even though fine-tuning didn't work, the attempt taught us a lot. The model wasn't fine-tuned, but we were." — Pablo Manrique

"Creating the database has helped us better understand how to improve prompts. Even without fine-tuning, having that dataset has been key." — Karen De la Hoz

Now we use more refined prompts, specific examples according to the type of story, and maintain a modular logic that allows us to adjust without having to retrain. Fine-tuning didn't give us the result we wanted - but it taught us exactly what we needed to know.

3. Without feedback, there is no iteration

We knew we needed feedback. What we didn't know was that we would need so much feedback. This has probably been the task we most underestimated when starting the project.

Thanks to the comments from our own newsroom, we have been able to refine prompts, improve the user experience, and elevate the quality of the results that our tools deliver. Each iteration has begun with an observation, a doubt, or a suggestion from those who use the product day to day.

This is what our feedback owner said (yes, we invented this role):

"Responding quickly to feedback made them see the value of participating. It wasn't information that was lost in a drawer. Some now ask why certain things happen, how the tool works. That curiosity creates a sense of belonging." — Juan Romero

Systematizing feedback isn't glamorous, but it has been what has made it possible for our tools to evolve alongside those who use them. We've tried everything: structured forms, shared spreadsheets, and — of course — WhatsApp audio messages that we ended up converting into structured data.

4. When we don't know, we ask. And when we're asked, we answer

We have exchanged learnings with friends at Chequeado, consulted with Aftonbladet's technical team that developed the AI Buffet, a tool similar to what we seek to develop. We also go to industry events, we're active in the Slack community and other internet forums. We like to work within the community.

Several key project decisions didn't come from an internal document, but from a conversation. For example, it was at a hackathon where we heard someone from the Ojo Público team say that fine-tuning hadn't worked for them... but a modular prompting strategy with examples by content type did. We adopted it. And, it worked.

This is what our backend team said about the approach we use to work with X threads:

"The strategy we ended up using was recommended to us by someone from Ojo Público. They told us: fine-tuning didn't work for us, what did work was this. And that 'this' ended up saving our tool." — Pablo Manrique

After each Sprint, we reaffirm a simple idea: Latin American journalism needs AI solutions designed in Spanish and for our contexts. That's why we share these lessons with the conviction that the path is better built together. That's why we are open to sharing our lessons with anyone working on similar projects to save them time and frustrations.

Write to us if you’re interested in learning more about hub when it’s ready:

kdelahoz@lasillavacia.com

This article is part of a series providing updates from 35 grantees on the JournalismAI Innovation Challenge, supported by the Google News Initiative. Click here to read other articles from our grantees.

Previous
Previous

20 Innovadores en medios de LATAM se sumarán a la Academia de JournalismAI

Next
Next

Lo que aprendimos construyendo herramientas de IA para periodistas (en español y en comunidad)