Archive

Every published article

73 articles, newest first. Search by title, topic or keyword.

  1. Product Design3 min read

    Snake in ChatGPT: A Little Nokia Nostalgia

    Snake appears in ChatGPT’s image-generation waiting screen. A look at the little Easter egg, its Nokia roots, and the charm of a better pause.

  2. Creative Technology5 min read

    From a Maya Assignment to a World Worth Revisiting

    Revisiting my Maya3D university project: a lakeside cabin, a yellow seaplane, a missing animation, and a new playable chapter rebuilt in the browser.

  3. AI Engineering5 min read

    Strava to ChatGPT: a useful workflow without a connector

    Bring Strava data into ChatGPT with an original FIT export. A practical workflow with Kermit, clearer swim analysis and complementary device recordings.

  4. Product Engineering9 min read

    Your product probably doesn't need a chatbot

    A practical decision process for AI product features: user uncertainty, authoritative calculations, templates, privacy, and the smallest useful interaction.

  5. AI Engineering8 min read

    The Last Mile of AI Automation Is Where the Work Actually Happens

    Finding a file is only part of an AI workflow. A practical look at version selection, recipient access, attachments, and honest handoffs.

  6. Cloud Architecture9 min read

    The Code Change Was Tiny. The Deployment Was the Real Work.

    A tiny transactional-email change exposes sender discovery, SDK compatibility, release triggers, artifact paths, and the evidence needed for deployment.

  7. AI Engineering9 min read

    If an AI Can Clean It Up, It Needs an Undo Button

    A practical design for AI-assisted inbox cleanup: narrow scope, conservative classification, recoverable moves, an action manifest, and verified restoration.

  8. AI Engineering9 min read

    No data isn't zero

    Design monitoring and AI summaries that distinguish measured zero from missing data, with provenance, freshness, derived metrics, and explicit alerts.

  9. Leadership4 min read

    Meetings on Monday Are Stupid. Here's Why.

    The recurring Monday-morning status meeting asks people to report before they've had a chance to understand. There's a better way to start the week.

  10. AI Engineering12 min read

    Ask Questions About Videos with Jockey in ChatGPT

    Try TwelveLabs Jockey in ChatGPT: ask questions about footage, review proposed highlights, and check the answers against the video. No code required.

  11. AI Engineering35 min read

    Find Video Moments with TwelveLabs Managed Search

    Build a TwelveLabs video AI repository step by step: first commit, local clips, an editable media manifest, and resume-safe managed Marengo search.

  12. AI Engineering24 min read

    Summarize Videos and Identify Scenes with Pegasus

    Use TwelveLabs Pegasus 1.6 for video summaries and timed scenes. Check stream endings, inspect saved output, and verify descriptions against the footage.

  13. AI Engineering18 min read

    Search Video Moments with Marengo and Ask Jockey

    Build local video retrieval with Marengo 3.5 embeddings, then explore Jockey's API separately. Distinguish similarity scores from checked source evidence.

  14. Cloud Architecture35 min read

    Search and Summarize Videos with TwelveLabs on Bedrock

    Compare TwelveLabs on Amazon Bedrock with hosted search. Understand who owns retrieval, then try one bounded Marengo embedding and Pegasus analysis experiment.

  15. Product Engineering11 min read

    Build a Local Review Screen for Video AI Results

    Build a local video AI website: a player plus tabs for the summaries, scene lists, search rankings and Jockey answers you saved in chapters 2–5. No new API calls; synthetic demo included.

  16. Data Engineering8 min read

    What Is Apache Spark and How Does It Work?

    Learn Apache Spark foundations: drivers, executors, partitions, lazy DataFrames, shuffles, and when a simpler tool is enough.

  17. Data Engineering9 min read

    Databricks and Spark Explained for AWS Engineers

    Use familiar AWS services to understand Spark, Delta Lake, Unity Catalog, and Databricks, then follow an orders pipeline through both architectures.

  18. AI Engineering8 min read

    What Happened When Two AI Assistants Discussed Formula 1

    Two independently operated AI assistants held a ten-minute, podcast-style Slack conversation about Formula 1. The corrections were the most interesting part.

  19. Leadership8 min read

    Build the Team Before the Plan

    A practical way to build trust, understand individual strengths, and agree how an engineering team will work before delivery pressure exposes the gaps.

  20. Leadership8 min read

    Workstream Leads Need the Ball

    How to turn workstream leads into a leadership team with real decision rights, resources, and a clear route for decisions they cannot make alone.

  21. Leadership8 min read

    The Dirty Laundry Meeting

    A practical weekly blocker review that turns early concerns into owned actions without creating a culture of blame.

  22. Leadership8 min read

    Stay Close Without Taking the Ball

    How technical leaders can stay involved, coach judgment, and support decisive action while keeping decisions with the people doing the work.

  23. Leadership7 min read

    Read the Game Before the Scoreboard

    How engineering leaders can notice emerging friction, communicate uncertainty early, and give the people affected time to respond.

  24. Leadership8 min read

    Hackathons Build Teammates

    A practical approach to hackathons that helps people across engineering teams learn, collaborate, and keep working together after the demos.

  25. AI Engineering9 min read

    How Cursor Tested My App in the iOS Simulator

    How Cursor used Maestro and the iOS simulator to test my React Native app, find UI and accessibility bugs, and verify fixes beyond passing unit tests.

  26. Data Engineering9 min read

    PySpark Mental Model: Lazy DataFrames for Media Analytics

    Learn the PySpark mental model with a synthetic streaming-media dataset: DataFrames, lazy transformations, actions, and reading a query plan.

  27. Data Engineering9 min read

    PySpark Ingestion: Explicit Schemas and a Delta Bronze Table

    Ingest synthetic playback JSON with explicit PySpark schemas, capture malformed records, and write an append-only Delta bronze table.

  28. Data Engineering10 min read

    PySpark Window Functions: Viewer Sessions and Completion Rates

    Use PySpark window functions to sessionize synthetic viewer events, join a title catalog, and compute watch time and completion rates.

  29. Data Engineering9 min read

    Spark Performance: Shuffles, Partitions, and Broadcast Joins

    A practical Spark performance guide using synthetic media data: shuffles, partition sizing, skew, broadcast joins, and adaptive query execution.

  30. Data Engineering10 min read

    Spark Structured Streaming: Watermarks and Concurrent Viewers

    Build Spark Structured Streaming windows and watermarks on synthetic playback events, with checkpoints and a per-minute heartbeat activity proxy.

  31. Data Engineering9 min read

    Testing PySpark Pipelines: Data Quality Checks That Catch Bugs

    Test PySpark transformations with small synthetic DataFrames, assertDataFrameEqual, and explicit data quality expectations for media events.

  32. Data Engineering9 min read

    Databricks Genie Code for PySpark: A Review-First Workflow

    A practical workflow for Databricks Genie Code with PySpark: clear prompts, Unity Catalog context, reviewing generated code, and verifying results.

  33. Data Engineering10 min read

    Capstone: An End-to-End Spark Medallion Pipeline for Media Data

    Combine ingestion, sessionization, quality checks, and streaming into a bronze-silver-gold Spark pipeline on synthetic streaming-media data.

  34. AI Engineering6 min read

    Start with a Failing Chatbot

    Build a failing OpenAI chatbot lab with an executable return-policy contract, offline eval cases, and clear simulator limits.

  35. AI Engineering5 min read

    Fix Retrieval and Conversation History

    Fix chatbot retrieval and conversation history for short numeric replies, then test 30/61-day boundaries without overstating offline evals.

  36. AI Engineering7 min read

    Connect the Responses API

    Connect a local TypeScript or Python chatbot to the OpenAI Responses API with structured output, error handling, and explicit live/offline modes.

  37. AI Engineering6 min read

    Debug with Evals and Local Traces

    Debug chatbot evals with local trace provenance, report scope, case-level comparisons, and separate diagnoses for ambiguous numeric replies.

  38. AI Engineering9 min read

    Make Conversation State Explicit

    Make chatbot conversation state explicit: preserve order IDs as strings, enforce application guards, and inspect the historical before/after trace.

  39. AI Engineering7 min read

    Read Results Honestly and Extend the Lab

    Interpret chatbot eval results honestly, separate model calls from application guards, and extend the lab with held-out tests and quality checks.

  40. AI Engineering5 min read

    Meet Kermit: How I’m Using OpenAI Dots

    Meet Kermit, my OpenAI Dot: a practical guide to narrow responsibilities, voice briefings, authorized sources, ongoing work, and explicit human review.

  41. AI Engineering7 min read

    I Built an Instagram Workflow with OpenAI Dots — and Review Happens in Slack

    A practical OpenAI Dots Instagram workflow: Slack approves the exact image and caption, Windsor publishes approved media, and the archive stays private.

  42. AI Engineering11 min read

    I Connected My Backoffice to ChatGPT — But Kept the Send Button Human

    How I built a human-in-the-loop operations workflow where ChatGPT gathers evidence across Slack, GitHub, and Outlook, drafts a response, and stops before sending.

  43. Product Engineering8 min read

    Introducing mntn passport: A Mountain Passport for Hikers

    Meet mntn passport, a hiking app coming to iOS and Android that turns summits, total vertical, and friends’ nearby climbs into a personal mountain history.

  44. Practical Agent Systems9 min read

    Building a Production Agent Runtime

    How to separate stateless execution, durable state, fast and long-running paths, autonomy budgets, and the signals that actually govern scale.

  45. Practical Agent Systems8 min read

    Adding Backpressure to an Agent Tool Layer

    How queues, bounded drain rates, retry discipline, workload shaping, and admission control protect constrained dependencies.

  46. Practical Agent Systems7 min read

    Designing a Fair Scheduler for Agent Workloads

    How reserved capacity, weighted service, aging, and multi-dimensional quotas prevent low-priority work from starving.

  47. Practical Agent Systems10 min read

    Building an Agent Eval Harness From Scratch

    How to turn fixtures, trajectories, deterministic graders, calibrated judges, repeated trials, and release gates into evidence.

  48. Practical Agent Systems9 min read

    How to Draw Clear Agent Architectures, Fast

    A progressive method for drawing execution paths, ownership boundaries, durability, safety, and evaluation without diagram paralysis.

  49. Production AI Agents6 min read

    An Agent Is a System, Not a Prompt

    The useful mental model for agentic software starts with an execution loop, not a clever system message.

  50. Production AI Agents5 min read

    Tools: Where Reasoning Meets the Real World

    Tool design is not plumbing. It is one of the most important safety and product-design surfaces in an agent system.

  51. Production AI Agents8 min read

    MCP: A Shared Capability Layer for Agents

    Model Context Protocol is most useful when capabilities need to be reusable across agents, clients, and frameworks.

  52. Production AI Agents6 min read

    Context Engineering: Give the Model Less, but Better

    The best context window is not the biggest one. It is the smallest trustworthy working set needed for the next decision.

  53. Production AI Agents5 min read

    RAG vs Live Tools: Knowledge Is Not State

    Use retrieval for unstructured knowledge and live tools for current authoritative state—and know when the same source needs both.

  54. Production AI Agents5 min read

    Deterministic vs Probabilistic Orchestration

    The most important architecture decision in an agent system is deciding which parts should not be agentic at all.

  55. Production AI Agents6 min read

    Reliability: Idempotency, Retries, and Partial Failure

    Agentic systems inherit every distributed-systems failure mode—plus a probabilistic decision-maker on top.

  56. Production AI Agents6 min read

    Security: Identity, ACLs, Prompt Injection, and Blast Radius

    The model is not a trusted principal. Design as though untrusted content can influence it—and make that influence powerless.

  57. Production AI Agents4 min read

    Human Confirmation Without Confirmation Fatigue

    User approval is useful, but it is not authorization—and asking “Are you sure?” before everything is not a product strategy.

  58. Production AI Agents6 min read

    Scaling Agent Systems: Backpressure, Quotas, and Workload Isolation

    Ten thousand users is not a capacity number. Peak concurrency, latency SLOs, downstream limits, and workload mix are.

  59. Production AI Agents5 min read

    Tool Sprawl, Routers, and Specialist Agents

    When an agent has forty tools, the answer is rarely “write a better prompt and hope.” Reduce the effective action space.

  60. Production AI Agents6 min read

    Evals: The Test Harness Around a Stochastic Application

    A production agent needs more than unit tests. It needs a repeatable way to measure outcomes, trajectories, safety, cost, and regressions.

  61. Production AI Agents5 min read

    Ablation, Variance, and Adaptive Sampling

    Agent evaluation becomes much clearer once you borrow a small amount of statistical vocabulary—without turning product development into a statistics thesis.

  62. Production AI Agents6 min read

    Production Observability: From Traces to Better Agents

    The first month after launch should produce more than dashboards. It should produce a better eval suite and a sharper failure taxonomy.

  63. Production AI Agents7 min read

    The Production Agent Vocabulary Sheet

    A compact glossary for architecture discussions, design reviews, and building shared language across teams.

  64. AI Tooling11 min read

    Cursor + Lovable via MCP: The Design Handoff Workflow I Wanted

    Cursor owns the product, Lovable gets commissioned for design work, and I decide what comes back. Connecting Cursor to Lovable's MCP server turns two isolated AI tools into one workflow with a clear source of truth.

  65. IoT & Smart Home14 min read

    How I Built JARVIS for My Home: A Local Voice Command Deck on a Mac Mini

    A local-first home assistant running on a single Mac mini: wake word, speech-to-text, a small local model and text-to-speech, plus a sci-fi dashboard that speaks a factual daily briefing from my outdoor cameras. No audio or video leaves the house for inference.

  66. AI16 min read

    The Agent Is the Loop: Cursor, Kiro and MCP Without the Buzzwords

    What an AI agent actually is, stripped of buzzwords: the model, the loop, the tools and the protocol. How Cursor, Kiro and MCP each own a different layer of the same architecture — with the production concerns nobody puts on the diagram.

  67. AI9 min read

    I Built a Marketing Cockpit in ChatGPT: Customer.io, Meta Ads and Creatify Over MCP

    How I connected Customer.io, Meta Ads and Creatify to ChatGPT through MCP apps and plugins, turning three dashboards into a single marketing cockpit that can read audiences, generate video creative and launch campaigns from one conversation.

  68. Cloud Services10 min read

    Query CloudWatch Logs From Cursor: Setting Up the AWS CloudWatch MCP Server

    A practical guide to connecting Cursor to the AWS CloudWatch MCP server: the exact config, a least-privilege read-only IAM role with short-lived credentials, and example prompts for debugging production without opening the console.

  69. Product Engineering11 min read

    Introducing Gwhen: The App That Tells You the Best Time to Go Outside

    Weather apps give you data. Gwhen gives you a time. Here is why I built an app that answers “when is the best time to run, ride or walk today” with a single window instead of a forecast.

  70. IoT & Smart Home16 min read

    My Smart Home Runs on a Raspberry Pi. Matter Might Eventually Make That Less Necessary.

    A step-by-step guide to running Homebridge on a Raspberry Pi, the plugins that make it worthwhile, and why Matter is changing the role of the bridge rather than killing it.

  71. Product Engineering6 min read

    Building tinymissions: Why I Removed AI from the Critical Path

    My first instinct was to put an LLM at the center of my new product. Then I realized the best thing AI could do for it was stay out of the runtime entirely.

  72. AI8 min read

    How I Automated Family Meal Planning with Apple Shortcuts and ChatGPT

    The most useful AI systems aren't the flashy ones. Here's the lightweight Sunday workflow — one prompt, one shortcut, one routine — that took weekly meal planning off my mental to-do list.

  73. AI12 min read

    Vibe Coding Is Dead. Welcome to Instructor-Led Coding.

    Vibe coding showed us what was possible. The next phase is instructor-led coding — where context, judgment and voice-driven direction turn AI into a team you lead.