v0.1 — Discovery (SUPERSEDED by v1.0)¶
Captured from the grilling sessions of 2026-11-11 → 2026-11-12. Kept for history: shows how the design moved.
Brief¶
Production-grade MCP server on AWS with proper auth and system-design patterns (timeouts, circuit breaker, retry…), realistic fintech data (transactions, KYC), and a RAG knowledge base over department SOPs. Public GitHub showcase for recruiters: aesthetic, technically deep, rich infographics and animations.
Round 1 — accepted¶
- Guidance level HIGH · Region
eu-north-1(projectcarpe-diem) · idle budget target < $10/month (later revised) - Fictional Indian neobank (UPI/IMPS/NEFT, PAN/Aadhaar, RBI KYC MD, PMLA)
- MCP Authorization spec with Cognito, per-tool scopes, role-based PII masking, audit log
- Showcase: README, docs site, demo GIF, load/chaos report, live endpoint
- Versioned plans in
docs/plans/, ADRs, glossary, MIT, GitHub Actions + OIDC
Changes along the way¶
| Initially proposed | Changed to | Why |
|---|---|---|
| TypeScript end to end | Python (FastMCP + FastAPI) | Owner's expertise; must defend every line in interviews |
| DynamoDB single-table + DuckDB/Parquet | PostgreSQL system of record | pgvector needs Postgres anyway; ledger wants ACID, joins, aggregates |
| LanceDB on S3 / S3 Vectors | pgvector | S3 Vectors unavailable on plan; one datastore |
| Titan Text Embeddings v2 | OpenAI text-embedding-3-large | Owner preference; quality |
| No queue | SQS + DLQ for ingestion and outbox events | Real async resilience story; Kafka rejected |
| k6 | Locust | Keep one language |
| Astro Starlight | MkDocs Material | Keep one language |
| < $10/month idle | ≈ $25/month + pause/resume | RDS + NAT instance required by pgvector-in-VPC |
| Simple transaction statuses | Rich lifecycles (on_hold, credit_delayed, deemed_success, …) |
Owner request; realism |