GolVazhe

An iOS app that teaches Persian vocabulary, one word a day.

2026 iOS 0 to 1 Solo Build SwiftUI
Problem

There are very few resources for learning Farsi/Persian out there — it's not on DuoLingo, and other courses require a lot of up-front investment and time. Inspired by my own need for a low-effort way to learn new vocabulary and sustain a daily practice, I made GolVazhe.

Solution

GolVazhe is a native SwiftUI app I designed and built (read: vibe coded) end-to-end. Each day shows one word across three fluency tracks, along with a home-screen widget so the word is visible without opening the app, and a searchable dictionary of every word revealed so far.

Status

Live on the App Store as of September 2026! There's a modest but engaged base of users 🫶

Download on the App Store

The Story, Abridged

After inspiration struck, I started looking up different apps that serve the same purpose for other languages. There were some core features that made an app useful, like being able to look back at previous words, see example sentences, and in some cases, hearing a pronunciation of the word. Others that provided more robust, paid experiences offered favoriting words, retention-encouraging behavior like streak bonuses, and learning experiences like quizzes.

It was clear that there were a ton of different routes to offer a delightful experience to users. I made the decision to forego initial research with users after a few conversations with other friends in the diaspora validated the concept itself; my goal was to put something out there and let feedback guide the course from there. In the end, I settled on a few necessary features.

Widget

To allow people to easily spot today's word without having to remember to open the app.

Word, Example Sentence, and Transliteration

The main purpose, enabling people to learn regardless of whether they know the Persian alphabet or not.

Fluency Level

To allow learners to select the appropriate vocabulary set & retain value regardless of how much experience they have with the language.

GolVazhe's Today's Word screen, showing the Farsi headword, pronunciation, meaning, and an example sentence GolVazhe's fluency level picker GolVazhe's feedback form

The core screen is simple: the word of the day, romanized pronunciation, an English translation, and a paired chat-bubble pair.

As you scroll: the Today's Word screen (headword, pronunciation, translation, example sentence), then the fluency level picker, then the feedback form.

One of the main priorities was to make learning the word of the day as effortless as possible. I designed a few variations of a home-screen widget, which reads the same fluency setting as the app (small and medium sizes, iOS 17+) so the word on your Home Screen always matches the one you'd see inside.

GolVazhe's home-screen widget across its light, dark, and full-color renderings

Every part of GolVazhe — the SwiftUI interface, the fluency-tracked word rotation, the widget extension, a small Cloudflare Worker for privacy-first anonymous analytics, and the App Store submission itself — was built through Claude Code.

All ~1,050 words live in a JSON file the app fetches at runtime — so adding words, fixing a mistranslation, or tuning a transliteration never needs a new build or App Store review. As much as I want to make the content entirely human-generated, at scale it's a bit difficult, and there are no online sources to pull from. As such, I have Claude generate the list, and I then proofread and make any necessary corrections, additions, or removals in a Google Sheet; a small sync script pulls it, diffs it against what's live, and pushes the update.

I was super happy to see some positive responses from people in my community after sharing that GolVazhe was live.

Text message reactions from friends after GolVazhe launched

Now that it's live and out there, I've been monitoring feedback to help prioritize new features in free time: some simple like as a glossary to explain the transliteration phonetics, others more complicated like seeing if there's a way to embed recordings of each word to help with pronunciation. We'll see where it goes & I'm excited to keep this passion project going.