Back to projects

Tell Me More

A bilingual Arabic and English app that turns any topic into a designed AI report, with a cache that answers repeat questions without a new model call.

Year
2026
Type
Web app
Status
Live
The problem. Learning a new topic usually means a wall of search results or a chat reply that disappears into the scroll. I wanted something in between: type a topic in Arabic or English and get back a designed, readable report you can keep and share. Tell Me More does that for signed-in users, and the same codebase is also the backend API for Qarar, my native iPhone app.

The hard part. Every report is a paid model call, so cost had to be designed in from the start. Before any call, a keyword-coverage lookup checks the cache: the query needs at least three tokens, a candidate must share at least three keywords and cover 60 percent of them, and a hit costs none of the user's daily budget. The other half was trusting the output. Generation is a forced tool call validated with Zod, with one retry, so a malformed report never reaches the page.

The approach. It is a Turborepo with a Next.js 15 app and five shared packages, Prisma on Neon Postgres, and next-intl for Arabic RTL and English. Upstash Redis enforces daily limits per tier, with tier limits (3, 50, unlimited) defined ahead of billing. A separate mobile API inside the same app handles Sign in with Apple, streamed generation, photo uploads and price memory for the iPhone client. Billing through Tap Payments, with a webhook and a renewal sweep, is built behind a feature flag.

The outcome. The app is live with open sign-up, backed by more than 100 test files and Playwright specs that run in Chromium and Firefox in CI. The most useful lesson came from a mistake. In September 2026 a Prisma command given a shadow-database URL wiped every production table. I restored the data from Neon's point-in-time history, then rewrote the migration procedure so the production URL is never handed to a command that treats its database as disposable.

My Role

Solo Full-Stack Developer — designed and built the whole product: the generation pipeline and its cache, the bilingual Next.js front end, the mobile API that Qarar depends on, the rate limits, the billing groundwork and the test suite.
  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • Prisma 6
  • Neon Postgres
  • next-intl
  • Anthropic SDK
  • Zod
  • Upstash Redis
  • Resend
  • Sentry
  • Vitest
  • Playwright
  • Turborepo
Tell Me More — screenshot 1 of 5Tell Me More — screenshot 2 of 5Tell Me More — screenshot 3 of 5Tell Me More — screenshot 4 of 5Tell Me More — screenshot 5 of 5