Messenger Witnesses Dev Log

Welcome. This log exists to keep our community informed about the prayerful, careful work behind the MW Online Bible Reader. Each entry is written in my own voice, allowing you to follow the progress and share in giving thanks to Jehovah.

Last updated: January 2, 2026

External Tools guardrails, right-dock refinements, and header behavior

January 8, 2026 · Highlights from 8ce2b3f, 414441f, 379d704, 7639d60, 1584dc9, 6407e5d, c5699b8, 1b988fc, bd45f9e, e434733, 2f84f13, f400e96, 6515832, ae9d0ed, 02eb696, c9466ca, ace9751, f047f8f, 38fd8dd, b1d5df4, aa9e894, 017c62b, 30abaa7, 5866d02, 674c224, 4fecd54, a618031, 3d515a6, 0c03417, 7eea494, 221b2e6

This entry covers the concentrated work since January 5. The focus has been tightening the External Tools experience so it behaves predictably across dock modes, while also clarifying header behavior and guardrails for desktop and mobile.

These commits are grouped into a single 3-day window (Jan 7-Jan 8, AZ time) for readability, since the changes are closely related and were refined in quick succession.

Jan 7-Jan 8: Docking polish, hover cues, and header reliability

“Let the favor of Jehovah our God be upon us, and establish the work of our hands.” (Psalm 90:17)

I am thankful that these adjustments keep the reader steady and the tools predictable. The goal is to remove surprises so attention can stay on Jehovah's word, whether a person is reading on a phone or at a desk.

UI scale stability, right-dock constraints, and tooltip cleanup

January 6, 2026 · Highlights from b2dacdf, 94697d0, 63d11da, 3e34ac2, 9f8cce4, fe4dd5d, a3f4727, 94075eb, b64afb1, 5f354d0, 3858940, f7a061e, b28490e, d750530, bdcd562, 11bc720, 784d8b6

This day was about smoothing the experience around UI scale and dock behavior so the External Tools panel stays predictable on every layout. I also tightened wording and guidance so future updates stay coordinated and consistent.

Jan 6: UI scale and dock reliability

“Commit your works to Jehovah, and your plans will be firmly established.” (Proverbs 16:3)

I am grateful for Jehovah's guidance as these details are refined. The goal is a reader that stays steady even as the tools around it grow.

External Tools matures: resizable docks, mobile stability, and clearer guardrails

January 5, 2026 · Highlights from 799f931, cb3275f, 441d175, d41980e, 2977ee1, 23cbc4a, c440592, f8af728, e843d4c, 9c3043c, f4ec676, 295ec1d, f8c1739, 1d8f50e, 2d33013, c460a78, 6825ffd, eab91c7, 32312ab, eaa68f2, 9f8cd0c, b58101d, 4cd27b6, 6c72a8f, b1e07a0, 004eb0c, cd40047, 124ea64, aa885b2, fc44833, 939b20c, 2add998, 105eabf, 557b2e2, 5f14ab3, f57af23, b7746d0, 730815f, 66eeb5a, 5cd790a, 9b17920, 36a7a27, d9ae734, 77d1b6a, df456e6, c293384, 6f8e47d, 76adde1, 5048f30, 2365537, 682082c, cdcbc47, 7c1545c, 0728bde, 280f695, 6564dda, 0b5641f, 75fa7f6, a03d693, 1d46d14, 6e14891, 9e3fb64, bca69a6, 6019103, e390c81, c9348a6, 4f1bb9c, 6b2a408

Since the last entry (January 2), the main effort has been turning the External Tools mini browser into something that feels stable and predictable across desktop and mobile: dock it side-by-side, dock it along the bottom, or pop it out into a floating panel, then resize and move it without the reader UI fighting back.

In addition, I tightened the “contract” around how External Tools behaves (what opens in-app vs. what may open the system browser) and added clearer agent guidance so future work stays consistent and safe.

The commits below are grouped into a single 3-day window (Jan 3-Jan 5, AZ time) to keep the story readable, since many of these changes were iterative polishing passes.

Jan 3-Jan 5: Docking, resizing, and mobile usability

“Unless Jehovah builds the house, it is in vain that its builders work hard on it.” (Psalm 127:1a)

I am grateful for Jehovah's blessing as this tool becomes more usable in real-life reading. The goal is not complexity for its own sake, but a steady, well-arranged reader that removes friction so attention can stay on the Scriptures.

Cloudflare-ready structure, cross reference hosting, and theme polish

January 2, 2026 · Highlights from 57064b4, 17b7349, 8330c52, 8c195dc, f73be6f, ae1b9cd, 5c04854, e3f5b68

Since the last entry (December 31), the work has been about making the reader easier to deploy and easier to trust: reorganizing the repo for Cloudflare hosting, moving cross references into a clean, versioned path, and tightening up theming so dark mode and high-contrast stay consistent across drawers, audio controls, and search tools.

The commits below are grouped into a single 3-day window (Dec 31-Jan 2, AZ time) because the work happened in a focused sprint.

Dec 31-Jan 2: Hosting paths, data stability, and UI consistency

“Our being adequately qualified comes from God.” (2 Corinthians 3:5)

I am thankful for Jehovah’s support in this work. When the structure is steady and the interface remains clear across devices and themes, it becomes easier for a reader to focus on what matters most: Jehovah’s Word itself.

Audio migration, external tools, and steady foundations

December 31, 2025 · Highlights from 8a75568, 213434b, 8ea63bb, a9eea11, be2d551, c0fe42d, 60d5b63

Since the last entry (December 18), the work has focused on strengthening foundations: normalizing book names, continuing translation scaffolding, and (especially) overhauling how audio playback works so it remains smooth and practical as the reader grows. These commits also include UX polish for the External Study Tools viewer and a new sticky audio bar that stays usable without getting in the way.

As of today (AZ time), the most recent commit in this run is from December 28. The sections below group the work into 3-day chunks to make it easier to follow.

Dec 18–20: Translation scaffolding and cleanup

Dec 21–23: Audio groundwork and consistent book naming

Dec 24–26: Per-chapter audio + timing maps, and External Study Tools UX

Dec 27–29: Sticky audio bar and polishing passes

“‘Not by a military force, nor by power, but by my spirit,’ says Jehovah of armies.” (Zechariah 4:6)

I am grateful for Jehovah’s help and for everyone who continues praying for this work. The most meaningful progress is not just new features, but steady, reliable foundations that keep the reader usable and respectful of the Scriptures.

Introducing the Bible Translation Workbench

December 18, 2025

I want to share an update on another project I've been working on alongside the Bible reader itself. This one is not a public-facing reading tool, but a private translation workbench designed to help with careful, verse-by-verse translation work while keeping human judgment, faithfulness, and accountability firmly in control.

At a high level, this app runs locally in a browser and serves as a dedicated environment for drafting, reviewing, and organizing Bible translation work. It is meant to assist translators-not replace them-and to keep every decision transparent, reviewable, and grounded in careful thought.

What the workbench is

The app is a local Bible translation workbench. It loads a base text verse-by-verse, allows a translator to request an AI-generated draft translation, and then provides structured space to review, edit, annotate, and save a final human-approved wording.

It also includes a batch translation mode for larger sections (chapters or books), which can generate a first-pass draft in the background and export it as a clean, ordered plain-text file for further review.

How a member can use it right now

Loading the project and base text

A member starts the local Node server and opens the workbench in a browser. The app loads a Bible base text file and displays the current verse, including the book, chapter, verse number, and base wording. Navigation controls at the top allow movement through the text one verse at a time.

Verse-by-verse translation

Using the selectors at the top, the translator navigates to a specific verse. Clicking Generate sends that verse to an OpenAI model using a carefully written system prompt that keeps the model focused, restrained, and in-bounds.

The AI's draft appears in the AI Translation panel. From there, the translator remains fully in control:

Notes and reasoning

Each verse includes space for reasoning and notes. The AI can provide structured explanations-such as grammatical choices, ambiguities, or alternate renderings-while a separate user notes drawer allows the translator to record their own comments.

These notes are intended for things like exegetical decisions, unresolved questions, or reminders for later consultation. Nothing is hidden, and nothing is automatic.

Quality and grammar checking

A Grammar Check button allows the AI to review the translator's draft for clarity and flow in the target language. Suggestions are offered, not applied automatically. The translator decides what-if anything-to accept.

This keeps responsibility where it belongs, while still benefiting from a second set of eyes for wording and readability.

Saving and continuing work

All saved translations and notes are written to project files on disk. A member can close the app at any time and later reopen the same project, continuing exactly where they left off. Nothing is locked into a remote service or opaque database.

Batch translation for longer sections

For larger scopes, the workbench includes a Batch Translate mode powered by the OpenAI Batch API. This is intended for first-pass drafting, not final publication.

From the Batch Translate modal, a member can:

While a batch runs, the UI provides clear visibility into what is happening:

Reliability is built in. Each chunk retries automatically for transient errors. If a chunk still fails, it is marked needs_manual, with clear options to retry or cancel and rerun just that portion. Stuck chunks are flagged so they do not silently block progress.

The Download Results button only becomes available once all chunks have successfully flushed their outputs in order. The resulting file is a clean plain-text export with one verse per line, ready for import into other tools or for continued review in this same app.

What this means for members right now

In its current state, a typical member can use this workbench as a private drafting environment to:

The safeguards around batching, ordering, and retries are there so technical issues do not quietly corrupt the text. Clear logs and visible state make it possible to diagnose problems when networks or APIs misbehave.

Current limitations

“Do your utmost to present yourself approved to God, a workman with nothing to be ashamed of, handling the word of the truth aright.” (2 Timothy 2:15)

This workbench is meant to quietly support careful translation work behind the scenes, while the public Bible reader continues to mature on its own path. Thank you for your patience and prayers as both efforts move forward together.

Share fallback hardening, annotations groundwork, and core cleanup

December 16-17, 2025 · Highlights from a670c2e, 87c051d, 0e80b8b, 72ed95c, 2cb4329, efef96a, 965db6e, 3619329, d348409, 4946b33, 1eb324b, 70ad71d, 9bfde26, bd8c3c7, 1bf905f

These two days were about strengthening reliability: restoring small UX details in the reader, cleaning up the project structure, and laying groundwork for annotations while hardening the Share fallback so it behaves consistently on desktop and iOS.

Dec 16-17: Reliability, structure, and sharing

“Trust in Jehovah with all your heart, and do not rely on your own understanding.” (Proverbs 3:5)

I am grateful for Jehovah's guidance as these foundations are strengthened. Each small correction helps the reader remain steady and dependable for those who use it.

Shipping the selection toolbar and hardening the notes

December 15, 2025 · Commits 469b748, 3496107, be78ce5, 57467d5, 3d6c146, 9c09c5f

Since the last update, I finished the text selection toolbar, documented how to use it, and made sure backups and merge fixes kept the reader steady. You can now highlight a verse, copy it with a rich citation, and even share it directly, all while the underlying HTML and guides stay aligned.

Note: Currently works only on desktop. It does not work on Android at this time. iOS mobile may work but still requires testing. (12-15-2025)

Update (12-15-2025, 6:15 PM): The toolbar should now appear on mobile. However, the Share button is not functional on either desktop or mobile at this time. Copy and Copy + Citation should work normally.

Selection toolbar is live

Fresh guides and backups

Polishing passes

“May my word be pleasing to him.” (Psalm 104:34a)

Thank you for praying for this work. The new toolbar makes it easier to share Jehovah’s word accurately, and the backups and guides keep the path clear for the next steps.

Filters, documentation, and reliability since the last backup

December 14, 2025 · Commits c0465d5, 7093498, 3dabcd0, 4535efd, b97442b, 1a14b67, 4289a01

Since the backup anchored on eadfdd3 and 8de6621, I focused on making search refinement effortless, capturing the next set of UI ideas, and keeping the reader resilient. The result is a filter experience that stays fast, clearer documentation for future features, and a reader that remains steady even when sources shift.

Search filters

Documentation

Reliability

“By counsel plans succeed.” (Prov. 20:18a)

These steps keep the reader quick, resilient, and easy to navigate while the larger features take shape. Thank you for your patience and prayers as I continue this work.

Documenting the text selection toolbar and organizing future work

December 13, 2025 · Commit 7093498

Today I paused coding to capture design notes for an upcoming text selection toolbar and to tidy how I track future ideas. The goal is to keep research in one place and make it easier to turn plans into shippable changes without losing context.

What I wrote down

“By counsel plans succeed.” (Prov. 20:18a)

This documentation step keeps the roadmap clear and makes sure the selection experience, when built, respects the reader’s flow and keeps Jehovah’s Word central.

Filtering search results without re-running searches

December 13, 2025 · Commit 4289a01

Since the last update, I’ve focused on improving search performance so the Bible reader app remains quick and responsive while allowing users to refine the results they care about. The search function now stores the full result set in memory and simply generates a filtered view for the UI, instead of re-scanning the Bible text each time a dropdown option changes.

What's new

“But his delight is in the law of Jehovah, and on his law he meditates day and night.” (Psalm 1:2)

The UI styling keeps the filters tucked under the heading, wrapped for narrow screens, and consistent with the existing palette. This keeps users focused on the text while still having powerful ways to focus their search.

Keeping the Scripture download steady and backed up

December 13, 2025 · Commits eadfdd3, 8de6621

After documenting the filter work, I turned toward the underlying text: the reader now tries every available source before giving up, and the repository keeps a fresh copy of the Messenger Witnesses translation so the data never vanishes if Dropbox or CORS policies act up.

Multiple download paths and clearer loading feedback

A guarded copy of the translation

“How I love your Law. It is my meditation all day.” (Psalm 119:97)

These moves keep the Scriptures available even when hosting constraints shift, ensuring the reader still opens confidently and keeps Jehovah's word within reach.

Entity-Exact Search and a Clearer Way to Share Progress

December 10-12, 2025 · Highlights from 432c548, 7c462f6, 6b0d23f

In this period I focused on making search results more precise when a person selects a specific entity suggestion (Person, Place, or Thing). I also began establishing this dev log format so progress can be shared consistently with the congregation without turning updates into a burden.

December 10

December 11

December 12

“Encourage one another and build one another up.” (1 Thess. 5:11)

I appreciate the feedback and patience of those testing this reader. It helps me keep refining it so it remains clear, accurate, and respectful of the Scriptures.

Small Mobile Refinement for Search Controls

December 7-9, 2025 · Highlight from f22188d

This window included a smaller improvement: I refined the mobile search control so it stays compact and consistent with the other circular navigation buttons. At narrow widths, small layout decisions can make a big difference in clarity.

December 7

December 8

December 9

“Let your eyes look straight ahead.” (Prov. 4:25)

Cross References Mature, Sticky Header Refined, and Numbered Books Supported

December 4-6, 2025 · Highlights from 7498461, 046dcca, 0032b61, fdc2f13, 6982e33, 2144064

These three days contained a lot of careful refinement. I strengthened the cross-reference experience, tightened the sticky header behavior, and worked through several edge cases so the layout remains usable at narrow widths.

December 4

December 5

December 6

“All Scripture is inspired by God.” (2 Tim. 3:16)

This was a meaningful milestone. Cross references are most helpful when they are consistent and reliable, and I am grateful to see them serving the reader the way they should.

Readiness, Loading Safety, and Early Cross-Reference Work

December 1-3, 2025 · Highlights from 2b29d14, cb9fed9, b43d897, 117cff8, d4e0c9f

In this period I worked on reliability. I did not want the reader to feel half-ready while Scripture content is still loading, and I wanted navigation to behave consistently whether a person uses buttons, search, or swipe.

December 1

December 2

December 3

“The explanation of your words gives light.” (Ps. 119:130)

The purpose of these changes was to support careful reading: fewer surprises, fewer glitches, and a more steady flow.

Establishing the Foundation for Reading and Navigation

November 28-30, 2025 · Highlights from 78fe175, 79ff402, 0d59e50, e03366c, 3afba7b

Over these days I focused on building a stable foundation so the reader feels simple and dependable, especially on mobile. I wanted the basic flow to be clear: pick a book, choose a chapter, and read without unnecessary distractions.

November 28

November 29

November 30

“Let all things take place decently and by arrangement.” (1 Cor. 14:40)

My aim in these early adjustments was stability and clarity, so the reader can stay focused on Jehovah's word.

Why I'm Building the MW Online Bible Reader

November 27, 2025 · Commit e5e2de6

I'm building this Bible reader to make it easier for our members to read, search, and share the Scriptures in a way that is simple, reverent, and free of distraction. The aim is not to create an "app experience," but to remove obstacles so Jehovah's word is simply there-clear, readable, and accessible, whether on a phone or a desktop.

From the very first commit, the purpose was already defined: a single-page reader that loads Scripture from a plain text source, organizes it cleanly into Books → Chapters → Verses, and keeps navigation close at hand with a sticky header. I also laid the foundation for search using Fuse.js, so passages and terms can be found quickly without requiring an exact verse reference.

That work may sound technical, but the reasoning behind it is straightforward. I want someone to open the reader, select a book and chapter, and immediately be in the text-without layers or distractions. From there, I've continued refining the interface and adding tools such as cross references, reading history, themes, and accessibility options so more people can engage the Scriptures carefully and thoughtfully.

“Your word is a lamp to my feet, and a light for my path.” (Psalm 119:105)

If you're following along with these updates, thank you. Please keep this work in mind as I continue building, testing, and refining it, that it may honor Jehovah and be useful to those seeking understanding.