postra / infrastructure
A social media scheduling product being launched into the UK and Poland at once. Nothing here is the product yet — it is the ground it lands on: two static fronts, a waitlist that costs nothing to hold, and working email on both domains without a mail server anywhere.
A visitor, in either market
Arrives on the British or the Polish front
Two domains, one deployment pattern
Route 53
A hosted zone per market, each with its own certificate
Separate zones so one market cannot break the other
CloudFront
A distribution per front, plus one for product media
Pre-launch traffic is almost entirely cache hits
S3
A pre-launch page per market, with pricing and structured data for search
Reached only on a cache miss — private, behind OAC
Fetching a file from postra.co.uk to time the real path…
Someone leaves an email
The only interactive thing on either front
API Gateway
One HTTP API in front of one function
CORS names five origins across both domains — nothing else
Lambda
Validates the address and writes it once
Python 3.12 at 128 MB — the floor, because that is all it needs
DynamoDB
The email address is the key, so signing up twice changes nothing
On-demand billing — an empty waitlist costs nothing
A pre-launch waitlist has no idle traffic and no predictable peak, which is the case on-demand pricing exists for. Provisioning capacity for it would be paying to wait.
Someone writes in
To the contact address on either market's site
Three addresses across two domains
SES receipt rules
Matches the recipient and decides what happens to the message
A rule per audience, not a catch-all
S3
Every message written to a bucket as a durable object
No mailbox to run, patch or fill up — and nothing to lose
A brand needs a working address long before it needs a mailbox. Receiving to object storage gives one on day one, and leaves the choice of what to do with the mail until later.