← Owen Flynn

Verbull

A finance word a day, and a daily word game to lock it in.

Status
Live on the App Store (1.4.2)
Platform
iOS, widget, web
Stack
Swift, SwiftUI, WidgetKit, Supabase, Postgres, edge functions
Role
Solo: design, app, backend, content, release
Links
App Store · verbull.app

What it is

Verbull teaches one finance term a day, then makes you earn it. The Today tab shows the word of the day with a plain-English breakdown. The Play tab is a Wordle-style game where the answer is always a finance term.

What I built

  • Five game modes: Classic, Timed, Definition (the clue is the definition), Expert (seven letters), and Duel, an async head-to-head mode with blind matchmaking and rematch series.
  • Social: friends, invite links that open straight into the app, QR invites, and shareable spoiler-free results.
  • A home-screen widget and push notifications, sent by a Supabase edge function over APNs.
  • Sign in with Google written by hand (OAuth with PKCE in a system web session) so progress syncs between the app and the website.
  • verbull.app, a companion site with 486 term pages and a daily word page.
  • Pro, a yearly subscription or lifetime unlock through StoreKit.

How it's tested

687 automated tests. The daily word for each mode is computed from a fixed 365-word pool, so the tests pin that math down: changing the pool size would silently change every player's daily puzzle.

Verbull: Today screen with the word of the day Verbull: The daily word game Verbull: Library of past terms