Traffic & Attribution System
Client engagement · YAHWAYLOVE LLCThe tracking rig is the invoice
External traffic partner for an AI SaaS product with no access to the client’s analytics, ad accounts or billing, so attribution was built in-house. The rig: tagged outbound links, a weekly sweep, QA and metrics loop that ranks what worked, a frame check that rejects dead footage before it reaches a posting slate, and an approval gate that creates every post as a draft and reads it back from the server before anything is scheduled. 285 commits.
PythonPowerShellAttributionApproval gate
Meta Ads Lead-Generation System
414 Creative · college client856 leads at $4.22 from an account with no pixel
A two-campaign Meta Ads system: Campaign 1 buys cold attention cheaply with video-first creative, Campaign 2 converts only the people Campaign 1 already warmed up. Over 90 days for a college client: 487,000 impressions at $0.47 CPC, 856 leads at $4.22 each, and 127 applications at $28.43 each, from an account with no prior advertising and no pixel installed. Full case study at ads.andrew-rocha.here.now.
Meta Ads ManagerPixel & retargetingCampaign reporting
Full case study ↗
Client Ministry-Tech Partnership
Client engagement · YAHWAYLOVE LLCTheir files stay in sync without anyone remembering to sync them
Ongoing client work for a ministry: an AI proxy holding every API key server-side, a Dropbox-to-library autosync watcher on a scheduled task, research and hub packs, and a site remodel. A CRM data-quality audit across 2,029 contacts took customer records out of version control and added a check so they cannot return. Ships behind a definition-of-done gate that has to pass before anything is called finished. 625 commits, 1,034 tracked files.
NodeVercelScheduled tasksDropbox APIVerification gate
Offline-First Pregnancy Journal App
Own productPrivate by design: no login, data stays on the device
A faith-based pregnancy journal and family keepsake app I own and ship: offline-first, no login, every entry stored on the device in IndexedDB, live on Cloudflare Pages. Includes an OWASP ASVS 5 security review with a tracked remediation plan. 460 commits.
HonoJavaScriptIndexedDBCloudflare Pages
Document Generation Pipeline
Solo buildStructured inputs in, a finished 16-page document out
A document pipeline that takes structured inputs — a person's details, written testimony, source references and authorised context from an existing database and document corpus — and assembles an illustrated 16-page PDF from them. A versioned data schema sits under change control, with purge-and-rollback tests for sensitive records. 290 commits and 949 passing tests, because a generator that silently drops an input is worse than no generator.
NodeTypeScriptReactSQLite949 tests
Automated Job-Search Data Pipeline
Solo buildA bad run refuses to publish itself
A daily job pipeline: 16 source families scanned into SQLite, run through a hard requirements gate, scored, and rendered into a self-contained dashboard. 315 commits behind three gates — a 451-test pytest suite, an offline pipeline smoke run, and a real-browser harness across three viewports that exits non-zero on accessibility violations, console errors, layout overflow, or a dead interaction.
PythonSQLitepytestCloudflare WorkersPlaywright
School-Data Vault Platform
Solo buildA year of records that outlives the system holding them
A complete private archive of a year of coursework, built so the data survives losing access to the system it came from: 30 courses and 268 lesson pages, with grades, files, video transcripts and email pulled out of a hosted LMS, normalised, and stored somewhere retrievable. A watcher checks 13 source syllabus documents every 30 minutes and flags any change for review instead of applying it. 407 commits, 759 tracked files. This is records management as a migration problem — get it all, keep it faithful to the source, and make it findable afterwards.
PythonTypeScriptStructured extractionArchival integrity
Operations Status Board
Solo buildA report with no state of its own cannot drift
A status board covering 56 projects and the client engagements at once, rebuilt from source every morning by a scheduled task: ledgers, git state and workflow registers are read fresh each run and nothing is stored in between, so the board cannot disagree with the work. 62 commits; 125 tests across 4 test files.
NodeScheduled tasks125 tests
Widget & Embed Platform
Solo buildA site gains a widget without gaining a subscription
A private widget platform: a password-gated builder plus a public embed runtime, so a marketing site adds a form or gallery without a subscription or a third-party CDN. 51 commits and 44 test files; the embed ships as self-contained output because an embed that phones home is a dependency nobody audited.
NodeTypeScriptEmbed runtime44 test files
Spreadsheet Cleanup & Validation Service
Solo buildThe proof ships with the data
A productized spreadsheet-rescue service: messy client data in, cleaned and deduplicated data out, plus a validation report showing exactly what changed and why. The report is the deliverable; the guarantee is proof, not a promise.
PythonExcelGoogle Sheetsvalidation reporting
Automated Browser QA Gate
Solo buildA green suite stopped being enough
A verification gate that made a green test suite mean something. Drives a real browser at three viewports and fails the build on accessibility violations, console errors, sideways scroll, undersized tap targets, or a page that rendered nothing, the last one because an empty page used to score perfectly.
NodePlaywrightaxe-core