Michael is an exceptionally effective, clear-thinking product and platform engineer. He blends practicality with taste—fast to ship, careful with systems, and relentlessly user-focused. He leads with clarity, kindness, and high standards—teams move faster and feel calmer. Skills & Competencies: - Customer analytics: Pub/Sub, BigQuery, Metabase; Tinybird; Looker/Tableau - AI/ML: custom models, CUDA, SageMaker, RAG, embeddings & vector DBs - Platform/DevOps: multi-region (US/AU/UK/EU, GDPR DE), SRE, eventing - Product engineering: SaaS, pricing & packaging, experimentation (A/B) - Integrations: marketplaces, webhook/event architectures, Supabase portals - Growth engineering: scaled from early traction to tens of millions in ARR - Domains: structural engineering workflows (calcs.com), martech, CV/ads, data platforms Full posts: URL: /blog/best-of-breed-vendors Title: Best-of-breed vendor stack Date: 2025-09-15T00:00:00.000Z --- title: Best-of-breed vendor stack description: Opinionated picks for startup tooling with quick links. date: 2025-09-15 --- Here's a current list of vendors I think are doing well. ## Startups who are accelerating **support** -- [@plainsupport](https://x.com/plainsupport) (sync and push comms to edges - teams/slack/discourse - is next level good) **docs** -- [@mintlify](https://x.com/mintlify) (Suddenly made all softwares documentation 10x better) **customer analytics** -- [@tinybirdco](https://x.com/tinybirdco) (IaC for data work, its fast with an excellentlocal experience.) **auth + subscriptions** -- [@ClerkDev](https://x.com/ClerkDev) **Analytics & Product Insights, gating experiments** -- [@statsig](https://x.com/statsig) (runner up posthog, but statsig is much more precise on hardcore statistics) **secrets** -- [@doppler](https://x.com/doppler) (excellent syncing experience) **mail etc.** -- [@resend](https://x.com/resend) (local email experience) **incidents, ops** -- [@rootlyhq](https://x.com/rootlyhq) (slack driven workflows are top tier) **ai agents / code** -- [@cursor_ai](https://x.com/cursor_ai) (still winning) **ticket/agent mgmt + triage etc** -- [@linear](https://x.com/linear) (elite quality) **hosting/deploys** -- [@Railway](https://x.com/Railway) / [@vercel](https://x.com/vercel) (out-of-your-face infra to stay focussed on customers & product) **integrations marketplace** -- [@useparagon](https://x.com/useparagon) (iac for integrations, event driven and solid management. even ootb workflow builder canvas) ## Incumbents (who cant seem to be beaten) **search** -- Algolia **dataw** -- BigQuery (gsheets native integration can't be beaten) **payments** -- Stripe (too big to beat) **internal docs** -- [@NotionHQ](https://x.com/NotionHQ) (sort of incumbent, but cool) **all ops** -- [@datadoghq](https://x.com/datadoghq) (so feature dense it can't be beaten, esp for speed of getting started) **code / cicd / automations** -- [@github](https://x.com/github) (native gha mean nothing else needs to be used) --- URL: /blog/best-llm-ai-ecosystem-stack Title: Best LLM/AI ecosystem stack Date: 2025-09-14T00:00:00.000Z --- title: Best LLM/AI ecosystem stack description: A living guide to building with LLMs—tools, patterns, and tradeoffs. date: 2025-09-14 --- The AI tooling & LLM ecosystem moves quickly. As always see x.com/the_mewc for latest commentary. ## General - Cursor with MCP + background agents for long-running tasks - Cursor CLI and claudecode cli are good contenders for CI, oai are catching up - Replit, lovable, v0 and the like are early toys but aren't ready for serious - builder.io is promising for marketing sites ## Tooling - Firecrawl for structured web extraction and crawl orchestration - AI SDK / OpenAI / OpenRouter clients with retries, timeouts, backoff - Unify observability: request/response traces, redaction, prompt versioning ## Retrieval & data pipelines - ETL: Postgres/ClickHouse as the ground truth; CDC for freshness - Embedding stores with predictable chunking and TTLs; hybrid search where needed - Permissions in retrieval layer, not in prompts ## Orchestration & agents - Task graphs > monolithic agents; isolate tools; sandbox risky actions - Background workers with idempotency keys; retries with dead-letter queues - Human-in-the-loop for risky or user-facing actions ## Testing, evals & observability - Golden sets; regression gates in CI; online vs offline evals split - Diff prompts and models; measure cost, error rate, and outcome quality - Capture traces; scrub PII; keep reproduction kits for incidents ## Deployment & ops - Multi-region routing and failover; rate limits and circuit breakers - Secrets via KMS; key rotation; request signing and audit trails - Model routing by use case and budget; fallbacks for degraded modes ## Safety, governance & compliance - Content filtering; jailbreak tests; red-teaming as a practice - Tenant isolation; retention windows; GDPR/region pinning - Provenance for prompts and retrieved data --- I’ll keep this post fresh with concrete vendor picks and example configs. > [!note] Snapshot vs narrative > The homepage section is a quick reference. This post carries the fuller reasoning and tradeoffs. > [!tip] Defaults > Start simple. Add complexity only when the bottleneck is proven by traces and cost reports. > [!warning] Risky actions > Sandbox tools that can change state, and require human review where appropriate. ### Example code block ```ts type Vendor = "OpenAI" | "OpenRouter" | "Anthropic"; const chooseVendor = (useCase: string): Vendor => { if (useCase === "evaluation") return "OpenAI"; if (useCase === "cost-sensitive") return "OpenRouter"; return "Anthropic"; }; ``` Line breaks demo: First line. Second line after a single newline (should break due to remark-breaks). Paragraph demo: This is a new paragraph because there is a blank line above. --- URL: /blog/intro Title: async home Date: 2025-09-14T00:00:00.000Z --- title: "async home" description: "operate your home as you do your APIs - async supply" date: "2025-09-14" --- # The Async Pantry Life: A Simple Hack to Skip Grocery Drama in Australia Imagine never having to drag yourself to the supermarket again. No more crowded aisles at Coles or Woolies, no more impulse end-cap buys. That’s the async pantry life: you set up recurring deliveries once, and your staples just keep arriving. ### What this is - **Non‑perishables on autopilot**: canned goods, coffee, rice, toothpaste, laundry, cleaning. Use Amazon Australia’s Subscribe & Save or equivalent. - **Fresh on a rhythm**: weekly market box for fruit/veg, plus a recurring butcher/freezer drop for protein. - **One-time setup, low-touch tweaks**: skip, pause, or push deliveries when stock piles up. > [!tip] Start small > Put 3–5 items on a schedule first (e.g., coffee, toilet paper, dish soap). Adjust cadence after the first month. ### Why it works - **Less context switching**: remove a recurring errand and the planning overhead that comes with it. - **Fewer impulse buys**: you avoid in‑store traps and the “just in case” mindset. - **Always‑on inventory**: your base pantry is rarely empty, so weeknights are calmer. ### 3‑step setup (AU examples) 1) **Non‑perishables (monthly/bi‑monthly)** Amazon Subscribe & Save for coffee, grains, tins, soaps, paper goods, batteries. Skip/adjust in two clicks. 2) **Fruit & veg (weekly/fortnightly)** Farmers’ box or local co‑op for seasonal produce. Top up ad‑hoc if needed. 3) **Protein (4–8 weeks)** Butcher/freezer delivery for chicken, beef, or mixed packs. Keep a simple freezer inventory note; adjust cadence when it looks full. ### My baseline template - Coffee beans — every 4 weeks - Rice/pasta — every 8–12 weeks - Paper towels & toilet paper — every 8–12 weeks - Dish tabs & laundry — every 8 weeks - Pantry tins (tomatoes/beans/coconut milk) — every 6–8 weeks - Veg box — weekly - Meat box — every 6 weeks > [!note] How I tweak > If something stacks up, I pause the next delivery or push it back a cycle. Took ~60 seconds last month when tins piled up. ### Time and money back - Save **60–90 minutes/week** not doing a shop + list. - Monthly review is **< 5 minutes** to skip/adjust. - **Lower grocery bill variance** from fewer “random add‑ons.” ### Control panel (quick operations) - Skip next delivery when stock > 1 month. - Bring forward by a week if you’re hosting. - Keep one “overflow” shelf/tub for surplus; if it fills, pause that item. ### Optional automations (nice to have) - Calendar nudge on the first Sunday monthly: “Pantry review (5 min).” - Bank/budget rule to tag subscriptions as “Pantry” for visibility. - Robot vacuum while you’re out; laundry pickup for busy weeks. ### FAQ - **What if deliveries pile up?** Pause/skip in the app; reduce cadence next cycle. - **Apartment secure delivery?** Use parcel lockers, concierge, or specify delivery notes; non‑perishables tolerate delays. - **Prices shifting?** Swap brands or cadence; Subscribe & Save often includes discounts. - **Dietary specifics?** Lock in your staples and buy specialty fresh items ad‑hoc. - **Not in Australia?** Use any local grocer with subscriptions + a farm box + a freezer pack. ### TL;DR Put staples on a recurring schedule, review once a month, and get hours of life back. Less drama, fewer impulse buys, a calmer kitchen. --- URL: /blog/now Title: Now Date: 2025-09-14T00:00:00.000Z --- title: "Now" description: "What I'm focused on now." date: "2025-09-14" --- # Now This is a stub MDX page. - Path: `/blog/now` - Useful for a /now page content pattern --- URL: /blog/til Title: Today I Learned Date: 2025-09-14T00:00:00.000Z --- title: "Today I Learned" description: "Small lessons captured." date: "2025-09-14" --- ## TIL This is a stub MDX page to test nested index routing. - Path: `/blog/til` - Directory-based route with `index.mdx` --- Summary: /llms.txt