Back to Blog

Building Eortologio for Greek name day lookup

Emmanouil Athanasopoulos2 min read287 words
React NativeLocalisationOffline-FirstCalendar

The Motivation Behind the Project

Eortologio is a practical mobile app for Greek name days, built to make calendar lookups quick and accessible. The app combines daily relevance with a structure that works in both Greek and English.

Core Features and Design Goals

  • Calendar view: an easy way to browse name days by date.
  • Name search: faster lookup when the user already knows the person or date they need.
  • Holiday support: the app reflects a broader calendar context instead of only listing names.
  • Bilingual Greek/English UI: useful for users who switch between both languages.

Technical Implementation

  • Built a custom fuzzy search engine with Greek-Latin bidirectional transliteration that maps every Greek character (including accented vowels) to its Latin equivalents and vice versa, enabling users to search for Greek names using a Latin keyboard — with Levenshtein distance for typo tolerance up to 2 edits.
  • Implemented an offline-first architecture that downloads the entire year's name day data month-by-month (with progress callbacks) into AsyncStorage, then serves all lookups from cache — with a fallback to live API calls when cache misses occur.
  • Designed a notification scheduling system that registers daily local notifications for favorited names, with a context-driven favorites manager persisted in AsyncStorage and a bilingual notification content system (Greek/English).

The Technology Stack

Built with Expo SDK 54, React Native, and TypeScript using a classic navigation architecture (React Navigation Bottom Tabs). The search engine implements a custom Levenshtein-based fuzzy matcher with a full Greek-Latin transliteration table. The app uses React Query for API data fetching, AsyncStorage for offline caching of the entire year's data, and expo-notifications for scheduled name day reminders.

Final Reflections

This project shows how a focused idea can be genuinely useful when it is presented with care.