Childhood wonder
Stefano’s first computer, a Commodore Vic20, was something he could program himself and opened up a world of possibilities. Most importantly, this first computer awakened Stefano to the idea of tinkering and eventually led to him pursuing a degree in electronic engineering. Over the past 20 years he has worked with many tech startups and software companies, often with Apache Frontier Foundation, where he became a fellow and met many passionate inventors. Fably, however, was very much inspired by Stefano’s own family, particularly his nine-year-old daughter who kept asking him to invent new stories.
Stefano had encountered LLMs (large language models) while working at Google Research and wondered whether he could use one to create a storytelling machine. Stefano found the command of language impressive but the LLM “felt like talking to a person that spoke like a college professor but had the understanding of the world of a five-year-old. It was a jarring experience especially when they confidently made stuff up.” The phenomenon is often referred to as ‘hallucination’ but Stefano says some colleagues at Google call it ‘fabulism’. He prefers this term and it is the origin of his Raspberry Pi project’s name. Importantly, ‘fably’ is also a word the text to speech synthesis API can pronounce.
As well as making more sense than an overconfident LLM, the smart storyteller needed to come up with compelling stories that engaged the listener and be sufficiently autonomous that it could be used without continuous adult supervision. Being an ambitious, entrepreneurial type, Stefano also wondered about the commercial possibilities and whether Fably could be made at a sufficiently low cost to build a community around it. He notes that children are demanding users being both “impatient and used to interactivity as a foundational aspect of learning”. It would be critical that the “time to first speech” (the time from the last word the child said and the first word coming out of the machine) could not be more than a few seconds.
Every cloud
Since LLMs are very resource-intensive (as he knew from working on machine learning at Google), Stefano chose a cloud API-based approach to address the need for speed, and Raspberry Pi to keep costs down so other technically minded makers could create their own. Raspberry Pi felt like the best choice because of its price, availability, fantastic and very active community, and because it runs Linux directly – a development environment Stefano felt right at home in. Additional hardware such as a microphone could also be added easily. Stefano praised Raspberry Pi’s “relatively stable” I/O pinout across versions in ensuring “a healthy and diverse ecosystem of extension boards”, which could prove important should Fably become a commercial product.
Fably makes full use of OpenAI cloud APIs, alongside a text-to-speech synthesiser with a warm and cosy voice. Stefano’s daughter enjoys the fact that she hears a slightly different story even if she makes the same request. Using a cloud setup means each story costs a few cents, but Fably can be set up to cache stories as well as to cap cloud costs.