byForja Tools · Architecture

Architecture

Live state of byForja infra & process - admin only
LIVE STATE, not DOCTRINE

This page mirrors the current implementation of byForja infra, process and DBs. Doctrine, decisions and process spec live in Notion:

Doctrine byForja - sourcing, qualification, delivery, churn, anti-ICP, 2 client profiles (Artist / Pilot).

Production doctrine hub - 4-leg stool sync rules, agent scopes, execution rules.

Phase 1 decisions - locked decisions (delivery cadence, passation, pricing, contracts).

byForja Claude Code HQ specifics - brand assets, infra, stack.

On this page

  1. A - Forja process (5-phase flow)
  2. B - Sourcing phase
  3. C - Qualification phase
  4. D - Outreach phase
  5. E - Closing phase
  6. F - Launch phase (6 weeks)
  7. G - Run phase (monthly)
  8. H - D1 schema (byForja)
  9. I - 4-leg stool sync rules
  10. J - Pointers (Grammars / Prompts / DBs / external tools)
  11. K - Maintenance
  12. L - Status pills legend

A - Forja process (5-phase flow) · last updated 2026-05-30

The end-to-end client journey at byForja, from cold prospect to monthly Run. Each box below maps to a section on this page. Owners and apps are detailed in B → G. Two distinct client profiles flow through the same funnel but diverge at Launch and Run: Artist (transformation loop) and Pilot (graduation escalator). See Doctrine §3 + §7 + §18.

Phase 1 · Inbound + scrape
Sourcing
Inbound from byforja.com + scrape jackpots (Instagram, recommendations). Filter ICP vs anti-ICP, score, push to DB Outreach Prospects.
Phase 2 · Detect profile
Qualification
Artist or Pilot? ICP signals. Stories-feed dealbreaker (Doctrine §13). Source recommendation logged.
Phase 3 · Cold-to-warm
Outreach
Loom < 90 sec → email → follow-up sequence. Brevo for cadence. Status mapped in DB Outreach.
Phase 4 · Sales call
Closing - 45 min
Cal.com event · 45 min · offensive-digitale
Pre / during / post-call prompts. Formula proposal (Forja Full / Complete / Website / Content).
Phase 5 · 6-week onboarding
Launch
Kickoff 1h30 + 5 weekly checkpoints. Milestones: S2 positioning, S3 editorial + Cadre Check, S3-6 ×12 publications, S5 next-month plan, S6 handover or Run switch.
Phase 6 · Monthly
Run
Artist loop (capture → transformation → recapture) vs Pilot escalator (tags → descriptions → titles → planning → fignolage).

B - Sourcing phase · last updated 2026-05-30

Owners: AL (main, manual scrape + qualification), Claude Code (sourcing agent - to spawn, see task #11).

Apps: Instagram (manual + scrape), byforja.com inbound contact form, Notion DB Outreach Prospects.

Sub-actions

Outputs

Partial Manual scrape in place. Sourcing agent (task #11) not yet written.

C - Qualification phase · last updated 2026-05-30

Owners: AL.

Goal: detect the client profile (Artist or Pilot) and confirm fit with byForja ICP before opening outreach.

Profile detection

Profile detection is decisive: it dictates the Closing pitch, the Launch checkpoints emphasis, and the Run cadence. See Doctrine §3.

ICP signals

Stories-feed dealbreaker (Doctrine §13)

If the prospect posts only Stories and zero Feed, decline - byForja delivery loop relies on Feed gravity. Doctrine §13 locked.

DB columns used

Done Columns shipped 2026-05-30 (red flag #5).

D - Outreach phase · last updated 2026-05-30

Owners: AL + Fred (intro for architect lead, AL does not cold-contact - see task #8 / red flag #8).

Apps: Loom (video), Brevo (email cadence), Notion DB Outreach Prospects (status tracking).

Sequence

  1. Loom < 90 sec - personalized intro, recorded from a static template + 3 prospect-specific hooks.
  2. Email send - Loom link + 2 lines of context. Subject: bare, no clickbait.
  3. Follow-up sequence - D+3, D+7, D+14. Three touches max. After D+14: archived as No reply.
  4. Reply handling - book Cal.com 45 min event (offensive-digitale) directly in reply.

DB Outreach status mapping

Partial Loom + Brevo wired. Outreach prompt (task #12 rehearsal) not yet rehearsed on a real jackpot.

E - Closing phase · last updated 2026-05-30

Owners: AL.

App: Cal.com event offensive-digitale - set to 45 min (was 30, updated task #14).

Pre-call

During-call (45 min)

Post-call

Partial 45 min event live. Closing prompts (pre/during/post) draft only - task #9.

F - Launch phase (6 weeks) · last updated 2026-05-30

Owners: AL + Claude Code (Launch agent - to spawn, task #11).

Duration: 6 weeks, kickoff + 5 weekly checkpoints. Source: Parcours client checkpoints + Doctrine §7.

Milestones

Artist vs Pilot in Launch

The 6-week structure is identical, but emphasis shifts:

Outputs

Partial Process documented (Doctrine §7 + Parcours client). Launch agent (task #11) not yet written. Plan QW split Artist / Pilot in progress (task #7 closed).

G - Run phase (monthly) · last updated 2026-05-30

Owners: AL + Claude Code (Run agent - to spawn, task #11).

Cadence: monthly. Source: Doctrine §7 + §18 + Phase 1 decisions - passation spec.

Artist loop

  1. Capture - record raw artistic moments (process, output, reflection).
  2. Transformation - byForja team transforms raw capture into shippable pieces (post, carousel, short, longform).
  3. Recapture - post-publication, recapture audience response + next-iteration material.

The loop is identity-driven: each cycle deepens the artistic positioning and accumulates a body of work over months.

Pilot escalator (graduation by layers)

The Pilot client graduates through 5 layers over months. byForja owns layer N until client owns it, then escalator moves up:

  1. Tags - taxonomy + categorization automation.
  2. Descriptions - caption/description templates and lift.
  3. Titles - hook design and A/B logic.
  4. Planning - editorial calendar ownership.
  5. Fignolage - final polish + cross-channel adaptation.

Passation spec (Phase 1 decisions)

Each Run month ends with a passation review: what byForja owned, what client now owns, what next month transfers. Locked in Phase 1 decisions.

Partial Doctrine locked. Run agent (task #11) not yet written. Monthly cadence wired in Parcours client checkpoints.

H - D1 schema (byForja) · last updated 2026-05-30

Cloudflare D1 database byforja (UUID ff9f3527-bcc5-454b-88e1-c26420688b06), bound as DB on the byforja-tools Pages project.

Existing tables

Future tables (planned)

Partial 6 tables shipped (analytics + auth + inventory). 4 client-side tables planned for Phase 2.

I - 4-leg stool sync rules · last updated 2026-05-30

byForja production rests on a 4-leg stool. Each leg has a single source of truth. Drift between any two legs = broken production. Sync rules below mandate that any change to one leg triggers an audit of the other three.

Leg 1 · Doctrine
Grammar (Notion)
Process spec, decisions, anti-patterns. Source of truth for "what should happen". Examples: Closing 45 min grammar, Delivery grammar, Run grammar.
Leg 2 · Execution
Prompt (Notion)
Agent prompt that executes the grammar. One prompt per agent. Source of truth for "how Claude Code executes".
Leg 3 · State
DB Outreach Prospects (Notion)
Per-prospect state + history. Source of truth for "where each lead is in the funnel".
Leg 4 · Live state
Architecture (this page)
Live state of infra + process. Source of truth for "what is actually shipped". You are reading it.

Sync triggers

Full sync ruleset: Production doctrine hub - execution rules + board sync rules.

J - Pointers (Grammars / Prompts / DBs / external tools) · last updated 2026-05-30

Doctrine & hubs (Notion)

Doctrine byForja
Doctrine - sourcing / qualification / delivery / churn / sourcing
Production doctrine hub
4-leg stool sync rules, agent scopes
Execution rules
Production doctrine hub · execution sub-page
Board sync rules
Production doctrine hub · board sync sub-page
Phase 1 decisions
Locked decisions (delivery / passation / pricing / contracts)
Parcours client checkpoints
6-week Launch + monthly Run checkpoints
Checklist 45 min
Closing call checklist (pre / during / post)
HQ specifics
byForja Claude Code HQ - brand assets, infra, stack

Notion DBs

DB Outreach Prospects
Outreach pipeline - Sourcing → Closing
DB CRM byForja
CRM byForja - Active clients in Launch / Run

External tools

Cal.com
Event offensive-digitale - 45 min (Closing call).
Stripe
Forja Full / Complete / Website / Content products + Run subscriptions.
Yousign
Contract templates (Artist + Pilot variants - to import, task #16).
Brevo
Outreach email cadence + follow-up sequence.
Loom
Cold outreach videos < 90 sec.
byforja.com
Public site - inbound contact + content.

Internal admin pages

/infra-tree
Cloudflare resources tree (Pages, D1, R2, KV, Workers).
/analytics-map
Analytics source-of-truth map.
/clients
Active client list (placeholder - Phase 2).
/page-flow
byforja.com page flow.
/notion-vs-tools
Source-of-truth split per domain.

K - Maintenance · last updated 2026-05-30

This page is hand-maintained. It must be updated each time a Forja phase, DB schema, or external tool changes.

Where it lives

How to edit

  1. Edit public/architecture.html directly. The page uses /admin.css shared tokens + a local <style> block for arch-specific patterns (TOC, flow-diagram, status-pill, pointer-table).
  2. Update the last-updated marker on every modified section.
  3. Smoke test: open the live URL after deploy (CF Access will gate, expect 302 to Access if not logged in; once logged, page renders).
  4. Deploy: cd ~/Projects/byforja-tools && npm run deploy:prod (per standing rule - byForja tools require explicit manual deploy).

Sync obligations (4-leg stool)

If you edit Grammar, Prompt, or DB Outreach Prospects, audit this page same turn. See section I for sync rules.

L - Status pills legend · last updated 2026-05-30

Status pills next to a section heading or sub-item indicate implementation state:

Done - shipped and verified live.
Partial - partially shipped; gaps documented inline.
Todo - planned, not yet shipped.

Many sections currently sit at partial because Grammars (task #9-#10) and Prompts (task #11) are not yet fully written. Expect a wave of pills moving from partial to done as Phase 2 ships.