Inspiration
I am an avid lover of language, language learning and linguistics. I have had a great time using flashcards and spaced-repetition to build my vocabulary in Spanish over the years, and so I wanted to build a product that would allow for anyone to do the same, and improve their vocabulary efficiently. However, as a lot of fellow language learning lovers will know, a lot of input is essential to your learning of the language. The only problem was, there was never anything I enjoyed + I love efficiency: graded-readers and their video equivalents are not based on your tastes, nor are they based on your actual current vocabulary learning state, meaning, while these of course help, one could be considered to be not actually reaching one's full potential. I wanted something better - and I knew that LLMs would be the one tool that could actually make custom stories based on your tastes and actual language level possible, and solve this problem!
What it does
Figtree uses a pre-curated flashcard deck and spaced-repetition to introduce learners of Spanish to new words and help them learn them through efficiently timed reviews. Then, our new for build week _ Reader _ feature, takes the user's current vocabulary knowledge state + their preferences on what they love to read, and generates truly personalised stories for the user to read, improving their comprehension in an exciting way. The majority of a story's bulk is made up of words the user knows, while then targeting 8 words that the user is finding difficult, currently learning or are even new to the user (these will then be shown next in the learn loop!); meaning reviews of harder cards and new cards in a longer-form context, helping the reader to improve their comprehension and understanding of these words!
How we built it
I used Codex with GPT-5.6 for the implementation of all our core features. This involved a lot of brainstorming, back and forth and planning with the model, and also included a lot of thinking on my end about how best to actually implement our Reader feature, before allowing Codex to go through with implementing the architecture in code - I was definitely the bottleneck here! We're using a local SQL database on iOS to store the user's flashcard states, and we make a few calls to GPT-5.6 for planning, writing and translating the stories - which take as inputs these flashcard states and reading preferences, as derived through code.
Challenges we ran into
At first, Reader felt fast and like it just worked. However, I realised that the stories being generated, even though personalised, were lacking true variety while still keeping to the user's preferences and expected familiarity of a genre. As such, I used GPT-5.6 to get some knowledge on how to make stories more varied while keeping to the familiarity the typical reader expects, and while still having a good, enjoyable to read story. After some back and forth, I gave the information to Codex and asked it to plan how we would implement this in our graded-reader context. It planned and implemented and the stories felt way more expressive and varied.
However, that's when we ran into our second problem, these stories were costing way too much and were taking way too long to generate. So again, after some back and forth with Codex, we finally came to a conclusion on how to implement a more streamlined Reader pipeline, and the result was faster and cheaper but still personalised, varied and enjoyable to read stories - and of course, including the user's current vocabulary knowledge state.
Accomplishments that we're proud of
Building my first, very own, fully-working app!
Of course building the amazing personalised Reader feature.
Getting so much done in one week!
Participating in a global event!
Learning how to better use Codex!
What we learned
Building pipelines and systems is a process that takes a lot of thinking, planning and tweaking to get right. But I've learnt that perseverance is key to getting things right, while at the same time, getting out a first version of something is never a waste because its failures become a great lesson for the future.
I've also learnt about getting structured outputs from LLMs, a whole lot about using Codex, including that it's sub-agents are great for getting planning and research done at the same time and helping the main agent to build more comprehensive proposals.
What's next for Figtree: Truly Personalised Spanish Input and Vocab Learning
I will most definitely be continuing build this app. We are aiming to get some real auth and database syncing done after Build Week, and to release a beta of the curated flashcard system. We will then keep working on the Reader feature, expanding it for use across more learner language levels, and increasing the number of words that can be learned on Figtree too.
In the future I would love to have a full public release with multiple language pairs available across both flashcards and Reader.
Built With
- codex
- expo.io
- gpt-5.6
- react-native
Log in or sign up for Devpost to join the conversation.