Logo

Scripturle

Authors
  • avatar
    Name
    Kaden King
Slide 1

Scripturle

Scripturle started as my senior capstone project at Freed-Hardeman University. The idea was simple: take the Wordle format everyone already understood, and replace five-letter words with Bible verse references. Instead of guessing CRANE, you’re guessing JOHN3:16.

What began as a class project became something I cared about enough to keep building long after graduation — adding accounts, groups, leaderboards, and a scoring system that rewards consistency and accuracy over time.

The Game

Each day, players get six attempts to guess a Bible reference. Correct books, chapters, and verse numbers are revealed tile by tile, just like Wordle. Hard mode requires using any revealed information in subsequent guesses.

The daily puzzle rotates from a curated database of verse references, with an archive accessible by date so players can go back and complete past puzzles. Every game is the same for every player on a given day, which keeps the social element intact — you’re comparing results with friends on the same footing.

Beyond the Game

After graduation I extended the project significantly with features that turned a simple daily game into a community:

  • User accounts — Firebase Authentication with cross-device sync, so your stats follow you everywhere
  • Groups — Create or join a group with friends or your congregation, with a shared leaderboard and running group stats
  • Leaderboards — Points calculated from win rate, guess efficiency, and daily streaks, with audit logging to prevent duplicate submissions
  • Archived games — Every past puzzle is accessible via a date URL parameter

Building the Dataset

The dataset of Bible verse references didn’t build itself. I wrote a separate Python scraper to crawl Bible.com and pull valid verse references across every book, chapter, and verse — then filter them down to a curated set that made for fair and interesting daily puzzles. It worked great, right up until it worked too well. I hit the site so many times in quick succession that my IP address got blocked — saying “I’ve been blocked from Bible.com at Freed-Hardeman University is a really fun get-to-know-you fact, though!”

Architecture

The game is built with React, TypeScript, and Tailwind CSS. Game state and user preferences are stored in encrypted local storage for guests, and synced to Firebase Firestore for authenticated users. Stats updates use Firestore transactions with request ID tracking to ensure scores are never double-counted — a problem I ran into early on when fast network conditions could trigger duplicate writes.

Two separate Firebase projects handle different concerns: one for user data, auth, groups, and leaderboards, and another for aggregated daily statistics. This keeps the daily snapshot data isolated from user-sensitive records.

Play Scripturle at scripturle.com