Epic Mikey

  • Claude Code for iOS: Shipping a Real App in 18 Days

    First commit to a usable App Store release in 18 days: building an iOS app with Claude Code, SwiftUI, and SwiftData — with an honest credit split.

  • Hazelcast Transactional Outbox: Guaranteed Delivery

    Fire-and-forget publishing loses events when the shared cluster is down. The transactional outbox writes to a durable local IMap and retries until delivered.

  • Circuit Breakers and Retry: Resilient Hazelcast Sagas

    One slow service shouldn’t sink the whole saga. Circuit breakers and Resilience4j retry isolate failures and stop cascades in Hazelcast sagas.

  • MCP Server for Microservices: AI-Powered Debugging

    Build an MCP server that lets an AI assistant operate your event-sourced microservices — ten tools, a thin REST proxy, and debugging in one sentence.

  • On the Vector Store I Didn’t Ask For

    I asked Claude for Hazelcast’s VectorCollection and got a from-scratch brute-force vector store instead. It became the Community Edition fallback.

  • Vector Similarity Search on Hazelcast with HNSW

    Add semantic “more like this” search to Hazelcast microservices with HNSW vector indexing and local embeddings — no API keys, O(log n) lookups.

  • On Debugging by Assumption

    I blamed the saga timeouts on a maxed-out laptop. Four real bugs later — a circuit breaker tripping on business errors — measurement beat assumption.

  • Saga Pattern: Distributed Transactions Without 2PC

    Saga pattern vs two-phase commit: local transactions and compensating events, not distributed locks. Choreography, state machines, and timeouts on Hazelcast.

  • A Note on Observability

    A short interstitial on why the observability post got pushed back to later in the series — and why that didn’t change anything about when to instrument the code. Instrument early; you’ll thank yourself at 2 AM on phase 3.

  • Hazelcast Materialized Views: CQRS for Sub-ms Reads

    Event sourcing makes writes easy — but queries? Hazelcast materialized views + CQRS: pre-computed projections, sub-ms reads, no HTTP fan-out across services.