Inspiration
App store dictionaries are bloated with ads. It's frustrating when you just want a quick definition or pronunciation. I wanted a clean alternative. Also, not everything needs the cloud. I built this offline-first to prove local models and on-device databases are fast, reliable, and viable today.
How I built it
It's a native iOS app built with Swift. Everything runs off a local SQLite database (dictionary.sqlite3). I pulled in a few open-source datasets to populate it:
- WordNet: For definitions and semantic relations.
- CMUdict & Britfone: For US and UK pronunciations.
- IPA-Dict: For phonetic transcriptions.
I also wired up GitHub Actions to handle the CI/CD pipeline and automate the builds.
Challenges I faced
Data wrangling was the hardest part. Merging disparate datasets into a single SQLite schema took a lot of careful mapping. Performance was another hurdle. Local queries had to be highly optimized to return instant results. I had to balance read speed against the app's total storage and memory footprint.
What I learned
I leveled up my native iOS and SQLite skills. It was a great practical application of core software engineering concepts, especially around database optimization and CI/CD pipelines. I also got hands-on experience parsing and normalizing messy linguistic data. The biggest takeaway is that local-first development is incredibly powerful. You don't always need cloud infrastructure to build fast, robust tools.
Log in or sign up for Devpost to join the conversation.