Palabruno: From Early Prototype to Launch
Built and launched a React web workspace and React Native apps for Spanish learners and teachers, including an interactive reader, student and group management, sharing, and subscriptions.

Project overview · 40 seconds
An early prototype needed a first paid version
Palabruno began as a prototype for a Spanish reader. Learners could tap a word for translation, grammar, and pronunciation help without leaving the text. The founder needed help deciding what belonged in a paid product and taking it through launch.
As the client’s AI Product Engineer, I worked directly with the founder on scope, learner and teacher workflows, AI reader development, payments, and release handoff. The engagement took the product to iOS, Android, and web.
Choosing a buyer shaped the workflows
Tutors already create lesson material and send it to students. I treated them as the first buyer to test and scoped a web workspace around readings, students, groups, and sharing. This was a product hypothesis the founder could test after launch.
Students needed a mobile reader centered on reading, saved texts, and help in context. Teachers needed to prepare and distribute lessons. I kept those interfaces separate while connecting them through the shared backend.
The MVP also needed real payments and store readiness. Late feedback affected UX, pricing, legal copy, performance, and screenshots, so launch work was part of the engagement.
Frontend architecture for learners and teachers
The product separates a React web workspace from React Native / Expo learner apps. The teacher workspace covers reading creation, student and group management, and sharing; the learner interfaces keep vocabulary and phrase explanations inside the reading flow.
The current web architecture uses TanStack Router and a shared TanStack Query client. Signed-in viewer and access state live at the app route boundary, while TanStack Table handles pagination and selection for substantial dashboard and admin tables. Data fetching and cache updates stay separate from each table’s presentation state.
Building the Spanish reader compiler
The reader had to connect each tap to the word or phrase being explained. A fluent learning card could still be wrong for the selected text.
I built a reader compiler combining natural language processing (NLP), linguistic rules, and constrained LLM generation to produce tappable words, phrases, and contextual learning cards. Language analysis and structural rules worked alongside model-generated explanations.
Output validation checked the generated cards before publication. Invalid cards could be regenerated individually, preserving valid work instead of repeating the entire generation. Regression tests checked later changes to the learning content and its connection to the selected word or phrase.
Making text processing recoverable
I implemented durable text-processing workflows with persisted progress and failure recovery. A long-running reading job needed a recoverable state beyond the browser request that started it.
Per-stage latency and model-cost tracking made it possible to inspect where processing time and spend accumulated. That supported diagnosis at the stage that needed attention, alongside the reader’s regression checks.
Integrating payments, launching, and handing off
Put each payment path where its customer used the product.
RevenueCat handles learner Premium subscriptions through Apple and Google. Stripe handles Teacher payments on the web, where tutors prepare lessons. Supabase supports the shared backend.
Leave the founder with release steps and product documentation.
I prepared the public site, pricing and legal pages, store listings, screenshots, release documentation, and handoff notes. The founder could operate the product and continue testing the tutor offer after the engagement.
What launched, and what still needed testing
The MVP launched across iOS, Android, and web, with paid learner and teacher paths. This is a historical delivery: the mobile apps were later withdrawn from the stores.
Tutors were the first buyer to test.
Tutors already create lesson material and send it to students. The Teacher plan gave them a paid workspace for readings, students, groups, and sharing.
Premium and Teacher use separate payment paths.
RevenueCat handles Apple and Google subscriptions for Premium. Stripe handles Teacher payments on the web.
The MVP reached both app stores.
The launch also included a public site, pricing, legal pages, screenshots, release notes, and store listings.
The founder could run the product after launch.
The handoff covered the shared backend, store assets, release steps, and product documentation.
The founder could now test whether tutors would pay for the workspace. Launch and implementation are documented here; tutor conversion, retention, and learning outcomes have not been measured in this case study. The screens below show the shipped workflows, and my Applied AI résumé records the reader compiler and durable processing work.
The teacher workspace supports the full lesson loop
Screens from the teacher workspace show the core product surfaces: create a reading, manage students, organize groups, and share material.

Teachers can choose a topic, level, and length, then turn class material into Spanish reading practice.

The roster keeps student names, invite status, and next steps close to the reading workflow.

A teacher can group students for recurring lessons and share a reading with the right class.

Recent shares make it easier to track assigned readings across email, links, and WhatsApp.
The learner surface keeps support inside the story
Readers can work through Spanish content, get help in context, and return to a library of saved texts.

Learners can select a word for translation, pronunciation, and grammar help without leaving the story.

Contextual support helps learners understand expressions such as me di cuenta de without breaking concentration.
Looking for a senior frontend engineer?
I help product teams build and improve React and TypeScript applications, from complex interfaces to reliable releases. I’m open to remote roles and contract work.