A few months ago I picked up learning Spanish again after a few years of little exposure. I just wanted to read real sentences. Sentences shaped by a writer who cared about rhythm and tension and the exact right word. I wanted to be inside a story, even if I could only grasp part of it.

What I could not find was a reading environment built for that middle place -- where you are past the basics but not fluent, where you want to encounter authentic language but sometimes need to check what a paragraph actually said. Every solution I found was either a translation you read separately (breaking the immersion), or a flashcard app treating language like a spreadsheet to memorize. Neither was what I was after.

So I built Parabola.

Parabola -- tap any word to see its match light up in the other language

Parabola -- tap any word to see its match light up in the other language

The scope: a library, not a lesson

From the beginning, my vision was clear: real books, read in parallel. I had this craving to read Pride and Prejudice in Spanish, but I knew there was no way I was getting past the first page with my rusty skills. What I wanted was a version where the Spanish and English texts sit side by side, paragraph by paragraph, and I could decide how much support I need at any given time.

That framing -- the reader as the one in control of the language immersion -- shaped every decision after that and the project scope was fun to flesh out from there. The platform would have to be genuinely flexible, not just offer a toggle between two modes. Language learning is not linear. Some days you want to be in the deep end. Some days you want a lifeline at the end of every sentence.

The scope was ambitious from the start: 61 chapters of Pride and Prejudice in bilingual format, each paginated like a real book, with individual word pairings across both languages so you could tap a word and see exactly which word on the other side it maps to. That content alone represented an enormous amount of careful alignment work -- the kind that would have taken months manually, done in days with AI-assisted generation.

From a good idea to a working tool

The early version of Parabola was a paginated reader with two columns. That was enough to validate the concept: yes, reading this way felt different. The parallel text created a kind of peripheral understanding -- even when you were not looking at the English, you knew it was there, and that knowing changed how you engaged with the Spanish.

The parallel reader -- Spanish and English side by side, word pairings highlighted across both columns

The parallel reader -- Spanish and English side by side, word pairings highlighted across both columns

But the first version had no nuance. Either you saw both languages, or you did not. What I wanted was something more like a dimmer switch -- a way to set how much support you were drawing on, and to change it mid-chapter as your confidence shifted. That became the exposure system: five levels, from full immersion (no English at all) to full support (English always visible), with three meaningful states in between.

Translation Exposure -- five levels from full support to full immersion, switchable any time while reading

Translation Exposure -- five levels from full support to full immersion, switchable any time while reading

At level three, tapping a paragraph reveals the English translation for that paragraph only -- a demand-based reveal that keeps you honest.

On Demand mode -- tap any paragraph to reveal its English translation, one at a time

On Demand mode -- tap any paragraph to reveal its English translation, one at a time

At level four, the text splits into sentence-by-sentence pairs: each Spanish sentence shown above its English counterpart, the whole paragraph restructured so you can move through it line by line. At level five, everything is open.

That sentence-pair view at level four went through several iterations. The first version I built required clicking through sentences one at a time -- a kind of self-testing mode. I tried it and immediately knew it was not the right approach. The friction was in the wrong place. I wanted to read it as pairs, all at once, and let the shape of the thing land. The next version showed everything immediately, Spanish and English aligned sentence by sentence on the page, and that was it. That delighted my brain! It was exactly the comparison structure that I was looking for to help with word association and context building in another language.

Sentence-by-sentence mode -- Spanish paragraph beside its English equivalent, every line paired

Sentence-by-sentence mode -- Spanish paragraph beside its English equivalent, every line paired

Refinement is not revision

What the build process kept demonstrating is that refinement is different from revision. Revision means you made something wrong and you are correcting it. Refinement means you made something reasonable and you are making it right. Most of the work on Parabola was refinement.

The pagination system, for example, was technically correct before it was experientially correct. The table of contents was not in the original plan at all. It emerged naturally once the library started to feel real. A library needs a way to navigate it. The TOC drawer -- hidden by default, opened with a single button in the reading controls -- builds itself from the chapter structure already present in the page, derives the total chapter count from the running label, and populates itself with Roman numeral links without requiring any additional data source. It is invisible infrastructure until you need it, and then it is exactly what you need.

What this process reinforced

I spend a lot of my professional time helping organizations adopt AI tools -- coaching teams through that uncertain early period when everyone knows they are supposed to be doing something new and no one is quite sure what. The single most common pattern I see in teams that struggle is the absence of a clear, held vision. They adopt tools because they feel they should. They experiment without a north star. The tools end up driving the decisions instead of the people.

Building Parabola was a reminder of what the opposite looks like. I knew, from the very beginning, what kind of reading experience I was trying to create. That vision did not change once during the entire build. What changed was my understanding of how to serve it -- which features mattered, which ones I thought I wanted but did not, how far to go with each idea before it was finished enough to live in the world.

The AI assistance accelerated the building significantly. Content generation, code structure, CSS refinement, edge case handling -- what would have been months of solo work compressed into weeks. But acceleration only works if you know where you are going. Without the vision, faster just means arriving at the wrong destination sooner.

Parabola is still growing.

The Parabola library -- books to read in two languages, with more titles being added

The Parabola library -- books to read in two languages, with more titles being added

The audio layer -- in-browser text-to-speech for hearing the literature read aloud -- is already being prototyped. I have an inclination for some very sexy narrator voices to help me gel that new vocabulary.

And more books will be added! More languages. But the thing I am proudest of is that reading it already feels like the thing I imagined in the first place, which is rarer than it should be.