# in progress


# todo

- login
- login route

- impossible mode (1904 greek bible) three guesses only.

  - share both classic and impossible mode with both buttons

- improve imposter mode

- Show new/old testament after 3 guesses and section after 7 guesses
- Add sections for "first letter", "Canonical/deutero", etc...

- How do you balance rewarding knowledge vs incentivising learning?


- instructions

  - classic mode: identify what book the verse is from (e.g. Genesis, John, Revelations...) in as few guesses as possible.
  - imposter mode: out of four options, identify the verse that is not in the Bible
  - OR out of four options, identify the verse that is not in the same book as the other three options
  - OR, out of four options, drag them into the
  - impossible mode: identify which book of the bible the verse is from in less than three guesses.

- The gambling aspect of hoping you get a verse you already know is VERY strong

- add login + saved stats + streak etc.

- add deuterocanonical books

<!-- Login features -->

- Practice mode: Unlimited verses
- Create public or private leaderboards
- Passport book with awards:

  - Guess each Gospel first try
  - "Guessed all Gospels", "Perfect week", "Old Testament expert"
  - Theologian: Guess each book first try
  - If chapter is 6 and verse 7, earn award "Six seven"

- difficult mode (guess old or new testament, first try _only_) (???)

# About this game

As a young camper at the Metropolis of Boston Camp, I remember His Eminence Metropolitan Methodios would visit every Sunday. He was often surrounded by important people for his entire time there, so I never gathered the courage to introduce myself, but his homilies during Liturgy always stood out to me. In some ways, they differed year after year, but a majority of his message remained strikingly familiar. "Take ten minutes to read the Bible every day," he asked. "Just ten minutes. Go somewhere quiet, turn off the TV (then iPod, then cell phone), and read in peace and quiet."

Despite His Eminence's otherwise cool and intimidating aura, it never came across as a demand or an order. Yet it wasn't exactly polite either. It sounded closer to pleading... like to his core, he knew how important it was, what he was asking — how important it would be for our lives.

I never really followed through with what he asked. The Metropolis of Boston Camp was my true home throughout my childhood, teenage years, and young adulthood. Leaving it every summer, and bringing the lessons, experiences, and faith I'd gained over the weeks and years home to the monotony of home remains the challenge of my life so far.

I created Bibdle from a combination of two things. The first is my lifelong desire to create experiences that people love; to create experiences that bring people together. The second is my guilt for never reading the Bible at home like Metropolitan Methodios asked. I hope it helps you with this challenge as much as it's helped me!

---

# done

## march 25th

- Added Sign In with Google (OAuth)
- Added Google sign-in button to win screen and footer provider label
- Added rainbow glow effect

## march 24th

- Added achievements system, hint overlay, and progress page polish

## march 23rd

- Extracted CollapsibleTable component and fixed show more behavior

## march 22nd

- Added `/api/send-daily-verse` endpoint for daily Discord verse posting
- Improved guesses collapse timing, win screen CTA, and progress page polish
- Fixed Discord message format (italic date + bold verse)

## march 21st

- Added progress page with activity calendar, book grid, and insights

## march 19th

- Added Discord link and shrunk guesses grid for more than three guesses
- Added MAU section with projection to global stats
- Added survival curve metrics and table minimizing to global stats

## march 15th–16th

- Fixed instructions, added color border based on closeness between guess and target
- Added return rate and retention metrics to global stats
- Added WAU history table, fixed retention metric, added new logos and favicon

## march 14th

- Added /global public dashboard with 8 stat cards: completions today, all-time, unique players, players this week, active streaks, avg guesses today, registered users, avg completions per player
- Added traffic & growth analytics section: completions velocity + acceleration, user velocity + acceleration, new players (7d), churned players (7d), net growth (7d)
- Added active streak distribution chart (bar chart by streak length)
- Added 14-day completions trend table with inline bar chart
- Fixed BIBDLE header color in dark mode

## march 12th

- Added about page with social buttons and XML sitemap for SEO
- Fixed incorrect header background color on Desktop
- Added color theme toggle button (commented out for now)

## feb 26th

- Added dark mode
- Removed URL from share text (Wordle said it was ratchet)
- added option for sharing with verse snippet (hidden on share text first copy)

## february 22nd

- New share button design; speech bubbles
- Share rate jumped from ~17% to ~27% (n=200) after share button redesign
- Updated streak-percentile to count all players from last 30 days and all streaks (in case there are streaks >30 days)
- Added copy verse button
- Refactored book search input to show progressively more info based on guess count

## february 21st

- Added streak counter and streak percentage
- Added Rybbit analytics alongside Umami

## february 18th-19th

- Refactored game logic into utility modules
- Small fixes to Sign In with Apple migrations

## february 13th

- Added Sign In with Apple
- Added animations on win and guess
- Various Apple auth bug fixes

## february 11th-12th

- Client-side timezone handling for daily verses (was using server time)
- Staggered page load animations
- Reordered guesses table with emphasis
- Redesigned stats page with dark theme and enhanced statistics

## february 5th-10th

- Added login modal and auth infrastructure
- Switched to `bun:sqlite`
- Support authenticated users in stats and page loading
- Anonymous stats migration on sign-in
- Test infrastructure and sign-in migration tests

## february 2nd

- created rss feed
- fixed "first letter" clue edge cases / easter egg
- updated ranking formula

## january 28th

- add percentile stats, update chapter guess UI
- fixed middle statline (removed meaningless %)
- added instructions
- added email button
- added test buttons for 3.0 UI/UX
- package upgrades

## january 26th

- Make the UI more "wordle-like"
- added deployment script (./deploy.sh)
- added bluesky button
- added "first letter" column
- added imposter mode, v0.1 (mom likes it) but needs work

## january 8th

- posted on Hacker News and LinkedIn, got 960 visitors in one day

## january 5th

- created Imposter Mode with four options, identify the verse that is not in the same book as the other three. Needs more testing...
- Verses ending in semicolons, commas, etc. will be replaced with "..."

## january 4th

- For bonus points: guess the verse/psalm number
- major UI styling revamp

-- 2026 --

## december 30th

- merged the embeddings/similarity route into production

## december 27th

- add event log to submitting first-guess or correct-guess to umami (to make bounce rate more accurate)

## december 26th

- created embeddings for every bible verse (verse similarity finder)
- failed at having AI write a USFX format parser
- found a npm library for parsing USFX

## december 23rd

- switched to local copy of NKJV
- improved stats layout
- general UI improvements
- added greek bible for future challenges

## december 22nd

- hovering or tapping BIBDLE fades in and out to BIBLE DAILY

## december 21st

- better guess emoji consistency (removed ambiguous red squares)
- HH:MM until next verse
- triodion font for verse (PT Serif)
- custom verses for Christmas Eve and Christmas

## before december 19th

- improve design (uniform column widths on desktop)
- moved to bibdle.com
- v2: avg guesses per bible verse updating daily (on completion: avg. guesses: 6)
- v2: you're the XXXth person to guess correctly today
- metadata
- favicon
- site title
- deploy

---

# Goals for Bibdle

My inspiration for this game is very much centered in the Wordle story, where product design legend Josh Wardle created a fun word puzzle for him and his girlfriend. It was so fun that it spread around his immediate family like wildfire, getting to a point of around 90 consistent daily players for a long time before exploding. And of similar stories like Balatro, Bear Blog, and more.

The initial response to Bibdle has been strong. People like it AND quite a few actually come back to continue doing it.

But the question that has been getting to me: Is it fun enough? Is it novel enough? Is it challenging enough? Is it easy enough?

Is it enough?

How can I make it even better?

Reading: Designing Games by Tynan Sylvester
