Inspiration

Over the past few months I've adopted the practice of fasting once per week, choosing to spend the day reflecting on what has been bothering me, challenging me or sticking out to me over the past week. I tried online devotionals to give me something structured to focus on, but they often felt too generic for me. I started asking ChatGPT to create personal reflection plans with relevant Scripture and questions, but every week I found myself repeating the same instructions and reshaping the response into the same format. So I built Glean. Glean is an app that allows people to write down what they are actually carrying with them through the week (looming decisions, fears, frustrations, hopes, or questions already on their heart) and turns that input into a structured plan for Scripture reading, reflection, and prayer.

The idea came to me from a simple observation during my own fasting experience: I often wanted a personal plan with relevant Scripture and reflection questions to help me dig into the things going on inside my heart, but the ready-made devotionals already available online don't seem quite close enough to what I'm really trying to get out of that time. Glean is designed to not feel like a chatbot but more like a calm space for observing, reflecting and growing.

What it does

Glean creates a personalized one-to-seven-day Christian devotional plan from a free-form reflection. The user chooses the cadence, tone, focus, number of Scripture passages, and number of reflection questions. Glean then produces a relevant devotional plan that can be read in a focused step-by-step mode or as a continuous reading experience.

Users can take notes alongside each question, revisit progress, regenerate specific parts of a devotional, and receive insights, completion summaries and final takeaways. The product supports three AI paths: Glean AI (using the Gloo AI harness with curated model choices including GPT-5.6 Sol), direct Gemini bring-your-own-key usage, and copy/import from another model for those who want to go completely free.

The iOS app is local-first so users never have to add an account to get it working. By signing up, users can take advantage of encrypted cross-device sync and optional premium AI model credits. The companion web app is already live at thegleanpractice.com, while the native iOS app is still pending App Store review.

How I built it

Glean is really two systems split across two repos.

The native app is built with SwiftUI. The web app and backend service uses express. The backend of the web app handles authentication for both frontends as well as all primary server responsibilities.

I used Codex with GPT-5.6 Sol as a hands-on engineering partner across both repos. Working with GPT-5.6 Sol was really a game changer for me as it massively accelerated implementation and immensely helped me do live QA of the SwiftUI app running in a simulator, writing all the express routes, client/server contracts, cryptography handling (all devotionals are encrypted for max privacy), and writing tests. One of it's biggest contributions was helping me maintain context across the whole system. Making a change to a Swift payload could be planned an executed through the API, with updated postgres migrations, testing the corresponding behavior in the web app experience, and updating tests instead of being treated as an isolated snippet. By planning out our entire set of implementation changes I felt like I was able to move at a speed that is still surprising to me.

Additionally, GPT5.6 Sol was really my sounding board and idea man. I bounced marketing ideas, copy changes, and presentation styles in codex for several days. Fine tuning the copy is a task that can sometimes be hit or miss with AI models, but GPT-5.6 Sol really helped me maintain the kind of voice that I wanted throughout the Swift app and website. My app store listing copy and nearly all of the design of the iOS app came straight from brainstorming sessions with Sol.

Challenges I faced

One of the bigger challenges for this app was making sure to have strict privacy enforcement and allowing access without accounts. By building a local-first storage model there's a lot that can go wrong with syncing between devices when you introduce server stored data. GPT-5.6 Sol helped me continuously expand my perspective on the solution we needed before we got to writing code, which massively benefited the output we ended up with.

I'd say as well that I had to keep a large technical surface coherent as a consumer product. The native app, live web experience, account system, billing, sync, accessibility, and visual design all needed to feel like parts of one ecosystem rather than a collection of demos. This is not something I've seen any other AI model do well, but GPT5.6 Sol really grasped what I meant and helped me maintain a coherent brand identity through all the customer facing surfaces.

What I learned

I think I'd say that building Glean has changed how I think about making software at this stage of AI. Technical implementation is really no longer where I had to spend most of my energy. Sol could move quickly through code, tests, and refactors, which gave me more room to stay focused on the person who I think will end up benefiting from the app. I spent more time asking whether the experience felt calm, whether a feature solved the original problem, how much trust I was asking from the user, and where added complexity was actually worthwhile. That shift feels genuinely new.

At the same time, working with AI didn’t make technical knowledge less important. If anything, it made technical judgment more important. Sol and I made decisions about local-first storage, encrypted sync, account recovery, billing, provider failures, and client-server contracts that required me to understand the consequences and choose the right tradeoffs. My biggest takeaway is that building with AI isn’t about becoming less technical. It creates room to bring engineering, product thinking, design taste, and empathy for the user all into the same process more cohesively. Allowing me to stay focused on the problem even while building at a speed that previously wouldn’t have been possible.

Built With

Share this project:

Updates