// open to GTM engineering roles & freelance in the UK — reach out →
ingh@

Weekly proof
of work.

What I shipped each week, what I learned, and what broke. No polish. Updated every Sunday.

5
weeks tracked
27
things shipped
weekly
updated
W22 2026May 26 – Jun 1
● IN PROGRESS
// shipped
Built AI Prompt Library — 15 GTM prompts across 5 categories, copy-to-clipboard, expandable cards
Automated Beehiiv newsletter sync script (fetch-posts.js, wired into build)
Renamed /knowledge to /glossary across site and nav
Rewrote About page story section — less CV, more narrative
Fixed blog page Beehiiv subscribe form pointing to wrong URL
Launched /builds/ai-prompts — removed 'coming soon' status
// learned

Shawn's site wins because of obsessive specificity and daily proof of work — not design. Numbers beat aesthetics every time.

W21 2026May 19 – May 25
✓ DONE
// shipped
Built 6 compare pages (Clay vs Apollo, HeyReach vs Expandi, Zapier vs n8n vs Make, Instantly vs Smartlead, HubSpot vs GoHighLevel, Apollo vs LinkedIn Sales Nav)
Launched /builds/clay — 7 Clay table templates with descriptions and stack tags
Launched /builds/n8n — 8 n8n workflow JSONs, all downloadable
Built /projects page with deployed apps and open source tools
Set up Formspree on contact form and Beehiiv on subscribe form
Created Beehiiv newsletter — build-logrishiraj.beehiiv.com
// learned

Compare pages are the fastest SEO play for a GTM site — high intent, low competition, easy to write if you actually use the tools.

W20 2026May 12 – May 18
✓ DONE
// shipped
Complete site rebuild in Next.js 15 + TypeScript + Framer Motion
Built /glossary — 47 GTM terms with search + category filters
Built /blog with live feed (LinkedIn, GitHub, newsletter tabs)
Built /about with timeline, stack panel, credentials
Added mobile nav, dark header, announcement bar
OG image and sitemap live
// learned

Next.js App Router is fast to work with once you stop fighting it. framer-motion viewport animations add a lot for minimal effort.

W18–19 2026Apr 28 – May 11
✓ DONE
// shipped
SaravaSales Notetaker: migrated SQLite to PostgreSQL on Railway
Added ffmpeg to nixpacks config for large recording transcription (>24MB)
Fixed n8n webhook — skip when primary_pain is empty to stop blank Notion rows
Added call summary fallback to n8n when BANT fields are sparse
Removed hs_call_body garbage transcript fallback in HubSpot router
// learned

SQLite works fine locally but breaks the moment you have concurrent writes from a background poller. Postgres was overdue.

W16–17 2026Apr 14 – Apr 27
✓ DONE
// shipped
Built OutreachOS — unified dashboard for Smartlead + HeyReach campaigns
DeepAccount v1 — paste a URL, get ICP fit score, buyer personas, cold opener
Pipeline AI — paste CSV, get AI lead scores + personalised email drafts
Spoke at GTM Daily Office Hours — Claude Code for GTM engineers
// learned

Building three tools in two weeks is possible when you reuse the same FastAPI + React pattern. The hard part is always the prompt, not the plumbing.