Hi, I'm Ahmed Hashim

I build AI tools and apps that ship.

My flagship is My Stream — an AI publishing platform that drafts articles in your editorial voice using Claude, GPT, Gemini, and four more providers. I also build digital Mushaf and Quran apps used on web and Android. All shipped, all maintained, all here.

3 shipped products
7 AI providers integrated
iOS · Android · Web platforms
10+ languages supported
AH

About

Ahmed Hashim

  • Building AI editorial pipelines used by independent publishers.
  • Long-running line of work on Islamic resources — Mushaf and Quran apps.
  • Multi-language by default; English isn't the only audience.
  • Working solo, shipping in public, available for consulting on AI publishing.

Software engineer. Builder. Solo shipper.

I'm a software engineer who likes the whole pipeline — from a half-formed idea to a shipped, maintained product. My current focus is applied AI for publishing workflows, but I also keep a long-running line of work in Islamic resources: a digital Mushaf and a Quran Android app that have been in users' hands for years.

Most of what I build is shipped solo. I'm comfortable owning the stack end-to-end: Angular and Ionic on the front, AWS and Firebase on the back, with whichever AI provider fits the job. I write occasionally about what I'm learning, and I'm open to consulting on AI-first editorial tooling.

Tech I reach for

  • Angular
  • Ionic
  • Capacitor
  • AWS Amplify
  • Firebase
  • Anthropic
  • OpenAI
  • Stripe
  • TypeScript

What I'm shipping

Projects

Three products I build and maintain — one flagship, and a long-running line of Islamic apps.

  • Flagship

    My Stream

    AI publishing platform

    Scrape sources, score with quality thresholds, and draft articles in your editorial voice. Multi-model (Claude, GPT, Gemini, Grok, DeepSeek, Mistral, Groq), workspaces, scheduling, BYOK.

    • 7 AI providers
    • BYOK keys
    • Editorial voice controls
    • Scheduled automation
  • Web

    Mushaf

    A clean digital Quran reader

    A focused, distraction-free Mushaf for the web at mushaf.geohashim.com. Built for fast page navigation, comfortable reading typography, and a layout that respects the printed Mushaf.

    • Distraction-free reading
    • Page-accurate layout
    • Mobile-first
    • Free, no ads
  • Android

    Online Quran

    A Quran reader for Android

    My long-running Quran app for Android, available on Google Play. Reciter audio, bookmarking, and offline reading — for everyday use.

    • Recitation audio
    • Bookmarks
    • Offline reading
    • Years on the Play Store

Architecture

Inside My Stream — the pipeline, end to end.

Every published article walks the same five stages. You configure each stage once per workspace; the schedule does the rest.

  1. Stage 1

    Sources

    RSS · topics · feeds

    You configure

    Feeds + topics

  2. Stage 2

    Scrape

    Lambda

  3. Stage 3

    Score

    Model picks one

    You pick

    Model · threshold

  4. Stage 4

    Draft

    Voice + length

    You define

    Voice · style

  5. Stage 5

    Publish

    Stream + share

    You ship

    Review + publish

Sources. You point My Stream at RSS feeds, topic strings, and (soon) custom HTML scrapers. Each workspace has its own list.

Scrape. A Lambda fans out, fetches each source, normalises the HTML, and queues candidate items.

Score. The picked model rates every item against your editorial rubric. The threshold is per-workspace; the model offsets auto-correct so cheaper models do not silently fail.

Draft. Survivors of the score gate are drafted in the voice you defined: voice, reading level, target word count, target keywords, citation rules, custom prompt additions.

Publish. You review the queue, edit if you want, then publish to your stream. Every post gets a permalink, an OG card, and a share-button row.

Hover any stage to see what it does. The dots flowing between stages are real units of work — sources, scored items, drafts.

Editorial voice

One topic. Six voices. Same source.

The drafter respects an editorial voice you define per workspace. Click a voice to see the same source rewritten — this is exactly the prompt shape My Stream uses.

Topic AI safety in 2026
Draft preview

AI safety in 2026

AI safety moved from back-office concern to front-page issue this year, with a wave of frontier-lab disclosures forcing every team that ships an LLM-backed product to revisit its deployment guardrails. Independent analysts say the shift is less about model capability and more about the pace at which safety teams are being asked to certify production releases.

voice: journalisticReading level: General · ~900 words

Same source. Same topic. The drafter swaps voice, reading level, and length per workspace.

Multi-model

Seven providers. One pipeline. Your choice per workspace.

Anthropic runs out of the box. The other six plug in via bring-your-own-key — costs land on your provider bill, the prompt stays the same.

  • Anthropic

    3 models

    Direct

    Best default — runs without keys.

    Opus 4.7 Sonnet 4.6 Haiku 4.5
    Cost
    Speed
    Quality
  • OpenAI

    4 models

    BYOK

    Reasoning-tier picks excel at analysis.

    GPT-5 GPT-5 mini o3 o4-mini
    Cost
    Speed
    Quality
  • Google

    3 models

    BYOK

    Cheapest tier with a usable context window.

    Gemini 2.5 Pro 2.5 Flash 2.0 Flash
    Cost
    Speed
    Quality
  • xAI

    2 models

    BYOK

    Strong on current-events grounding.

    Grok 4 Grok 4 fast
    Cost
    Speed
    Quality
  • DeepSeek

    2 models

    BYOK

    Reasoning at a fraction of the cost.

    DeepSeek-R1 DeepSeek V3
    Cost
    Speed
    Quality
  • Mistral

    2 models

    BYOK

    EU-hosted option for compliance.

    Mistral Large Codestral
    Cost
    Speed
    Quality
  • Groq

    1 model

    BYOK

    Wildest token throughput on the market.

    Llama 3.1 70B (Groq)
    Cost
    Speed
    Quality

BYOK = Bring Your Own Key. Drop a provider key into a workspace and the same prompt routes through that provider — costs land on your bill, not ours.

Live demo · runs in your browser

Try a tiny version of the pipeline.

Pick a model, set a quality threshold, type a topic, and hit Run. Watch the same four-stage flow My Stream uses for real — scraped, scored, drafted, published — execute live.

72 eff: 72
  1. 0

    Scrape

    pending

  2. 0

    Score

    pending

  3. 0

    Draft

    pending

  4. 0

    Publish

    pending

Hit Run pipeline to see a draft preview here.

This is an animated mock — no real LLM call leaves your browser. The numbers, model offsets, and stage flow mirror what My Stream actually does.

My Stream — what the flagship actually does.

An end-to-end editorial pipeline — scrape, analyze, score, draft, publish — wired to whichever frontier model fits your budget.

  • Seven providers, one pipeline

    Pick from Anthropic, OpenAI, Google, xAI, DeepSeek, Mistral, or Groq per workspace. Anthropic runs out-of-the-box; the rest plug in via BYOK.

  • Bring your own keys

    Drop your provider keys into the BYOK panel. Costs land on your bill, not ours, and the same prompt routes through whichever model you pick.

  • Editorial voice you define

    Voice, reading level, target word count, target keywords, citation rules, custom prompt additions — set per workspace and the drafter respects them.

  • Quality-scored, threshold-gated

    Every draft is scored against your minimum quality threshold. Cheaper models score lower on the same rubric, so the threshold auto-adjusts per model — no manual retuning.

  • Scheduled automation

    Run the pipeline daily, on weekdays, or never. The automation Lambda streams progress over GraphQL subscriptions so you watch a job execute live.

  • Workspaces & teams

    Each org has its own model, voice, source feeds, keywords, and schedule. Switch workspaces without losing context.

“I get a daily queue of properly-sourced drafts in our voice. The bit that used to take a writer four hours now takes me twenty minutes of editing.”
AR A. Reader · Early access user

Frequently asked

Which AI models does My Stream support?
Anthropic Claude (Opus, Sonnet, Haiku) runs out of the box. OpenAI (GPT-5, mini, reasoning), Google Gemini, xAI Grok, DeepSeek, Mistral, and Groq all work via bring-your-own-key.
Do my AI keys ever leave my account?
Non-Anthropic models route through your own provider key — usage shows up on your bill with that provider, not on ours. Keys are stored encrypted per workspace.
Will switching to a cheaper model wreck my quality threshold?
No. Each model has a per-model qualityScoreOffset baked into the catalog, so the effective threshold auto-adjusts. Switching from Sonnet to Haiku does not silently reject every draft.
What is Mushaf?
A focused, ad-free digital Quran reader at mushaf.geohashim.com. Optimised for clean reading typography and a layout that mirrors the printed Mushaf page-for-page.
Where can I get the Online Quran app?
On Google Play — search for "Online Quran" or use the link in the Projects section. It runs offline once installed.
Can I write or read in a language other than English?
Yes. My Stream's drafter is voice-driven and the UI ships with @ngx-translate. The Quran apps are Arabic-first by definition.
Who builds geohashim?
Ahmed Hashim — the brand, the products, every commit. Working solo, shipping in public.

Three products. One person. Pick the one that helps you today.

My Stream for AI publishing. Mushaf for the web. Online Quran for Android. All linked above.

Open My Stream