Skip to content
KS
Back to projects

Mobile / Offline-first

English Vocabulary Mobile App

An offline-first vocabulary learning application built with Expo, React Native and TypeScript.

  • Expo 54
  • React Native 0.81
  • TypeScript
  • Expo Router
  • Drizzle ORM
  • expo-sqlite
  • Reanimated
  • Gesture Handler
  • LLM APIs

Architecture overview

Mock architecture diagram for English Vocabulary Mobile App

Expo / React Native

SQLite + Drizzle

LLM APIs

Overview

This mobile app is built around an offline-first local data layer. Vocabulary lives in SQLite through Drizzle ORM, flashcards are swipe-based, and optional LLM calls add sentence generation and contextual analysis with request-level token, cost and latency tracking.

Technology Stack

  • Expo 54
  • React Native 0.81
  • TypeScript
  • Expo Router
  • Drizzle ORM
  • expo-sqlite
  • Reanimated
  • Gesture Handler
  • LLM APIs

Technical Implementation

  • Offline-first architecture.
  • Type-safe local data layer.
  • SQLite with Drizzle ORM.
  • Schema migrations.
  • Swipe-based flashcard experience.
  • Bottom sheets for contextual word details.
  • LLM-powered sentence generation.
  • Translation and contextual word analysis.
  • Request-level token, cost and latency tracking dashboard.

Key Engineering Decisions

  • Keep the source of truth on-device with SQLite so study flows work without a network connection.
  • Use Drizzle for a typed schema and migrations instead of ad-hoc SQL strings.
  • Treat LLM features as optional enrichment, with sentence generation and analysis sitting beside the local vocabulary store.
  • Record token, cost and latency per request so model usage stays visible instead of hidden in the client.

Let's build something useful.

I'm always interested in thoughtful software projects, backend challenges and product-focused engineering work.