

- Project
- Our own product
- Our role
- iOS development · Release
- Duration
- 2 months
01 / Behind the product
A real need. A considered solution.
Challenge
In news-summary apps the summary hides the source’s angle; the user does not know what they are not reading. Then there is the cost: producing a constant stream is both expensive and noisy.
Approach
Publishing runs on a Cloudflare Worker with D1 as "editions": a cron drives a two-stage pipeline where a search model scans sources and a writer model composes the edition, and a monthly job purges old ones. Every story lists its sources and, for known publications, a hand-curated leaning label (left, centre, right, state media); an unknown source stays "unrated" because a label is never invented. Two mascot columnists write under pen names. On the SwiftUI side the archive is full-text searchable, there is ask-the-article and read-aloud, and premium limits are tracked in D1 per user and per IP.
Result
Version 2.0 on the App Store, with Turkish and English editions. A home-screen widget, custom topics and saving are in the product.
02 / Inside the product
The experience, on screen.
Open a screen to explore the details.04 images
03 / Scope & details
The details make the experience.
- 01
Source transparency
- 02
Daily feed format
- 03
Native performance with SwiftUI
Technology
INSIDE THE PRODUCT
The engineering behind the interface.
Systems we built and concrete problems we addressed in this project.
Editions and a two-stage pipeline
The Worker’s cron runs the search stage (runSearchStage) and then the writer stage (runWriterStage) and attaches stories to an edition in D1; a monthly 0 4 1 * * cron purges editions past the retention window. Every run is logged with its start and finish.
Leaning labels are hand-curated, never invented
The SourceBias enum carries left, centre-left, centre, centre-right, right, state media and unrated; sources are AllSides, Ad Fontes and our own observations of Turkish media. An unknown publication stays .unrated.
Archive and usage limits in D1
The migration series adds full-text search, bylines, custom-topic usage, IP-based usage, key points and ask-the-article quotas; free limits are tracked per user and per IP.
Your idea could be next.
What could we build for you?
From a first release to a growing platform. Let’s plan the design, development and launch together.
From Türkiye to the US, UK, Australia and everywhere in between.