Shipped features, fixes, and reliability work. Grouped by product so you can read GTM OS, the work that landed on both academies, or 60-Day Founder. Every entry below went to production.
After a release, hard-refresh this page and the app (Cmd-Shift-R on Mac, Ctrl-Shift-R on Windows/Linux), or clear cached images and files for soloframehub.com, ai-gtm-os.soloframehub.com, and startup-academy.soloframehub.com. A normal reload can still serve the previous JS/CSS bundle.
The sales academy: Playbook, live buyer calls, lesson widgets, outreach.
Create an internal integration at notion.so/my-integrations, share the pages you want to publish under with it, and paste the secret in Settings, Connected Apps. Built artifacts on the dashboard have a Notion button next to MD, CSV, and PDF. Connect no longer depends on a Notion OAuth app that was never configured for this product.
When you publish an approved Notion action or export an artifact, you choose from the pages shared with your integration, or paste a page link. You no longer need to dig a raw page ID out of a URL. If Notion cannot see a page, the message tells you how to share it.
Connect shows the sender format (you@mail.yourdomain.com). If the domain is not verified, the error lists the domains your Resend account already verified. Editing the field clears the old message, and a bad API key says so plainly.
Paste a workspace access token from Attio Settings, Developers. Connect now reads Attio's workspace id and name correctly. A bad or revoked token gets a plain invalid-key message instead of a failed request.
CRM now sits with Outreach and Pipeline. Open a company for its people, notes, next action, and the timeline from outreach and calls. A deal that has a company name shows up on that company. Deals still live on the pipeline; the company record is where the people and follow-through live.
On a deal, Generate builds the buyer page and opens it. If a page is already active, Open is on that row so you can get back to it without guessing whether the run worked.
Follow-up and first-email drafts read the ICP, offer, and approved proof you already logged. You can edit the draft, then confirm. Discovery questions for the open deal work the same way. Export context downloads a markdown file for a skill you already use, without client names, emails, or notes.
Nested fields from the pack land in the personal playbook. An acquisition path you already chose stays. Uploading a pack no longer keeps only the top-level text.
First-hire revenue, content payback, and the paid ads test budget now match each other and 2025-2026 sources. Seven diagrams in chapters 4, 5, 18, 19, 20 and 21 render in Spanish and Portuguese. Two swapped figure numbers in chapter 10 are fixed.
The handoff page now includes roleplay results, recent coaching, the latest analyzed call, email sequences, and the next step you wrote on a deal, alongside positioning and pipeline. Reply rate under 50% displays correctly. You can create a 14-day read-only link so someone else can read the pack. Revoke closes it. The link does not create a login.
Dark mode had one look: very dark navy with a single blue accent. A palette button next to the light/dark toggle now offers eight themes. Light and Paper for daytime; Midnight, Slate, Dracula, Nord, Solarized, and Forest for dark. Slate is a softer charcoal if Midnight feels too dark. Light and dark each remember their own choice, so the toggle still flips between your two favorites.
The dashboard Practice card read an old field that roleplay sessions never write, so it stayed empty no matter how many buyer calls you ran. It now reads your real roleplay results: average score out of 10, session count, a score bar per DISC buyer type, and a link to practice the type you score lowest on.
Action items pulled from the advisor or a roleplay often had titles longer than one line, and the card clipped them. Titles now wrap to their full length. Enter still saves the title.
Dark mode was low contrast in places, some hover states got lighter instead of darker, and several screens used emoji as icons. Colors were retuned for both themes, headings use a dedicated display font, and every Playbook artifact, outreach channel, and Vault section now has its own colored icon. Course pages mark completed lessons with a check and show how many you have finished. Action items are grouped into colored To do, Doing, and Done lanes with priority colors. Outreach and pipeline cards with no data now link straight to logging your first touch or adding your first deal.
GTM OS lists 502 Portuguese lessons and had 438. Forty of the missing files are now live (478 of 502), in the AI-acquisition courses: AI Acquisition Strategy, Email Deliverability, AI Lead Research, AI Outreach Automation, Autonomous SDR, and Custom AI Sales Agents. They are Brazilian Portuguese. Privacy examples name LGPD for a Brazilian company's obligations, not GDPR alone. This batch is how we are proving the new server, not a sign that server is finished. Twenty-four files are still queued.
A curriculum check was failing because 64 Portuguese lessons did not exist. Fill-in of those files started on the box we are bringing up, as a supervised test of local inference, not as a finished pipeline. Each file has to match the English widgets and pass the compile check from September 7, so a bad content pass cannot crash the reader the way an earlier translation batch did. The first files that passed are in the September 10 notes.
Course 1 mounts an ICP workshop on every lesson. Until this release that state lived only in the widget, plus one ArtifactExercise on the last lesson. Completing a step now writes the matching Playbook fields (ICP document and Early Customer Profile). Completed steps already in the widget backfill on next load. Field labels and placeholders are localized EN/ES/PT; placeholders are ops/freight-shaped, not English SEO-agency copy.
Substitution only matched English tokens ([industry], [buyer role], [pain point]). Spanish and Portuguese copy uses [industria], [rol del comprador], [punto de dolor], so the widget stayed on "complete the questionnaire" after onboarding. Industry values such as ai, saas, and agency also failed catalog lookup. Those tokens now substitute in the lesson language, and those industry ids resolve to a catalog profile.
v1.1 made the mic talk back. The remaining bugs: the mic still opened a typed session, audio could cut off mid-sentence, the buyer voice did not match the DISC portrait, and some browsers blocked playback. Mic now starts the Realtime call, the buyer is on screen, voice follows DISC type, and playback is unlocked in the same click that starts recording.
Saving progress used a dotted path that overwrote the previous course's completed lessons. Starting Course 1 cleared Course 0 on the dashboard. Completed-lesson counts used course keys instead of lesson ids, so twelve finished lessons still registered as under three. An error boundary on one lesson page stayed mounted after you left that URL. Dotted updates now merge. Counts sum lesson ids. The error boundary resets on pathname change. Remaining lessons that crashed the reader were repaired.
Hunter enrichment dropped LinkedIn URLs on the pipeline record, and a Brevo send could go out with no confirm step. Hunter now writes the LinkedIn URL. A Brevo send waits for confirmation before it goes out.
Lesson checklists, coach notes, and templates already posted to the server. The save endpoint rejected arrays and template payloads, and failed requests were swallowed, so the work stayed in that browser. Those payloads now save. A second machine, or a later session, loads the same work.
Typed MiniRoleplay and spoken VoicePractice stopped at the widget. Practice this live now opens /roleplay with the same buyer line, including the Spanish and Portuguese drills.
VoicePractice scored your spoken answer against expectedResponse strings that still contained [brackets], so a real spoken line could not pass. Scoring now strips those tokens and compares the spoken wording.
The /workshop player marked Finish as complete without writing the draft. Finish now POSTs the matching Playbook fields (ICP, positioning, acquisition path, discovery questions). Empty drafts error instead of claiming a save.
The AI buyer roleplay's microphone previously only transcribed what you said, it never spoke a reply out loud unless Voice Mode had separately been switched on. Using the mic now turns Voice Mode on automatically, and audio playback is unlocked in the same click that starts recording so browsers (Safari and iOS in particular) don't silently block the reply.
The "turn this into an artifact" and "build a sales asset" panels used to sit permanently expanded above the message thread, crowding the screen and leaving almost no room for the conversation itself on mobile. Both are now collapsed dropdowns, and on roleplay they stay hidden entirely until a session is actually scored.
A batch of translated GTM OS lessons had broken formatting left over from the original translation pass, enough to crash the lesson page instead of rendering. Diagnosed every failure pattern, fixed all of them, and verified each one compiles cleanly before shipping. 67 lessons repaired this round; see "What's next" below for the remainder.
Work that landed on GTM OS and 60-Day Founder in the same pass.
Founder and Small Team GTM and 60-Day Founder carried claims that did not hold up: case studies and quotes nobody could trace, statistics their cited pages do not contain, and EU AI Act dates that have since moved. Every chapter of both books was checked claim by claim, in English, Spanish, and Portuguese. Claims we could not trace are gone or reworded, composite examples are labeled as composites, and each epigraph names where it was said. The online readers carry the checked text.
Some figures printed things their chapters do not say: timelines the text does not use, claims it had dropped, typos, repeated or missing labels. Fifteen GTM figures and nine 60-Day Founder figures are now drawn with every label taken from the chapter. 60-Day Founder's are drawn in each language, and its Spanish and Portuguese readers, including the 46 lessons that embed book figures, now see those instead of the English images. GTM's Spanish and Portuguese editions still show English figures.
The book PDFs sold on this site still held the June files. Everyone who bought either PDF now has the checked edition in English, Spanish, and Portuguese, with no action needed, and each quarterly update reaches past buyers the same way. New purchases are $29.95.
Automated checks for GTM OS and 60-Day Founder had been down for 89 days. We are running supervised builds on the new box, not handing the fleet to it yet. Those builds enforce the September 7 compile check: a lesson that crashes the reader should never reach you. Unattended CI on that server is still ahead.
Lesson repairs and missing translations were bottlenecked on hosted APIs, and automated checks had been down for months, so a broken lesson could still reach you. A dedicated server is coming up for native builds, supervised test runs, and local inference for curriculum work. It is not finished. We are proving it on Portuguese GTM lessons and on supervised builds before treating it as the default path. If it holds: holes in the catalog close without pausing the rest of the product, a crashing lesson is caught before deploy, and the coach you talk to in the app stays on the hosted models.
A lesson that crashed the reader could still ship if it compiled on one machine and not in CI. An MDX compile check now runs for GTM OS and 60-Day Founder before deploy, and rejects that class of file.
Active beta testers can now be granted full Pro access on GTM OS and 60-Day Founder for a fixed window, no card on file and no payment prompt when the trial clock would normally run out. Access reverts automatically at the end of the window; no standing exception to bill around.
The build academy: Pitch Day, lesson recovery, companion-book downloads.
Land on the day you are in, the current mission, the gates, and the investor memo you can share. Academy, workshops, and the book stay one click away. Ask the library a question across your lessons, the book, and your artifacts. A scored Pitch Day or interview becomes evidence the next mission cites. Download the founder pack from the home and import it in GTM OS. The academy dashboard is no longer the first screen.
The PDF and EPUB downloads in the academy were the September 4 build, from before the source check. They are now the checked edition in all three languages, with the redrawn figures, and each EPUB is about a quarter of its old size.
60-Day Founder Pitch Day was a text form. It is now a live voice session with Dana Reyes. Companion-book binaries were missing in production, so downloads returned 503. The files are on the download path.
An error page stayed mounted after you left that URL. The error boundary now resets on pathname change. Fundraising & VC lessons prepare the pitch and now link into Pitch Day, the live voice session with Dana Reyes.
Not commitments with dates, honest signal about where the next engineering effort is likely to go.
GTM OS
Portuguese GTM is 478 of 502 lessons. Twenty-four files are still queued while we keep testing local inference. Portuguese interactive exercises (checklists, templates, spoken drills) still lag the English and Spanish files; that parity is part of the same content pass.
Checklists, coach notes, and templates now persist on the server. A remaining set of in-lesson widgets never POST, so that work stays on this device. Next is wiring those the same way.
Both products
This site's English pages carry the current warm-2026 design and current two-product pricing; the Spanish and Portuguese sibling pages are still on the older template. Bringing them current is next in line.
Backups today are frequent full snapshots (see the status page). Point-in-time recovery would tighten how much work could ever be lost, without touching how the live databases run today.
The on-page SEO groundwork (structured data, sitemaps, AI-crawler access) is already solid. What's missing is authority: backlinks, directory listings, and time for a young domain to earn Google's trust.
Check live platform status and uptime, or start a free trial and see the latest release in action.
Found a bug or have a request? mike@soloframehub.com