Moses.
All articles

11 Mar 2026 · 5 min read

What I hand a client on Friday

Brief, Build, Handoff — the engagement as a folder: URLs, runbook, credentials map, and the brief marked done.

Clients do not hire a vibe. They hire a Friday.

The engagement at this studio is three words: Brief, Build, Handoff. I put them on the home page because they are the product as much as the apps. This is what each word means when the invoice is real, and what I actually put in the handoff folder when the week ends.

Brief: write the job so it can fail a test

A brief that cannot be failed is a mood board. I want a page that says:

  • The user and the job. “A job seeker who will not complete twenty applications this week” is a brief. “AI-powered synergy” is not.
  • Done. A URL, a workflow, a number. “ATS score visible on the tailored resume” is done. “Feels premium” is not.
  • Out of scope, with teeth. If auto-apply is not in this slice, it is named. Scope that is only implied will be demanded on Thursday.
  • Stack. Not a playground. The smallest set that ships the job. Next.js, a database, a worker if something is slow.
  • Constraints: budget of time, compliance, whose inbox we are allowed to touch.

I will delay a start date to finish this page. I have never regretted that. I have regretted every project that started on a call and a Figma.

The brief is a shared document, not a performance. The client can mark it wrong. That is the point. We are trying to disagree on paper before we disagree in production.

Build: a URL by the end of the week

I do not report in percentages. I report in URLs.

Week one should produce something a stakeholder can tap on a phone. For Agatha that was an upload and a parsed profile, not a landing page about the vision. For SupportIQ that was a chat pane on a crawled fixture, not a sales site for the chatbot. For Velo that was a product grid with real fields, not a theme.

Cadence I actually run:

  • A live preview, always. Staging is not a luxury.
  • A written delta: what landed, what moved, what is blocked. Short. No burndown theatre.
  • Decisions in the repo or the brief, not in a chat that will be lost.

If a week has no visible change, I say so. Silence is how projects become “still polishing.”

I work in slices that match the loop. Career platform: parse, then match, then tailor, then apply. RAG: crawl, then retrieve, then generate, then cite. Storefront: catalogue, then product, then cart. Vertical slices beat layers. A perfect API with no UI is not a Friday artefact.

What “quality” means in week three

I am not precious about pixels in week one. I am precious about:

  • The happy path, on a phone.
  • Empty and error states that tell the truth.
  • Data that is real enough to make a bad schema obvious.
  • No credentials in the client bundle.

Design tightens as the loop stabilizes. A membership site like Gymzest has to sell a package on a small screen. That is a week-two problem, not a week-six surprise.

I will push back on a feature that is really a second product. “Can the career agent also be the ATS for the employer?” is a new brief. I would rather say no than quietly grow a second app inside the first.

Handoff: ownership, not a zip file

Handoff is the part agencies skip because it is not photogenic. It is the part I sell.

The Friday folder, every time:

  1. Live URL and staging URL. With the exact account that owns the domain DNS.
  2. Repo access. Not a gist. History, issues, and the README that starts with “how to run.”
  3. Runbook. How to deploy, how to run the workers, how to re-crawl, how to retry a failed job. Commands, not vibes.
  4. Credentials map. Every secret, where it lives, who owns rotation. Never a screenshot of a .env. A table: name, system, holder, last rotated.
  5. Schema and fixtures. The profile JSON, the product type, the chunk table. Example rows.
  6. Eval or QA list. The twenty questions, the matcher fixtures, the merchandising checklist.
  7. What a human still does. The agent does not replace the support lead. The auto-apply does not replace the candidate’s judgement. Write it down so nobody pretends otherwise.
  8. The brief, marked done. Each “done” line ticked with the URL that proves it.

If an item is missing, the project is not handed off. It is paused. I would rather be late than leave a client with a black box they are afraid to touch.

Friday artefacts I will not accept from myself

  • A Loom and no repo.
  • A dashboard with no grain.
  • A chatbot with no citations.
  • A storefront the merchandiser cannot edit.
  • A “we’ll add the runbook later.”

Later is how ownership stays with me. The point of hiring a studio is that it does not stay with me.

How this looks on a calendar

A typical slice, not a law:

  • Days 1–2: brief locked, repo up, first URL.
  • Days 3–8: the loop’s first real step on real-ish data.
  • Days 9–12: the second step, plus the empty states.
  • Days 13–14: hardening, runbook, credentials map, the demo that uses the production path.

If the work is larger, we repeat the two-week shape. We do not invent a six-month fog.

Working with me

I am remote, worldwide. I answer email. I do not vanish into a sprint tool. Upwork Top Rated, Fiverr Level 2, Jobberman open — those are the public marketplace signals. The private signal is the handoff.

If you want a collaborator who “explores,” I am a poor fit. If you want the thing shipped, reviewed on a phone, and left in a folder you can run in six months without me, hire me. The work on this site is the sample. The Friday folder is the standard.