Hany Jiang

Project / 01

FoKy - iOS productivity & study app

A production iOS app that combines focus tools, study workflows, and collectible rewards. Built with React Native, Expo, and TypeScript, with a privacy-conscious AI study assistant that turns topics, notes, and selected PDF pages into source-grounded flashcards.

role
Full-stack mobile & AI engineering
timeline
September 2025 - present
status
shipped
stack
React Native, Expo, TypeScript, Deno Edge Functions, Anthropic Claude API, Supabase, PostgreSQL

The product

FoKy is a production-oriented iOS productivity and study app. It brings app blocking, timed focus sessions, flashcard review, and collectible rewards into one experience, so the motivation loop and the study loop live in the same product instead of in separate utilities.

The app is available on the App Store. Its interface is built from a token-driven design system spanning 37 screens and 51 shared components, with accessible motion, haptics, native iOS integrations, and a collectible asset system designed to scale as the product grows.

AI study assistant

The study assistant turns a topic, the user's notes, or selected pages from a PDF into source-grounded flashcards. Deno Edge Functions call the Anthropic API and require structured model output, then a validation pipeline checks that output before it reaches the study system.

That boundary is intentionally defensive. Deterministic validation catches malformed results, semantic quality checks flag weak cards, ambiguity detection identifies prompts that need clarification, and human review keeps the user in control of what becomes study material. Selected PDF evidence is verified on the server so a model cannot attach a plausible-looking citation that is not actually supported by the source.

Reliability and privacy

The backend uses Supabase and PostgreSQL for authentication, progress, rewards, subscriptions, and social features. Row-Level Security and transactional operations keep user data isolated and state changes consistent, while the AI path is designed to send only the material the user selected for a generation request.

Credit reservations are atomic, generation requests are idempotent, and prompt-injection defenses treat notes and PDF text as untrusted input. Together, those controls prevent duplicate billing, make retries safe, and keep unsafe or unsupported model output from entering the flashcard library.

Key decisions

  • Build a system, not 37 one-off screens. Design tokens and 51 shared components keep typography, spacing, controls, motion, and feedback consistent across a large mobile surface.
  • Ground every generated card. Evidence is verified on the server, not trusted simply because the model returned a citation-shaped field.
  • Validate in layers. Structured outputs establish the shape, deterministic rules catch hard failures, semantic checks catch quality problems, and human review handles judgment calls.
  • Reserve credits atomically. Billing state is secured before generation and requests are idempotent, so retries cannot silently charge twice.
  • Treat source material as untrusted. Prompt-injection defenses apply to notes and PDFs before they reach the model boundary.

Result

FoKy has moved beyond a prototype into a shipped iOS product. The result is a sizable, reusable React Native interface and an AI study workflow built around evidence, validation, and safe failure modes rather than accepting model output on trust.

What I am improving next

The next challenge is measuring whether generated cards actually improve study outcomes. The safety and quality gates make each generation more reliable; the product can now use review behavior and explicit feedback to learn which card shapes are most useful without weakening privacy or source grounding.