العودة إلى المشاريع

Tell Me More

تطبيق بالعربية والإنجليزية يحوّل أي موضوع إلى تقرير منسّق يكتبه الذكاء الاصطناعي، مع ذاكرة مؤقتة تجيب عن الأسئلة المكررة دون استدعاء جديد للنموذج.

السنة
2026
النوع
تطبيق ويب
الحالة
متاح

دراسة الحالة الكاملة متوفرة بالإنجليزية.

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.

دوري

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 — لقطة شاشة 1 من 5Tell Me More — لقطة شاشة 2 من 5Tell Me More — لقطة شاشة 3 من 5Tell Me More — لقطة شاشة 4 من 5Tell Me More — لقطة شاشة 5 من 5