Hatch.surf web application
Go to file
Designer fcfde5660c brand: add Hatch v1 wordmark, mark, favicon, banner, OG image, usage guide
v1 brand kit for the Hatch launch (ELF-53).

Files:
  brand/wordmark/   - text+mark wordmark (SVG with embedded Inter Bold,
                     plus PNG exports at 200x60, 400x120, 800x240,
                     1200x360); light/dark and on-light/on-dark variants
  brand/mark/       - the icon alone, in 16/32/48/64/128/192/256/512/1024
  brand/favicon/    - favicon.ico (16+32+48) and the 5 required PNG sizes
  brand/banner/     - README banner at 1280x640 (+ @2x retina)
  brand/og/         - OG image at 1200x630 (+ @2x retina)
  docs/brand/usage.md - one-pager on spacing, clear space, do-not rules,
                     light/dark mode behavior

Concept:
  Mark is a rounded square with a horizontal slot — the literal "hatch".
  A small "request" indicator drops into the slot. At 16px the slot still
  reads; at 512px the proportions hold.

Type:
  Inter Bold for the wordmark; JetBrains Mono for the code/tagline accent.
  Both SIL OFL 1.1, attributed in docs/brand/usage.md.

Color:
  Ink #0A0A0B, Paper #FAFAF9, Accent #F59E0B. No other colors in the kit.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-22 16:46:11 +02:00
.github/workflows feat: foundation Go module, HTTP server, Docker packaging 2026-06-22 14:31:27 +02:00
brand brand: add Hatch v1 wordmark, mark, favicon, banner, OG image, usage guide 2026-06-22 16:46:11 +02:00
cmd/hatch feat: mock endpoint — configure response per endpoint 2026-06-22 14:32:53 +02:00
docs brand: add Hatch v1 wordmark, mark, favicon, banner, OG image, usage guide 2026-06-22 16:46:11 +02:00
internal Fix capture: endpoint ID/URL mismatch, routing, and extractID 2026-06-22 14:38:50 +02:00
.dockerignore feat: foundation Go module, HTTP server, Docker packaging 2026-06-22 14:31:27 +02:00
.env.example feat: foundation Go module, HTTP server, Docker packaging 2026-06-22 14:31:27 +02:00
.gitignore feat: foundation Go module, HTTP server, Docker packaging 2026-06-22 14:31:27 +02:00
Caddyfile feat: foundation Go module, HTTP server, Docker packaging 2026-06-22 14:31:27 +02:00
CONTRIBUTING.md Engineering foundation: README, CONTRIBUTING, tech stack, ADR template, onboarding, CI placeholder, first engineer role 2026-06-22 05:58:34 +02:00
docker-compose.yml feat: foundation Go module, HTTP server, Docker packaging 2026-06-22 14:31:27 +02:00
Dockerfile feat: mock endpoint — configure response per endpoint 2026-06-22 14:32:53 +02:00
go.mod feat: mock endpoint — configure response per endpoint 2026-06-22 14:32:53 +02:00
go.sum feat: mock endpoint — configure response per endpoint 2026-06-22 14:32:53 +02:00
README.md feat: foundation Go module, HTTP server, Docker packaging 2026-06-22 14:31:27 +02:00

El Foundation

Engineering repository for El Foundation.

About

El Foundation builds institutions that outlast their founders. We create technology and organizations that compound in value over time. This repository is the source of truth for our engineering work.

Getting Started

  1. Read the company charter to understand why we exist.
  2. Read the operating model to understand how decisions are made.
  3. Read CONTRIBUTING.md before making any changes.

Repository Layout

├── .github/workflows/    # CI/CD definitions
├── docs/
│   ├── company/          # Founding documents (charter, org, etc.)
│   ├── engineering/      # Engineering standards and decisions
│   └── adrs/             # Architecture Decision Records
├── apps/                 # Application code (TBD — created when product work begins)
├── packages/             # Shared libraries and packages
└── scripts/              # Automation and utility scripts

Hatch — Deploy in one command

Hatch is a self-hostable HTTP request inspector + mocker. Ship it to any VPS with Docker.

Quick start (local dev, no HTTPS)

docker compose up --build
# Hatch UI: http://localhost:8080
# Capture endpoint: http://localhost:8080/{endpoint-id}

Production (with HTTPS via Caddy)

# Set your domain name
cp .env.example .env
# Edit HATCH_HOSTNAME in .env to your real domain

# Start Hatch + Caddy (auto-issues Let's Encrypt cert)
docker compose --profile with-caddy up -d --build
# Hatch UI: https://{your-domain}
# Capture endpoint: https://{your-domain}/{endpoint-id}

Architecture

Internet → :443 (Caddy) → hatch:8080 (Go binary, internal network)
                 │
                 ├─ Auto TLS (Let's Encrypt, or self-signed for localhost)
                 ├─ Reverse proxy with security headers
                 └─ JSON access logs to stdout

Caddy terminates TLS and reverse-proxies to the Hatch Go binary. The Hatch container only listens on 127.0.0.1:8080 — it's never directly exposed to the internet.

Technology Stack

See docs/engineering/tech-stack.md for current choices and rationale.

Contributing

See CONTRIBUTING.md.

License

Proprietary — All rights reserved.