ex-plumber, 8 months of public commits. why i think a GitHub beats a resume for GTM engineer and forward deployed roles

i'm Shawn. i started this sub in march.

for anyone newer here: i was a plumber in New York for ten years. no degree, i dropped out of community college in my second semester. i got my first SDR role in august 2023, went to a startup as the founding BDR a year later, and a year after that i was the first GTM engineer at a RevOps agency. this summer i launched Clearbox with a technical co-founder, after vibecoding the first version myself.

i don't have an engineering background. in february my GitHub was almost empty.

eight months later it's what i'd show a hiring manager before any resume. here's what's on it:

gtm-coding-agent: build your go-to-market engine with coding agents instead of a $2K/mo tool stack. documented chapter by chapter, with forkable starters, installable skills, and Python scripts. 150+ stars, 40+ forks. https://github.com/shawnla90/gtm-coding-agent

recursive-drift: a methodology for building AI agents that develop memory, voice, and personality over time. CLI-first, zero API keys, built for Claude Code. https://github.com/shawnla90/recursive-drift

context-handoff-engine: persistent context for Claude Code across sessions, terminals, and agents. the infrastructure layer behind recursive-drift. https://github.com/shawnla90/context-handoff-engine

website-with-soul: playbook and working starter template for building a website with depth and personality on a mostly free stack. https://github.com/shawnla90/website-with-soul

why i think this beats a resume for GTM engineer and forward deployed roles:

a PDF says what you claim you can do. a repo shows what you shipped, when you shipped it, and how you think. the README shows whether you can explain a system, and the commit history shows whether you finish things. anyone can clone it and check if it runs.

green squares can be gamed. what's harder to fake is a repo someone else can fork and run.

if you're starting from zero like i was, you don't need a big project. take one script you already run for work, like a list builder or an enrichment step. strip the client data, write a README that says what problem it solves, and push it. then do it again next week.

if you've got a public repo, link it below. i want to see what people in here are shipping.

reddit.com
u/Shawntenam — 8 days ago

Built my dad’s plumbing site. 17.5k impressions, 312 clicks, $0 ads. Here’s why that matters for GTM.

February. Built a website for my dad’s plumbing business.

Had to shut it off for a while because he got too busy taking calls. Flipped it back on.

Last 28 days: 17,500 impressions. 312 clicks. Zero ad spend.

I’m a GTM engineer. People act surprised when I ship a site. Don’t be. If it has an API, we can build it.

If it’s an AI build, we got this. Websites are in the job description whether HR wrote it down or not.

The site lives in a repo. track it. You see which pages and which lines of copy pull impressions and clicks.

Then you take the winners and use them everywhere else: outbound, landing pages, ads.

Organic finds the language. Ads scale it. Same copy, different surface.

That’s the loop. Site → Search Console → messaging → budget.

Coders and engineers already know how to ship and instrument.

Do that on a real business in your free time and you walk into GTM meetings with proof, not opinions.

You can point at the numbers and say put spend here.

I was a plumber for ten years. Now I keep his phone ringing from a Mac mini.

Shawn Tenam. GTM engineer, Clearbox co-founder. SEO god on the weekends. 🏴‍☠️

reddit.com
u/Shawntenam — 10 days ago

i'll never sell a gtm course. here's my free repo instead, go build this weekend

i get dms on tiktok, reddit, x, linkedin asking how to get into sdr or gtm engineering. screenshots of a couple here.

my take: everything in this trade can be self-learned now. i learned using next.js + Vercel frameworks....l point and built my gtm systems by asking claude questions.

what i tell people who want in:

- learn the channels by hand first. cold call, cold email, linkedin

- if a company is hiring for a role you'd crush, find the right people there and reach out. NEVER apply blind

- share your wins and your losses publicly

- keep networking

if you want to build, my repo gtm-coding-agent is free on github (149 stars).

it has self-guided chapters for you and for your coding agent, so you learn while running it. your agent helps set it up, then walks you through building your own gtm repo for content, sales, marketing, and product.

run it, fork it, break it. reach out whenever, but once you have it, it's on you to run with it.

it's the weekend. go build some shit.

https://github.com/shawnla90/gtm-coding-agent/tree/main

u/Shawntenam — 13 days ago

You don't need permission to rep the tools you actually use

Without a doubt, most of the opportunities that I've created for myself started with posting and commenting.

no partnership, no one asked me to. I used it, built with it, and shared what I built.

today I'm at the Apollo Next because of that.

if you want to be a top-tier GTM engineer, building isn't enough. share what you build, even the unpolished stuff. the tools you use every day are a good place to start.

yes, I'm Apollo-pilled. got the hat to prove it. I'll share what I learn from the conference.

what tools do you use that you'd happily rep without being asked?

reddit.com
u/Shawntenam — 15 days ago

ran adam robinson's moltsets (just out of beta) over 10k contacts that had already passed apollo + clay + zerobounce.

dropping the full writeup as a newsletter tomorrow. here are the receipts tonight.

the setup. the list was a client's home-services list, about 10k contacts, built before moltsets was anywhere near it: apollo by domain for the accounts, a clay waterfall for the emails, zerobounce on every row.

nothing about it was tuned for the tool. that is what makes the test worth anything:

a normal list, already trusted, and the only question is what a verifier leaves behind.

moltsets, for anyone who has not touched it: adam robinson's contact api (same team as rb2b), just out of beta. no dashboard, api and mcp only, flat monthly plan.

every email comes back with a risk score read from observed behavior instead of a server handshake: a is a known reply, open, or click, b is a send with no bounce, c catch-all, d hard invalid or trap, f nothing known.

plus the person's current company. grade definitions are on developer.moltsets.com if you want the source.

what I ran: one reverse email lookup per row, then a name + domain lookup when the first call came back empty. every call logged locally. about 14k calls, no phone tokens, nothing extra on the flat plan, about 75 minutes.

what came back:

- two out of three rows agreed. zerobounce valid, moltsets a or b on the same address. those send first

- close to 800 people had changed jobs. zerobounce passed every one, because the old mailbox still accepts mail

- about as many again passed on an address nobody has been seen using, while a sibling address at the same domain had real replies, opens, or clicks behind it

- roughly four in five catch-all rows graded a/b on observed activity. a verifier cannot grade a catch-all mailbox, so that whole pool had been sitting in quarantine

- about one in ten of the zerobounce drops came back with a same-domain address in use

- a handful of d grades (bounce, complaint, or trap). one of them was marked valid

add up the job changes, the wrong addresses, and the d rows and it is one row in six of what the verifier passed. verified, and addressed to nobody.

how the grade routes: a/b to email. c to a small watched segment. d never gets emailed but the row stays, linkedin first then phone. f and not-found get a second look by name and company before they go anywhere. job change goes back to sourcing with the new company attached. nothing gets deleted for a bad mailbox.

verdict, from someone who checked it against the sources already in the stack: no-brainer.

on a list that had already been through apollo, clay, and zerobounce it still changed the route on roughly three in ten rows, for nothing extra on the plan and about an hour of machine time.

that is a must-have layer, and a likely future replacement for maybe a few things you're already running

if you want to try it, run it the same way: on a list you already trust, next to the verifier you already use, and let the disagreements tell you what it is worth.

the grader is open source, v0.12.0 in gtm-coding-agent (starters/moltsets-reachability).

repo: https://github.com/shawnla90/gtm-coding-agent

question: anyone treating "verifier valid, graph f" rows differently from plain valid? close to a thousand of those here and I am holding them as unproven.

u/Shawntenam — 1 month ago
▲ 11 r/AskGTM+3 crossposts

Moltsets is finally rolling out its beta second wave and I've been using it for the past month.

so here is a workflow you can run tonight if you are already in. shipped as v0.11.0 of my gtm coding agent repo, link at the bottom.

what it does: takes a contact csv, hits reverse_linkedin_lookup on each linkedin url (still at the company? plus the graded business email when the graph has one), falls back to reverse_email_lookup, second pass by name + company domain accepting only a same-domain a/b, then writes a google sheet where the grade decides the channel. a/b email. c small segment.

d never emails, goes to a linkedin queue, then phone. moved goes back to sourcing.

Re-ran 200 apollo-verified gtm engineers last night: keyed on the email, 70 profiles and 60 sendable. keyed on the linkedin url, same people, 196 profiles, 136 graded (all a but one), 113 sendable, 54 to linkedin, 27 job changes caught. the not-found rows cost zero records.

the bigger point. if a tool has an api, you build the waterfall yourself and decide which source answers which question.

you do not need a clay seat for that, you need a repo.

everybody has the same tools and the same data. the edge is the founder's energy behind the tool, then trusting the data enough to build on it.

gtm as a repository: every campaign you run feeds back into the system. the model gets better with use. so does your gtm.

to run it: `python3 budget.py` (three free calls), then `bash run.sh list.csv --full`. keys from a local vault, never in the repo.

question for anyone else in the beta: are you keying on the email or the url? my numbers say the url and I want to know if that holds outside my icp.

release: github.com/shawnla90/gtm-coding-agent/releases/tag/v0.11.0

reddit.com
u/Shawntenam — 1 month ago
▲ 1.4k r/GTMbuilders+3 crossposts

Introducing Claude Fable 5.1 and Claude Mythos 5.1

We're introducing Claude Fable 5.1 and Claude Mythos 5.1, the world's most advanced models for coding and knowledge work.

Fable 5.1 excels at complex, long-running tasks. And its research capabilities offer an early glimpse of how AI models will contribute to scientific progress.

Across our benchmarks, the model sets a new standard. It scores 52.6% on Terminal-Bench-Science 0.1, more than double Fable 5. On Terminal-Bench 4.0, it scores 55.8% against 42.0% for Fable 5. As well as being capable of much higher performance than Fable 5, it can also achieve similar or better results at a much lower cost when set to lower effort levels.

Cache reads with Fable 5.1 cost 75% less than Fable 5's. This reduces the cost of the model in practice by around 25% for typical workloads, and up to 45% for highly agentic ones.

We've also improved our safeguards. Our cybersecurity safeguards now flag benign requests about 60% less often. On basic biology and medical questions, we've recently reduced the fallback rate by around 85%.

Claude Fable 5.1 is available everywhere today. Claude Mythos 5.1, our model for cyberdefenders and life scientists, is available through trusted access programs.

Read more: https://www.anthropic.com/claude-fable-and-mythos-5-1

u/ClaudeOfficial — 1 month ago

the full build behind a reddit signal engine, 3 months in: stack, channels, real inference cost, and what changes now

https://preview.redd.it/6f9udu3atmlh1.png?width=946&format=png&auto=webp&s=dc248e795bac5fc71ee4d8226e571febc0787149

three months into clearbox, sharing the whole build: what we run, what it produced, what it cost, and what changes now. engine dashboard screenshot attached so the numbers are not from memory.

the stack, and what each piece does:

- convex: the data layer. opportunities, offers, inbox state, and the api endpoint reads straight from it

- gemma-4-31b-it-nvfp4-turbo, the open-source local model: first-pass triage, is this thread even an opportunity. my co-founder lila quantized it to nvfp4 and put it on hugging face (LilaRest/gemma-4-31B-it-NVFP4-turbo), it is past 1.7 million downloads now, and we run it for clearbox on a rented rtx 5090

- openrouter: the heavier calls, routed to whichever model fits the job instead of one frontier api for everything

- vercel: the app and the site

- cloudflare: dns and the sending domains, spf/dkim/dmarc live there

- posthog: tracking everything from web traffic to UX

what it produced, may 30 to today:

- 162 signups

- pipeline from four channels: referrals, me reaching out to my own crowd, warm follow-ups to people who signed up, and cold sends off warmed inboxes. every channel produced at least one signup

- 120 onboardings, 119 trials completed

what it cost in inference, all providers:

- all-time: $447. last 30 days: $199

- by step: match $226 (is this thread an opportunity), review $169 (the deeper read on what passed), onboarding $53 (building the offer context once per account)

- per completed trial: $2.12. full-plan trial with a card on file $2.82, capped no-card trial $1.62. onboarding an account: $0.44

two things in those numbers that I would want to know as a builder:

the first is why the local model matters. match is the volume step, every new thread in every tracked subreddit hits it, so if that call goes to a paid api the bill scales with reddit's posting rate instead of your customer count. the local model on the 5090 sees everything at zero per token, the paid model only sees what survived. that is the whole reason the paid side stays small.

the second is that a free trial does not hurt you at this cost. two dollars of inference to find out whether an account converts is less than one ad click, and capping no-card trials at two subreddits is what keeps the tail at $1.62.

the gtm loop, so it is reproducible:

  1. every signup lands in a sqlite table with what they set up and which opportunities they opened

  2. a daily digest classifies each one (book a call / active / unreached / re-tap) and drafts a warm note

  3. I send the notes by hand from my own inbox. nothing auto-sends to someone who signed up

  4. cold goes through warmed inboxes on a separate sending domain, never the main one

what changes now: less building, more account work. converting the trials that are already getting value, upselling the capped ones, and writing the journey up as it goes.

disclosure: co-founder of clearbox, this is our build. happy to share the match prompt or the digest classifier if useful.

question for the builders here: what does a trial cost you in inference, and where do you draw the line for escalating to a bigger model?

reddit.com
u/Shawntenam — 2 months ago
▲ 9 r/ClaudeGTM+2 crossposts

what your Claude Code / Codex subscription usage would cost on the API, per tool and per account.... check out PokeTokenBar.

if you run coding agents on a subscription and have no idea what that usage is actually worth, PokeTokenBar answers it from your menu bar.

It reads the local session logs you already have (Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI, and a few more), no API key, no account connection, and gives you:

- today / week / month tokens per tool, priced at API rates so you can see what the same work would have cost pay-as-you-go

- your official 5-hour and weekly limit bars with reset countdowns, pulled from the same credential Claude Code uses

- a burn-rate forecast for when the current 5-hour window hits 100%

- a per-model breakdown, so you know whether it's Opus or Sonnet eating the budget

Tracking token efficiency was always something that I wanted to do, but what really sold me was the fact that your tokens are the game. Usage hatches an egg into a Pokémon that sits in your menu bar and evolves as you burn more.

Max out a 5-hour or weekly limit and it hands you a Rare Candy to level it up, so the moment you get rate-limited is the moment you get rewarded.

Tokens you've already spent become currency for a shop (new eggs, a Shiny Charm, a re-roll of its nature), and you can pin your favorite to the menu bar or as a floating pet on the desktop. You end up checking your usage a dozen times a day without it feeling like checking a bill.

Mine says August is about $2,783 of API-equivalent usage on a $100 Max plan.

That's a 27.8x multiple, and it's the cleanest way I've found to explain why subscription-first workflows win for multi-session client work.

Two things I needed, so I added them and both shipped in v2.5.2.

The newest Claude model was priced at $0, which zeroed out my heaviest days. Fixed. And if you flip between two logins (personal Max and a Team seat, in my case), the limit bars never said which account they belonged to.

fork the repo, tell Claude Code what's wrong, let it read the maintainer's contributing rules (six UI languages per string, tests that lock behavior, no special-casing one provider on shared code paths), push, let CI run the test suite, install the build on your own machine and confirm it before opening the PR. Merged in two days.

You learn the codebase because you're fixing something you use every day, and you end up with the feature you wanted.

If you use a tool daily you're qualified to contribute to it. Pick the thing that annoys you and ship it.

I did not build this. Props to chattymin on GitHub, who created it.

All I did was add contributions based on my own use, and I'm sharing it here so you can see what a legitimate contribution to something you find useful looks like.

Whether you like Pokémon is beside the point. Having fun with a build while learning something and shipping something valuable is the point. Star the repo, support it if you see something cool, and contribute.

.Check out the repo: https://github.com/chattymin/PokeTokenBar

u/Shawntenam — 2 months ago
▲ 119 r/shiba

For the Watch. He took the black… and the tan… and the stool rest.

Broly Shiba of the Night’s Watch has claimed the stool rest and declared this haircut under his protection.

No man or scissors shall pass without his approval.
I've never felt safer getting a haircut than having this guy by my some.

every shiba owner has those moments where you take them somewhere and they make a statement. This is just one of many. Drop yours

u/Shawntenam — 2 months ago
▲ 8 r/ClaudeGTM+2 crossposts

ran a self-hosted linkedin bot... (601 requests, on my own account)

I tried to run linkedin outreach myself instead of handing my account to a sender tool.

so i had, Claude, right up a small playwright script that drives my real session, sends connection requests with a personal note, and keeps a sqlite ledger of every request, accept, and reply.

ran it against 1,297 gtm engineers, 40 a day, weekdays only, three weeks.

numbers first.

the funnel:

  • 601 connection requests sent
  • 299 accepted (49.8%)
  • 35 replies
  • 6 booked calls, a couple trials, 4 paid sign ups

31 of those 35 replies came from people i never sent a follow-up message to. they accepted, read the 27-word note on the request, and replied to that. i had a full first-message-then-bump sequence built and it barely ran. the note did the work.

takeaway i'd bet on. if the note on your connection request can't earn a reply by itself, a follow-up sequence is amplifying nothing.

get the note right before you build the machine. mine named what i was building in the first six words, asked for a read instead of a meeting, and went to peers, not buyers.

now the gotchas, because there were real ones.

the ledger is the whole thing, not the script. one row per person, every cap is a sql count against it, so you can kill the process any time and restart safe. the script is replaceable, the ledger is the asset.

keep score with a separate read-only pass. the part that sends should not be the part that decides what worked. i had a second script that only reads the connections page and inbox, never clicks anything, and it found 22 accepts and every reply the sender itself missed.

and the bug that ended it: the sender wrote "sent" to the row only after the message went out.

crash in between and the message is delivered but the row still says pending, so it sends again next run. i watched it double-message someone. fix is to write "sending" before you act and confirm after, so a crash strands a row for review instead of re-sending.

why i stopped: the double send, plus a send rhythm no human produces (bursts then exactly 30-min gaps, exactly 40 a day), plus one verification wall from week one. that's the account asking you to stop, so i did.

to be clear, this is not me telling you to skip heyreach or tools like it. i use them. they exist so you don't have to babysit this and so the risk sits with a vendor instead of your account.

automating your own linkedin is against their terms and can get you restricted. that was my account and my call. it didn't get me banned. it could have. i'm sharing the numbers, the good and the broken, because both are useful.

happy to get into any part of the build in the comments.

reddit.com
u/Shawntenam — 2 months ago

130 stars. The only receipts that matter now.

fellow builders...Gtm coding agents just crossed 130 stars.

Not here to tell you to go clone it again.

Go build your own shit.
Then share the production builds.

Those are the best receipts you’ll ever have. not a resume.

The people who can point to real systems they’ve shipped are the ones landing the forward-deployed engineer roles. That’s the job you actually want. Everyone else is just another Clay operator.

I’m also building a referral network for people who can actually build.

If you’ve forked the repo, worked off it, improved it, or shipped something better and you’re looking....you’re at the front of the line for me. YC companies and others reach out regularly looking for this exact type of talent.

Do it for yourselves if you’re serious about these roles, the builds you ship are what open the door

And if you build something recently, drop it in the comments. Share it.

Also, feel free to connect with me on https://www.linkedin.com/in/shawntenam/.

u/Shawntenam — 2 months ago

Every day....How do I get into go-to-market engineering?

Almost every day for the past three months I get some version of.... How do I actually get into this role.

And I always try and help and share my insights, but the best thing I can share with y'all is a free public repo. That actually pushes you to build something useful.

130+ stars, 22 chapters. focused on using coding agents to build real GTM systems instead of just talking about them.

If you’re trying to break in (or level up), here’s the only advice that actually moved the needle for me and a bunch of people who used it:

Take a weekend and just build.

Ignore the “don’t build what already exists” advice when you’re learning.

Rebuild the tool.
Break the API.
Write the ugly script.
Ship the dumb little app only you’ll ever use.

Then sit with why it failed and fix it.

Those are reps.
You get better at systems, debugging, APIs, and actually shipping GTM work instead of just consuming content about it.

The only wasted build is the one you learned nothing from.

That’s the real value. Not another course. Not another “framework.” Just deliberate practice that compounds.

I’m not dropping the link here — you can find it if you want it. If you can’t, DM me and I’ll point you to it. No promo. I just want more people in this space to stop waiting for permission and start building.

If you already know this stuff and usually scroll past posts like this, this one’s not for you.

reddit.com
u/Shawntenam — 2 months ago
▲ 14 r/ClaudeGTM+2 crossposts

10 Claude Code commands I run every day. 5 ship in the box. 5 I built.

About a year of daily Claude Code and my whole workflow comes down to 10 commands.

5 are built in, 5 are skills I wrote because the built-ins stop short of what my content pipeline and client work need.

Sharing both halves since the custom ones are all reproducible. The built-ins that actually matter:

The stack:

  1. /context (stock). Shows exactly what is eating your context window... tokens by messages, tools, files. Run it before you blame the model.

  2. /compact (stock). Summarizes the session into a fresh window mid-task.

  3. /clear (stock). Wipes to zero. The skill is knowing which to reach for: same job --> /compact. New job --> /clear.

  4. /handoff (built). The /compact upgrade. The session writes a handoff file, the next session auto-reads it. The context outlives /clear, and parallel terminals don't clobber each other.

  5. Plan mode (stock, shift+tab). Read-only exploration first, an approved plan before a single file changes. Anything multi-file starts here.

  6. Remote Control (stock). Hands the live terminal session to my phone. I approve, steer, and keep builds running while I walk the dog.

  7. /copy-to-clipboard (built). Claude Code ships /copy to grab the last reply. Mine formats for the destination first: plain text, zero markdown stars, ready to paste into LinkedIn or X.

  8. /grok-critique (built). Every draft gets a second model's slop check before it ships. Em-dash abuse, narrator setup lines, hype words. Claude can't referee its own tics.

  9. /code (built). Finished content pack --> Discord channels for review. approve, edit, final... all from my phone.

  10. /voice-invocation (built). Meeting transcripts in, a content pack drafted in my voice out. It quotes phrasing from things I actually said on calls.

Everything is also available on my Github. Let me know if I can get to share it with you guys. although, it shouldn't be too hard to find, LOL.

u/Shawntenam — 2 months ago

Claude Code in the terminal + Codex in the app....who’s actually splitting the work?

So I don’t run this on every project. Depends on the size and how messy it is.

When the repo has real history (instruction files, SQLite, previous failed approaches, assets, handoffs, etc.), I stop trying to make one session carry the whole thing.

Claude Code stays in the terminal. It inspects the system, reads the instruction files, checks git and the last handoff, then writes a clean phased plan into a durable file.

Codex gets that file in the app and builds one phase at a time. File boundaries, verification steps, and the “do not touch” list are already there. I especially like it when I need browser control, live previews, or proof of the work.

The handoff is usually just:

GOAL
CURRENT STATE
SOURCE OF TRUTH
DECISIONS ALREADY MADE
PHASES AND FILE OWNERSHIP
VERIFICATION
DO NOT TOUCH

It's also super convenient because the remote control feature on the app works really well. (yes. You can do this with Claude Code also), it's great for keeping sessions running when you have to walk the dog. (in my case)

For smaller or cleaner work I just stay in one agent and feel it out.

Right now I’m mostly on Opus 4.6 (sometimes Fable 5) in Claude Code, and GPT-5.6 Sol at Extra High in Codex once the phase is locked.

I’ve seen other people doing versions of this Claude for context/planning, Codex for execution, file handoffs, cross-review.

so I’m posting because I want to know what the rest of you are actually running day-to-day.

Full split? One agent the whole way? Something else?

Lets see what’s working for people building real GTM systems.

reddit.com
u/Shawntenam — 2 months ago
▲ 5 r/ClaudeGTM+2 crossposts

I just tested Adam Robinson’s MoltSets beta on 68 real Clearbox signups.

A few weeks ago I had also built my own skill tree for my blog, so getting into MoltSets was fun because I could immediately compare how I was thinking about skills vs. how Adam was thinking about them.

I didn't just want to understand the library. I also wanted to understand the actual loop underneath it.

A product can easily give you data, but you still need people with skills to build those workflows that actually make sense.

Those skills help the next person get value faster, and eventually the users start creating the education and distribution around the product themselves.

I wanted to see if that idea actually held up on something messy inside Clearbox.

When someone signs up for Clearbox, we can join their posthog activity to their convex user and onboarding context.

Company domain? Easy.
Gmail or another free email? Professional identity trail basically disappears.

So I took 68 free-email signups and ran them through MoltSets.
54 returned an identity candidate.

13 resolved directly from the free-email address.

23 came back high or medium confidence after running them through
Clearbox’s own grader.

Everything else stayed in human review or unresolved. Which is actually what I wanted.

I don’t want enrichment that just confidently makes shit up because an agent found somebody with the same name.

The workflow has to earn the right to keep going.
Direct identity edge first. Only fall back to name search if there’s enough evidence.

I also built the data and cost model myself before letting an agent touch the workflow.

Because “free tokens” doesn’t really tell me anything.

Once I separated unlimited core data from the rolling request and record windows, then treated external tokens as their own pool for the expensive fallback work, I could actually understand what I was building around.

Four real usage meters instead of one vague credit number.

And the build gave me two actual skills:

Free-Mail Signup Resolution
Credit Guard & Token Economics

That’s when the MoltSets loop became real for me.
I went in to solve one Clearbox problem.

It produced a working resolver, a cost model, and something another builder could start from.

I’m packaging it into a public Notion guide with the flowchart, real redacted examples, all four usage meters, the guardrails, and both skills.

So keep following for the drop. Still iterating on it. Don't want y'all coming at me for any AI slop, so it's still on human review.

But feel free to DM me for early access! 😜

reddit.com
u/Shawntenam — 2 months ago

Follow-up to the GTM workspace post from last week. Two things: a dumb mistake worth sharing, and a change in direction.

The mistake first...

I set the workspace up on Buzz (Block's open-source thing, humans and agents in the same channels). Built out the channels, wrote the canvas docs, seeded the first threads, posted the invite. People joined. Then it just sat there. Nobody posted anything except in #general.

I assumed the usual: people join stuff and never come back, that's the internet.

Went digging in the relay this weekend and pulled the membership roster per channel. Every channel I'd built had exactly one member. Me. Turns out when you accept a Buzz community invite, the desktop app auto-joins you to exactly two starter channels and nothing else. Every channel created after that has to be joined individually, and nobody knew they were there because they don't show up in your sidebar until you're in them.

So everyone who joined saw one empty room and reasonably concluded the place was dead. It wasn't dead, it was invisible. Fixed it by pulling the roster and adding everyone to every channel, which is a loop over buzz channels add-member. Wrote it as a script since it has to run for every new person who joins.

If you're running anything on Buzz, go check buzz channels members --channel <uuid> on a channel you made after launch. I'd bet money you have the same problem.

Now the direction change.

I keep getting asked how to become a GTM engineer. My answer is always the same three words: build in public. I still think that's right, but it's getting weaker, because text is now trivially fakeable. Anyone can generate a convincing thread about a pipeline they never built. I read ten of them a day. So can you.

Video is where that breaks down. You either screen-share the thing and explain why you picked the waterfall order you picked, or you can't. There's no prompt for having actually done it.

So I'm starting a show. GTM engineers walk through something they actually built, on screen, with the receipts. Not another interview about the future of AI in sales.

The what we should care about: I'm not just looking for people with audiences. I'm looking for people who built something real and have no idea how to show it. If that's you, that's the whole pitch. You bring the build, I handle recording and editing, and you leave with the episode plus a pack of captioned vertical clips to run on your own channels. No strings, no attribution games.

The workspace is the on-ramp. Post your builds there for a week or two, come on and walk through one. Not a gate, it's the prep. your posts end up being the episode outline.

Rebuilt the whole thing around that this weekend. Cut it from seven channels down to five, because seven channels for a handful of people is a ghost town by design. Rewrote the docs.

Invite's good for 30 days:

https://gtmelite.communities.buzz.xyz/invite/v2.Ob8-wOkY5qvDLRK2uuTra19aSzA5a8oj7hZNPVnXmY4

You need the Buzz desktop app for community features. Click the link, then go post what you're building.

And if you have a build you want on camera, just say so in the thread. First episodes are getting picked from whoever raises their hand.

reddit.com
u/Shawntenam — 2 months ago
▲ 3 r/gtmengineering+1 crossposts

We recorded a podcast that doesn't exist publicly for 2 more weeks. The distribution for it started a week ago.

Got invited on a podcast with my co-founder. The episode is still with their editors and won't hit YouTube for another two weeks. Old me would have waited for the link and then posted "excited to share" the day it dropped.

Instead I asked for the raw files and treated the transcript as the asset.

Whisper transcription with word-level timestamps. Then I had my coding agent read the transcript and find the story peaks. "Here's our take on automation" is a topic. "The AI told me API access takes 24 hours and forgot to mention the $10,000" is a story with a peak, and because the timestamps are word-level, the cuts land on words, not near them.

That got me 17 vertical clips with captions and hooks. Hosted them at public URLs, then used the Buffer API to stage drafts across TikTok, IG Reels, and YouTube Shorts. 33 drafts from one script. They stay drafts until I eyeball them, then it's one clip a day until the episode drops.

The daily LinkedIn layer runs off a Notion board my phone can operate. It tracks date, post text, video download, and status. Four minutes a morning with coffee.

Then the long-form pass over the same transcript produced a newsletter, a blog post, and this post. Every piece is a different altitude on the same hour of tape.

The podcast itself came from this exact motion. The host's team found my product through the content I was already posting. Nobody pitched anybody. The content did the outreach, then the recording became more content, which is presumably how the next one happens too.

One hour of recording became 17 clips, 11 daily posts, and 4 long-form pieces. About a month of cadence, and the episode itself is still in the queue as the finale.

Next time I would capture B-roll during the recording session. Screen captures of the actual tools we talked about would have doubled what the clips can show.

Anyone else mining recordings this way? Curious what your transcript-to-asset ratio looks like, because I think ours is still conservative.

ps. For all my builders out there who are trying to figure out a way to build in public, take these record yourself working, take podcasts, webinars, or whatever you can do to showcase your natural talents. That will set you apart from the rest and make sure you never have to drop a CV.

That's one of the main goals I want from any of you, any of y'all in this community: to really learn how to build in public to the point where you're so in demand that you never have to drop another CV.

If you're trying to figure out how to do these recordings and edits programmatically, you know where the scripts are. If you're new here, just DM me and I'll send them to you.

That's me signing out, Shawn Tenam, go-to-market engineer and co-founder of clearbox.

P.S. Special shout-out to the LeanScale team. Beyond putting together an incredible podcast and media experience, their founders genuinely care, and their team has some seriously sharp RevOps and go-to-market engineers. They understand GTM at a level most agencies simply do not. If you need a partner for RevOps or allbound growth who will actually care about the outcome, I could not recommend them enough.

reddit.com
u/Shawntenam — 2 months ago
▲ 8 r/ClaudeGTM+2 crossposts

What if GTM Builders became the place where we test new AI tools before everyone else?

Being a go-to-market engineer today isn’t just about knowing Clay, Claude, or your favorite workflow.

It’s about staying ahead of the curve and figuring out which new tools are actually worth your time before they become mainstream.

Every week there’s another “game-changing” AI product.

Instead of arguing about them on Reddit or waiting for YouTube reviews, why don’t we test them ourselves?

I’ve been experimenting with Buzz, Jack Dorsey’s new open-source workspace for humans and AI agents.

It feels like a mix of GitHub and Slack, but built around collaboration instead of just chat.

I’m thinking we create a shared cloud workspace where nobody owns it. We use it to evaluate new tools, share workflows, build together, and answer one simple question:

Is this worth adding to the GTM engineering toolkit, or does it belong on the Fraud Alert list?

The only prerequisite I’d ask is:

• You have a GitHub repo (or you’re actively building one).

• You’re interested in GTM engineering, AI workflows, automation, or building systems.

I genuinely don’t care if your repo has 0 stars or 10,000.

This isn’t about clout. It’s about builders learning from builders.

If that sounds like something you’d want to help shape from day one, let me know.

I’d love to get a small group together and see what we can build.

reddit.com
u/Shawntenam — 3 months ago
▲ 4 r/AI_Sales+1 crossposts

The Apollo API plus a coding agent, writing to a SQLite store I own.

Been posting my coding-agent GTM workflows here for a while. The question every time is which data vendor I use. After four months of wiring different ones into pipelines: I start every run at Apollo, and the reason is the API plus a coding agent writing to a database I own.

This replaced a stack of tools I used to pay for.

I take a list of target companies - a screenshot from a market map, a conference exhibitor page, my own LinkedIn following - and hand it to Claude Code. It resolves domains, runs organizations/enrich?domain= for the org ID and firmographics, then mixed_people/api_search filtered by organization_ids for the people. That search is free. The redacted preview gives me title and person ID with the name obfuscated, so I qualify the whole set before spending a credit, then pull only the rows I want.

Every enriched row writes to a local SQLite database. SQLite is my own contact store, the CRM before the CRM. It holds every company, every contact, every enriched field, on my own machine. Apollo's API is what lets me build it, and I can push it to the cloud or a real CRM whenever I want. The expensive part of sourcing was never the data, it was the manual work of getting the right rows into something I own.

Numbers and mechanics.

  • The search is free. Credits only go on the rows you pull.
  • On flagged inventory, bulk_match returns verified work emails at around 99% for me, instant.
  • Long runs go to a Codex session on a remote instead of my laptop. Start a few-thousand-row job, come back to a filled database.

On vendors, honestly. No source is perfect. But Apollo is the first layer. It is the whole data layer - the roster, the org record, the current-company signal, and the reveal in one place. Apollo is where you start. A lot of the tools people pay more for are reselling Apollo's data underneath anyway.

Two gotchas from building this.

organization_ids is the only reliable filter in mixed_people/api_search. A domain or company-name filter returns people unconnected to your targets. Enrich the company first, always.

bulk_match draws from the data/export credit pool and caps at ten per batch. Check your balance before a multi-segment run or it stalls mid-job.

Happy to share the Python for the screenshot-to-SQLite loop.

Building in the open at.....you know where

reddit.com
u/Shawntenam — 3 months ago