Open to new problems
Michael Hoefert HeadshotMichael Hoefert Biking

PRODUCT MANAGER · MEDIOCRE CYCLIST ·
BUILDING WITH AI

Michael Hoefert

I'm a product manager that loves to spend time understanding my customers (note: the best book I've read on product is User Story Mapping by Jeff Patton) and building products that customers actually like to use.

Outside of my day job I get obsessed playing around with new technologies and building things. My current obsession is building out my Second Brain in Obsidian using Andrej Karpathy's model.

Scroll for selected work
7-agent Adversarial Pipeline [Part 1]
7-agent Adversarial Pipeline [Part 1]
7-agent Adversarial Pipeline [Part 2]
7-agent Adversarial Pipeline [Part 2]
Compounding Memory Architecture
Compounding Memory Architecture
Google Stitch Design Artifacts
Google Stitch Design Artifacts
Joey Design Theme & Design.md Artifact
Joey Design Theme & Design.md Artifact
Information Architecture Planning
Information Architecture Planning
01 / 06
01AGENTIC SYSTEMS · CAREER VAULT

Joey

AI Career Engine Coach

In today's job market, you need a custom-tailored resume just to even have a chance. I kept hearing the same pain from so many friends that relying on AI chatbots, or even something like Claude Cowork, just doesn't cut it. They don't learn your language, they don't get better over time, and they constantly hallucinate. Friends were spending more time babysitting the AI and editing its lies than if they had just written it themselves.

To fix this, I built Joey. A self-learning AI career engine that orchestrates a 7-agent adversarial LangGraph pipeline to generate hyper-tailored resumes without hallucinations, powered by a compounding memory system that adapts to your unique writing style over time.

Instead of relying on a single AI prompt, I have challenger and defender agents literally debating each other to fact-check claims and kill hallucinations before you ever see the output. I also integrated LangSmith so we can actually understand and measure agent performance. To keep the AI from hallucinating logic, I built a Shared Tool Registry—the agents are bound to deterministic Python scripts they can call to scrape job descriptions with Firecrawl, execute exact KNN vector searches against a Postgres database, and securely decrypt PII during document export.

But the coolest part is the Compounding Memory System. In the background, Joey's memory agents analyze your edits and feedback to build specific writing 'skills' tailored to different job titles, company sizes, and industries (e.g., a Staff PM at a Growth-Stage FinTech). When you apply for a job that fits those criteria, the system's writing agents automatically retrieve and use those exact skills via a HyDE (Hypothetical Document Embeddings) RAG model. These skills are constantly refined every time you provide feedback or make an edit, meaning Joey learns your unique voice over time. The product uses some of the best agentic memory practices so that you aren't constantly context seeding. Coupled with a 'Labor Illusion' UI that shows you the agents' thought processes in real-time, it's an engine built from the ground up to actually learn your career narrative and never lie.

Multi-Agent Orchestration

7-Agent Adversarial PipelineLangGraph Debate Engine
Agentic ObservabilityLangSmith Reasoning Measurement

Compounding Memory System

HyDE RAG RetrievalContextual Search via pgvector
Dynamic Baseline ProfilesBackground Learning & Refinement

The User Experience

Labor Illusion UISupabase Realtime Transparency
Shared Tool RegistryDeterministic Script Calling
winning sales techniques
winning sales techniques
coaching module
coaching module
maverick detection analysis
maverick detection analysis
playbook evolution engine
playbook evolution engine
team performance
team performance
detailed call report
detailed call report
user management portal
user management portal
transcript grading workflow
transcript grading workflow
playbook rubric generator workflow
playbook rubric generator workflow
01 / 09
02SALES ENABLEMENT · 0 to 1

Playi

B2B Adaptive Sales Playbook

A self-evolving sales coaching platform built with Next.js and Supabase that grades transcripts against custom rubrics using a multi-agent pipeline, flags rule-breaking wins, and programmatically generates schema-validated playbook evolutions.

Built over 7+ months as a solo founder project, the real complexity lives in the closed feedback loop the platform creates. Every graded call feeds a "maverick" detection layer that surfaces wins where reps broke the playbook and still closed deals. Each maverick is analyzed by complex context-seeking LLM APIs to distinguish replicable techniques from deal-specific context, then verified by the manager. The manager verification stage is crucial; it provides a human-in-the-loop verification gate but also allows managers to add commentary on why or why they are not verifying a call. The manager commentary is then stored and used to power the self-learning maverick detection engine so that over time, the detections are more aligned with what the manager wants. Once enough verified mavericks accumulate, a correlation engine cross-references bypass frequency against historical coaching session records, and when a criterion has been coached repeatedly but top performers keep skipping it in winning calls, the system classifies it as terminally flawed and flags it for removal in the next evolution proposal. That proposal renders as a side-by-side rubric comparison with per-change rationale and evidence strength, with the pre-computed frequency analysis injected as structured context. The result is a methodology that updates itself from the team's own winning patterns, and a system that can tell a manager not just that their reps aren't following the script, but that the script is wrong.

Core Platform

Next.js 14App Router & Vercel
Upstash Redis3-Tier Rate Limiting

Data & Security

SupabasePostgres / RLS / Auth
ZodType-Safe Schema Val
MammothDOCX Text Extraction

Agentic AI & Utils

n8n WorkflowsAI Grading Pipelines
ResendTransactional Emails
relationship graph overview
relationship graph overview
HTML Dashboard - Frontier Models
HTML Dashboard - Frontier Models
HTML Dashboard - Frontier Model Product Stack
HTML Dashboard - Frontier Model Product Stack
HTML Dashboard - AI Technology Layers
HTML Dashboard - AI Technology Layers
Obsidian Artifact Inventory
Obsidian Artifact Inventory
Obsidian Second Brain Index
Obsidian Second Brain Index
01 / 06
03KNOWLEDGE GRAPHS — MARKDOWN & AGENTS

AI Intelligence Second Brain

Compounding LLM Wiki

An automated, agent-assisted, compounding knowledge engine built on Obsidian and LLMs that ingests raw market signals, filters them through a multi-stage classification pipeline, and maintains a clean, queryable database of the rapidly shifting artificial intelligence landscape.

01 / Ingest

Automated markdown compiling of raw clips, podcasts, & RSS

02 / Synthesis

Agentic semantic indexing that classifies frontier companies, tech stacks, & startup trackers

03 / Presentation

Self-contained HTML dashboard rendering live Dataview queries

relationship graph overview
relationship graph overview
multi-agent resume workflow
multi-agent resume workflow
multi-agent resume workflow
multi-agent resume workflow
compounding memory and self-improvement
compounding memory and self-improvement
01 / 04
04AGENTIC SYSTEMS · MULTI-AGENT SYNTHESIS

Career Expansion Second Brain

Self-Learning Application Compiler & Vault

A compounding, self-learning application engine that orchestrates a 6-agent resume pipeline and a 5-agent Q&A essay compiler. This DIY Obsidian and Codex system inspired the Joey build. This DIY system ingests target job descriptions to map core competencies, runs a dynamic advocate-critic positioning loop that pre-vets all resume and Q&A drafts against a corporate jargon veto list, and runs a cold factual audit before exporting perfectly styled, single-page print assets.

Core Compilers

6-Agent Resume CompilerAdversarial Debate Engine
5-Agent Essay WriterTailored Narrative Compiler

Memory & Truth

Compounding MemoryAlways-Improving Run-Logs
Factual Auditor0% Fabrication Risk Audit

Platform & Format

Obsidian WorkspaceIndexed Relational Vault
Visual CSS EngineDesign-Spec Artifact Export
Cycling Coach Dashboard
Cycling Coach Dashboard
Cycling Coach Dashboard
Cycling Coach Dashboard
Cycling Coach Dashboard
Cycling Coach Dashboard
Cycling Coach Dashboard
Cycling Coach Dashboard
individual ride analysis
individual ride analysis
HR to Power decoupling analysis
HR to Power decoupling analysis
01 / 06
0505 — PERSONAL AI · ENDURANCE PERFORMANCE

Antigravity Cycling Coach

Live Dashboards & Professional AI Coaching

An elite-level training intelligence engine built on Next.js that processes raw sensor streams (power, heart rate, cadence) directly from the Strava API. The system performs advanced mathematical modeling, including cardiac drift (aerobic decoupling), Normalized Power (NP), and a dynamic CTL/ATL fatigue decay model, to compute performance metrics far beyond Strava's out-of-the-box analytics.

Using daily scheduled workflows (GitHub Actions scripts and Antigravity agentic scheduled tasks), an autonomous Antigravity AI Agent processes these metrics along with my subjective training feedback in Airtable to self-correct, adapt training plans, and write morning coaching digests.

Built as a fully custom, self-improving training engine, the real complexity lives in the automated closed feedback loop. Raw data is server-side rendered directly from Airtable, ensuring the dashboard is always hydrated with live metrics. Every activity logged on Strava triggers a scheduled GitHub Actions workflow that streams raw sensor data into our Python math engine. Here, we run decay calculations to track CTL (Fitness), ATL (Fatigue), and TSB (Form), along with cardiac drift (Pa:HR) metrics to flag aerobic decoupling. Every morning, an autonomous Antigravity AI Agent runs an analysis on the updated metrics, cross-references my subjective recovery notes and IT-band pain logs in Airtable, and writes back detailed coaching narratives. These narratives actively shape future workout intensities, closing the loop from raw biometrics to physical adaptations.

Core Platform

Next.js 16SSR APP ROUTER & VERCEL
Airtable APILIVE DATA REVALIDATION

Data & Biometrics

Strava APIRAW STREAM INGESTION
Python EngineNP, TSS, CARDIAC DRIFT, & CTL/ATL/TSB

Agentic AI & Crons

Antigravity SDKMORNING COACHING NARRATIVES
GitHub ActionsDAILY/WEEKLY SCHEDULED WORKFLOWS

YTD ACTIVITY LOG

112 rides + 56 liftsRAW STRAVA FILES CONSUMED VIA PYTHON API PIPELINE

DATA PIPELINE

280+ hoursSERVER-SIDE RETRIEVED FROM LIVE AIRTABLE INGESTION ENGINE

TRAINING TARGET

350 wattsFTP TARGET. 8 COGGAN POWER ZONES. ZERO GUESSWORK.
Updated live with Strava & Airtable: June 4
my github commit metrics snapshot
my github commit metrics snapshot
my active repos
my active repos
github actions automated crons
github actions automated crons
01 / 03
06CI/CD & AUTOMATION · DEVELOPER PM

Developer-PM GitHub Engine

CI/CD Pipelines & Deterministic API Ingestion

I believe the most effective way to lead product is to build. By rolling up my sleeves to write code and experiment with technologies, I gain the technical context needed to engage far more effectively with engineering teams and clearly translate complex system capabilities to our customers. To keep my technical skills sharp I have built a full stack product and also automated my own daily workflows (some of the most fun I've had!) through a production-grade infrastructure on GitHub. Using GitHub I can manage all my deployments to production for my full stack sales product and my personal website, automate personal biometrics with Strava API scripts, and handle pipeline crons, acting as a personal proving ground for building my technical skills.

The core of this setup is designed around architectural reliability and efficiency. There is so much I want to speak about here with my GitHub but one of the most fascinating learnings I had recently was while exploring agentic systems, I found that relying on Model Context Protocol (MCP) servers and LLMs to query live third-party databases was highly token-inefficient and prone to latency or formatting issues. To solve this, I designed a pipeline of scheduled Python scripts that fetch data deterministically via direct APIs, storing clean datasets before any AI models are invoked. Every morning, three separate GitHub Actions workflows spin up: two prepare daily intelligence briefings for my day, and one runs a weekly analysis to structure my Sunday reviews (I also built 10+ other scripts for other data ingestion tasks like syncing my complete tasks from my task tracker app - I won't get into them all here). By building this deterministic data layer, I can leverage LLMs and custom knowledge skills on structured, predictable outputs, showing firsthand how a PM's architecture choices dictate both product utility and operational margins.

01 / Contributions

278 commits across all development repositories in the last year

02 / Repositories

4 active repos: Playi product, website portfolio, Life OS, & second brains

03 / Actions

3 scheduled crons (2 daily morning scripts + 1 weekly review tracker)

Updated via GitHub API: June 9