OPG Labs

Homebrewed

Public site on CloudFront plus Inbound and Outbound AI enabled mail agents.

Eleventy · S3 · CloudFront · SES · Lambda · DynamoDB · SQS · Terraform

Open live demo ↗

Overview

OPG Labs is the public site and its contact-mail path. Visitors read static pages on CloudFront; people who email hello@opglabs.com are handled by the Inbound Mail agent, which queues sends for the Outbound Mail agent. Authoring happens offline in this repo; it is not a runtime agent on the request path.

System design

  • Static site. Pages ship as HTML (Eleventy → S3 → CloudFront).
  • Live mail agents. hello@opglabs.com is handled by Inbound Mail, then Outbound Mail — event-driven on SES / Lambda / SQS, not an HTTP API between them.
  • One stack. Site and mail infra live in this repo (Terraform + deploy scripts).

Product path

What a visitor can do: browse the lab, email hello@. Diagram key: ✦ AI agent · purple = actor · white = service.

---
config:
  theme: default
  themeVariables:
    background: "#ffffff"
    fontSize: "14px"
---
flowchart TB
    person[Person]
    site["OPG Labs site"]
    inbound["✦ Inbound Mail"]
    outbound["✦ Outbound Mail"]
    outcomes[Forward and thank-you]
    observe[Bounce complaint and alarms]

    person -->|home projects services| site
    person -->|contact hello@| inbound --> outbound --> outcomes
    outcomes --> person
    outbound -.-> observe

    classDef agent fill:#e8f0ee,stroke:#0f3d36,stroke-width:2px,color:#0d0d0d
    classDef service fill:#fafaf8,stroke:#c8c8c2,stroke-width:1px,color:#0d0d0d
    classDef actor fill:#f3eef8,stroke:#6b4f9a,stroke-width:2px,color:#0d0d0d
    class inbound,outbound agent
    class site,outcomes,observe service
    class person actor

Queues, ledger, and layers live on Mental Model and the agent tabs.

Clean product overview and path. Mental Model holds the five-layer map and Anthropic workflows; Inbound Mail and Outbound Mail own agent detail.