Africa/Casablanca
ProjectsJuly 31, 2026

Automated Daily AI Report, Built for a Non-Technical Owner

image
The client runs an Amazon store and wanted a daily email summarizing what happened with her listings: sales trends, ad spend anomalies, sudden drops in visibility. She isn't technical, has no plans to add more automation later, and was explicit about one thing: she needed to be able to fix small things herself after I was gone, without calling me back in. That constraint shaped every decision. This wasn't a case for a general-purpose no-code platform or a heavyweight framework. It called for one custom-built tool, scoped tightly to exactly what she needed, with a settings screen simple enough that she owns it completely. Every day, on her schedule:
  • Pulls her numbers from a Google Sheet she already uses, read-only, via a service account she controls.
  • Hands them to an AI model (Claude or GPT, her choice) with a fixed system prompt that locks the output format and forbids invented explanations, plus a plain-English instructions box she can rewrite herself.
  • Renders and emails the report as a clean HTML summary to whatever recipient list she's configured.
  • Logs every run, scheduled or manual, sent or failed, so she can see history without asking me.
Delivery schedule: days of week, send time, and timezone, editable by the client
Daily report overview showing last send status and manual send buttons
This is the part I'd emphasize most: the technical shape of this project came directly from who'd be using it after delivery, not from what was fastest for me to build.
  • Every credential lives in her settings screen, not in my code. Google service account key, email provider key, AI API keys: she pastes them in, they're stored write-only, and each one has its own "Test connection" button so she can verify it works without reading a line of code.
  • The AI instructions field is deliberately plain English, sitting on top of a fixed system prompt she can't break: whatever she types, the output format and anti-hallucination guardrails hold.
  • Access is locked down at the edge, not in application code, so there's no login system for her to manage or misconfigure.
Settings page: delivery toggle, send time, and timezone in one place
Google Sheet connection: sheet ID, tab name, and service account status
AI model configuration: provider and model choice, with a one-click connection test
I handled this full stack, frontend to backend to hosting, on Cloudflare's $5/month Workers Paid plan:
  • A single Cloudflare Worker serves the static settings UI and the API from one deployment: no separate frontend host, no extra moving parts for a non-technical client to worry about.
  • Cloudflare D1 stores settings and run history; no database server to manage.
  • A Cron Trigger fires hourly, and the Worker checks her configured send day/time against it, so she can change delivery schedule from the UI without ever needing a redeploy.
  • Deliberately built for the $5 tier: the free plan's CPU and subrequest caps aren't safe for an unattended job chaining a sheet read, an AI call, and an email send, so I documented Workers Paid as a hard prerequisite up front rather than letting it fail silently in production.
Report instructions: a plain-English prompt box the client edits herself
Run history: every send, scheduled or manual, with status
A one-off automation platform would have given her a dashboard full of settings she'd never touch and a monthly bill for capabilities she didn't need. Since she wasn't going to extend this into a broader automation practice, the right answer was the opposite of "flexible": a single-purpose tool, scoped to exactly her workflow, cheap to run, and simple enough that ownership could fully transfer to her at handoff. The report has been running daily in production since delivery. The client's own words after the engagement:
"Great experience working with Youssef. He was responsive, clear, and professional throughout the project. He explained the technical setup well and delivered the automation as discussed. I would be happy to work with him again."

Related projects

AI Operations Agent for a Multi-Property Hotel Portfolio

AI Operations Agent for a Multi-Property Hotel Portfolio

Designed and shipped the first live agent of a multi-agent AI operations platform for a hotel management company: self-hosted orchestration, reverse Cloudflare tunnels, full CI/CD, on infrastructure I own end to end.
Kasb: A Desktop Earnings Tracker for a Fellow Freelancer

Kasb: A Desktop Earnings Tracker for a Fellow Freelancer

A local-first desktop app that turns a messy Upwork CSV export into real profit and loss: gross earnings, fees, connects ROI, and client breakdowns, with zero cloud and zero recurring cost.
The Legal Layer: AI Contract Review for a Legal Directory Platform

The Legal Layer: AI Contract Review for a Legal Directory Platform

Backend engineering on a members-only AI tool that explains a contract in plain English before you sign it, live at justisconnection.com/legal-layer.
Daily Property Listing Feed from a Major Online Marketplace

Daily Property Listing Feed from a Major Online Marketplace

An Apify actor that pulls new property listings from a large online marketplace every day, enriches each one with council-level data, and feeds a live Google Sheet with zero duplicate rows.
24/7 AI Bot Platform with SaaS Dashboard and Multi-Bot Workflows

24/7 AI Bot Platform with SaaS Dashboard and Multi-Bot Workflows

Designed and built a full-stack SaaS dashboard and backend in Python to manage a 24/7 AI bot platform. Integrated OpenAI with Google Sheets, WordPress, and custom rewriting tools.