Overview
Our Daily Bread Ministries exists to make the life-transforming wisdom of the Bible understandable and accessible to everyone — helping people come to know Jesus, grow in faith, and share God's Word. That mission is global, which makes it a content-distribution problem at scale: many languages, many regions, many devices.
I worked on the tooling side — the systems the ministry's own teams use to publish.
The Bottleneck
Every layout or page change went through engineering. Regional content teams knew their audience and their language, but couldn't ship without a ticket. The queue, not the content, set the pace of publishing.
Drag-and-Drop Widget Builder
I contributed to the launch of a visual widget builder on GrapesJS, building reusable widget blocks and wiring the editor into the ministry's content APIs.
The goal was autonomy: content teams compose pages by dragging widgets, and the output is production content — not a mockup handed back to engineering. Engagement rose 40% after launch.
The RTL Problem
A meaningful share of the ministry's audience reads right to left. Authoring for those languages in a left-to-right editor means writing blind — you don't see what readers see until after publishing, and mistakes surface downstream.
I built a content widget on TinyMCE with two properties that mattered:
- Same-page live result — the authored output renders alongside the editor, no publish-and-check cycle.
- Full right-to-left mode — text direction, alignment, and layout mirror correctly, so RTL editors see accurate output while writing.
For those regions this was the difference between guessing and knowing.
API Integration
The builder is only self-serve if the data behind it is. I integrated the supporting APIs so widgets pull and persist real content directly, keeping the editing environment user-friendly without a manual step behind it.
Android Testing
The audience reaches this content on a wide spread of Android devices, much of it lower-end hardware. I ran testing and debugging passes across that range, catching rendering and interaction defects before they reached users and tightening system performance along the way.
Stack
GrapesJS · TinyMCE · JavaScript · TypeScript · REST API · Android WebView
