What Bones

AWS

One cloud for everything hosted — storage, email, AI, and, when it ships, the database and backend.

Why one cloud

Everything hosted runs on AWS: one vendor, one bill, one console. That rules out good products elsewhere (Neon, Railway, Render, Resend) on purpose, not on their merits.

What's in use

ServiceUsed forIn development
Amazon S3Uploads, blog bodies and media, avatars, terms, archived logsRustFS in Docker
Amazon SESTransactional emailMailpit in Docker
Amazon BedrockClaude for the chatbotOllama on your machine

Each one swaps by environment variable. Application code only talks to the standard API, never to the local stand-in.

Email goes through Nodemailer. It sends through SES, or through Mailpit's SMTP server when EMAIL_SMTP_HOST is set.

What's decided but not built

  • Amazon RDS for Postgres — managed backups, no idle pausing, and a free first year. Aurora is the upgrade path if scale ever calls for it.
  • AWS App Runner for the backend — runs the container from ECR and handles TLS, health checks, and scaling. Fargate is the step up if it ever needs several services.

There's no infrastructure code in the repo yet.

Used in