Watch the episode: from a cyber café to AI test agents
This episode is for founders, CEOs and CTOs working out where AI fits in their delivery process. Short on time? Karim explains what an AI test agent does at 18:54, why raw LLMs can’t test reliably at 22:03, and what a CTO should do tomorrow morning at 33:00.
Chapters
- 00:00 – Cold open
- 01:06 – Introduction
- 02:27 – Growing up between Tunisia, India and Nigeria
- 03:42 – A cyber café and a first software business
- 05:53 – Why selling is the hard part
- 07:32 – From Microsoft to Expensya
- 08:54 – Picking a problem: something broken, and the right timing
- 12:49 – Nine years to a $100M+ exit
- 13:15 – Why point solutions had to become a suite
- 16:30 – Selling to Medius
- 17:07 – Leaving to build with AI
- 18:28 – What an AI test agent does
- 22:03 – Slow, expensive, not repeatable: LLM limits for testing
- 23:26 – Mythos and where AI is heading
- 24:34 – AI efficiency and the bubble
- 26:26 – Jobs: a brutal transition
- 28:24 – AI, defense and the race to AGI
- 29:26 – What AI agents mean for software quality
- 31:03 – The FOMO Four
- 31:21 – The most reckless software decision
- 32:19 – The belief Karim changed about testing
- 33:00 – What a CTO should do tomorrow
- 33:41 – The question nobody asks about AI-generated code
- 36:26 – Where to follow Karim
Scroll inside the list to see all chapters.
The episode in 2 minutes
Karim Jouini has been building software since he was a teenager, and the first lesson he learned wasn’t technical: building a product is the easy part, selling it is the hard part. That lesson carried him through seven years at Microsoft and nine years building Expensya, the expense management company he sold to Medius.
With Thunders, he went back to the problem that cost Expensya the most. Expensya had almost a million lines of test code. Thunders replaces that with AI agents that follow scenarios written in plain language, with engineering on top of the LLM to make every run fast, cheap and repeatable.
His argument on the show:
- AI has cracked design and coding, so testing is now what blocks most releases.
- A raw LLM is too slow, too expensive and not repeatable enough to test software on its own.
- Testing is often the hardest part of a software project, not the low-value task it’s taken for.
- Code written with AI raises a question few people ask: how much of it now sits with OpenAI and Anthropic?
Building the product was easy. Selling it was the hard part.
Karim was born in Tunis and grew up wherever his father, a diplomat, was posted: India, then Nigeria. His older brother wanted a computer, so the family got one, and Karim was typing before he could properly write (his handwriting, he admits, is still hard to read). He learned to code at 11. Technology was a hobby until 2002.
That summer, at 16, he took a job in a cyber café, earning about $150 for the season. The job was to wait for customers, note when they started, count their minutes and bill them, all on paper. Bored, he spent nights and weekends building a mini ERP to run the café. The manager asked if he could buy a license. “That’s when I learned what a license is,” Karim says (05:01). He spent the rest of high school selling it to cyber cafés across Tunisia.
The product was the easy part. He had to explain its value, market it, sell it, support it, deal with piracy and chase renewals. Patrick notes that business schools rarely teach selling at all. For Karim, it’s what separates a great idea from a successful one: you have to explain the pain, answer it, and find a price and a strategy that make it a win-win, where neither you nor your customer captures more of the value than the other. “I don’t necessarily like selling, but I know how important it is.” (07:21)
How to pick a problem: find what’s broken, then ask why now
Karim joined Microsoft to see how software gets built at scale, planning to stay a couple of years. He stayed seven, growing from software engineer to engineering manager. The Arab Spring, which started in Tunisia in 2011, made going back more attractive.
His method for choosing a problem has two steps. First, find something you hate doing or think is completely broken. For him, that was expense reporting, at Microsoft and at most other companies. Second, ask why nobody has fixed it. “When something is broken, it doesn’t mean that people are stupid,” he says (09:26). Usually the earlier players had their own reasons, and the question is whether those reasons are about to go away.
Three blockers that lifted for Expensya in 2014
- Paper. European companies had to archive paper receipts, which broke any digital experience at the last step. Several European countries were drafting bills to change that.
- Mobile. Most expenses happen on the go, and existing tools had weak mobile apps. By 2014, you could assume every professional carried a smartphone with a decent camera, so Expensya was built mobile-first.
- AI cost. Processing receipts with AI had been too expensive. Karim, trained as an AI engineer before the LLM era, notes that the bar was set by people typing receipts by hand in Madagascar, Bangladesh or Tunisia: the AI had to be better and cheaper than them.
He built a prototype with his co-founder while still at Microsoft, told Microsoft openly that he was leaving, and made the jump once it worked. Patrick connects this to his own book, The 10% Entrepreneur, about starting a company while keeping your job.
Why Expensya sold: when 30 apps replace one ERP
It took almost nine years to get from launch to exit. By then, Expensya had 1.5 million users (employees of its customers), mostly mid-market and enterprise companies such as utilities and train operators, starting in France and expanding to Spain, Germany and North Africa.
The decision to sell came from a strategic diagnosis. For 25 to 30 years, CFOs bought an ERP: one product that does every function, and in Karim’s view does all of them badly. It’s expensive to roll out in each new country, only a few back-office people can use it, and employees end up filling in spreadsheets. Specialised SaaS players like Expensya won that market one function at a time, but left CFOs with 30 apps that don’t connect.
Expensya had to become a suite, which meant three options: build the missing pieces (too slow, and this was before Claude Code), buy other companies, or sell. Buyers had reached the same conclusion and started calling. A banker compared the offers, and Expensya was sold to Medius, a Swedish company backed by private equity firms Marlin and Advent, which was assembling “something like Microsoft Office, but for CFOs” (16:54). Karim stayed 18 months, then left because he thought AI would change the industry faster than the plan allowed, and he wanted to be part of it.
What an AI test agent does, in plain terms
Patrick asks for an explanation someone who has never written code can follow. Karim uses a leave management system. Before you roll it out, you need every scenario to work: each category of employee can request time off, managers are notified and can approve, approvals flow correctly into the ERP, payslips come out right. On top of that come security and accessibility checks.
There are two ways to do it. Manual testing, by employees, beta customers or auditors, gives high quality and subtle feedback, but it doesn’t scale, it slows releases and it’s expensive. Test code scales, but you write a lot of it. Expensya had almost a million lines, because an enterprise product across nearly 200 countries, with different VAT rules, management levels, allocations and corporate cards, keeps compounding the number of scenarios.
At Thunders, our agents play the role of the manual tester. You explain a scenario in plain language (“connect as an employee, submit May 15 as a vacation day, check the manager gets it”, 21:31) or hand over documentation, and the agent opens a browser and does it. Then it does it again, every day or at every change.
Why an LLM on its own can’t test your app
The agents use LLMs, but Karim lists three reasons an LLM alone isn’t enough for testing:
- It’s slow: asking a general-purpose assistant to run a full scenario takes minutes, sometimes tens of minutes.
- It’s expensive: it burns through tokens.
- It isn’t repeatable: it does something slightly different every time, and tests are only useful if you can rely on them doing exactly the same thing.
That’s why we built a layer of engineering on top of the models, to make runs fast, cheap and repeatable. Patrick, who recently shipped his first product with Claude Code, gets the point: for a serious company, you want a tool built for the job by people who know testing. We compare the two approaches in Thunders vs Claude. For a deeper look at LLM limits, see Karim’s episode on the limits of AI agents.
Coding is cracked: why testing is the new bottleneck
Patrick brings up Mythos, the model Anthropic said could expose software flaws so fast that it held back its release. Karim sees the other side of the same shift. Agents trained to test, with UX, UI, security and accessibility skills, let any company ship software at the quality of the market leaders, for less money and in shorter release cycles.
In the rapid-fire round, Patrick asks what a CTO who hasn’t prioritised testing should do tomorrow morning. Karim’s answer: radically change priorities, because coding was cracked with AI. Look at your release cycle, find the biggest thing slowing it down, and “I’m betting my money that’s testing.” (33:21)
The belief Karim changed: testing isn’t low-value work
Early in his career, Karim shared a common view: testing is a low-value task, and the weaker engineers end up in it. Several projects proved him wrong. On them, testing was the hardest part and the most intellectually demanding. He tells the full story of one of them, the Kinect, in his MoTaverse episode on the quality architect role.
Asked for the most reckless software decision he’s seen, Karim points to governments, and to a French institution that manages passports and ID cards, hacked that April. Citizen identity, he says, is the thing you should protect most.
Is AI a bubble? Efficiency, jobs and the arms race
Karim doesn’t claim a crystal ball. He gives his view on three fronts.
Efficiency and the bubble
He thinks the panic about power grids and data centers is exaggerated, because AI keeps getting more efficient. Seeing companies buy nuclear power plants, his reaction was that “we assume AI can do everything except be efficient” (25:22). He places us somewhere in the middle of something like the dotcom bubble: the internet was a massive success, but the investment needed was overestimated, and that capital had to be paid back by someone.
Jobs
Here he’s a pessimist. He expects 10 to 15 years of brutal change, with a quarter to a third of available jobs at risk. His brother, also an AI engineer, disagrees and thinks new jobs will fill the gap. The job market still looks fine, he says, because everyone in tech is rebuilding software with AI. And the market is growing: his wife’s uncle runs a traditional travel agency, and his automation ideas would have needed six or seven engineers for a couple of years five years ago. Today one engineer could build them in three months. Karim doesn’t think that growth will be enough to make up for the jobs lost.
The arms race
What worries him most is investment in military and surveillance AI. He compares the race between the US, China and other powers to the Manhattan Project: everyone believes the first to reach AGI can stop the others and work out the consequences later.
The question nobody asks about AI-generated code
Patrick’s last question: what should everyone be asking about AI-generated code? Karim’s first answer is a joke, “who’s testing all of that?” (33:57), but his real one is more uncomfortable: how much of that code is now in the hands of OpenAI and Anthropic?
Patrick agrees, comparing it to the early days of Facebook, when people handed over their photos and data without thinking. Karim adds a sovereignty example. AI-written text has its own favourite words, and humans are starting to use them too. One researcher tried to estimate how much of recent French law was partly drafted with ChatGPT by tracking that vocabulary, and found a gradual rise starting in 2022. If drafts are being worked on in ChatGPT, Karim says, the provider can see bills before French citizens do.
6 key takeaways
- To turn a good idea into a successful one, you have to sell it: explain the pain, answer it, and price it as a win-win.
- When a problem looks unsolved, look for the reason it couldn’t be solved before, and check whether that reason is going away.
- Specialised SaaS beat the ERP, then created its own problem: 30 apps that don’t talk to each other.
- A raw LLM is slow, expensive and not repeatable enough for testing. Reliability comes from the engineering on top.
- With design and coding sped up by AI, testing is the step most likely to be slowing your releases.
- Before you paste code or data into an AI tool, ask who else can now see it.
Key moments from the episode
- “It is what makes the difference between a great idea and a successful idea.” (06:46)
- “When people can’t figure out a specific problem or crack it, it’s often due to timing.” (09:33)
- “Tests need to be perfectly repeatable, because you need to rely on them.” (22:36)
- “We assume that AI can do everything except be efficient.” (25:22)
- “Testing was actually the hardest part and the most intellectually challenging part of that project.” (32:44)
- “Design is cracked. Coding is cracked. Testing is what is blocking them from releasing.” (33:21)
- “The question no one is asking is: how much of that code is now in the hands of OpenAI and Anthropic?” (34:01)
About FOMO Sapiens
FOMO Sapiens is hosted by Patrick J. McGinnis, who coined the term FOMO, short for fear of missing out. The show explores how entrepreneurial thinkers find the inspiration and the courage to build exceptional lives, and how to turn FOMO into focus. Patrick is also the author of The 10% Entrepreneur, about starting businesses while keeping a job. FOMO Sapiens is recorded in New York City and available on YouTube and podcast platforms. Karim is the first Tunisian guest on the show.
About Karim Jouini
Karim Jouini is our CEO and co-founder. Born in Tunis and raised in India and Nigeria, he sold his first software at 16 and trained as an AI engineer long before LLMs. He spent seven years at Microsoft, from software engineer to engineering manager, then founded Expensya, an AI-based expense management company sold to Medius for more than $100 million after almost nine years. Expensya’s million lines of test code are the reason Thunders exists: Karim knows from experience that testing is often the hardest part of building software. All articles by Karim Jouini.



