The complete nas platform — 11 production services, PostgreSQL, Redis, and error tracking — fully operational at 100 merchants and 3,000 advocates.
Four buckets cover everything. No surprises, no hidden fees.
Compute and databases together are 86% of total cost. Everything else is a rounding error.
Every service, its specs, and why it's sized this way. Railway pricing: $0.0000018 / MB / min RAM · $0.000463 / vCPU / min CPU.
| Service | RAM | vCPU | Why this size | $/mo |
|---|---|---|---|---|
| Redirect Service
When a creator shares a short link on Instagram or WhatsApp, this service catches it in milliseconds, records the click, and sends the shopper to the right product page. Every single shared link passes through here — it's the fastest and most critical service on the platform.
|
256 MB | 0.25 | 1.1 RPS avg, peaks ~3.5 RPS — Redis absorbs all cache hits | $25 |
| Ingestion API
The receiving dock for sale data. When a customer completes a purchase on a brand's Shopify store, the store fires a notification here. This service validates it, de-duplicates it (so a retry doesn't count twice), and queues it for the Attribution Worker to process.
|
128 MB | 0.10 | 0.006 RPS avg; only bursts on Shopify webhook batches | $12 |
| Attribution Worker
The judge of the platform. For every incoming sale, it figures out which creator deserves the commission — by matching the order back to a click, a coupon code, or a browser fingerprint. Once matched, it calculates the commission and writes it to the creator's earnings ledger.
|
256 MB | 0.25 | 5 concurrent BullMQ jobs; 15K jobs/month is light | $25 |
| Click Writer Worker
A quiet background helper that keeps the Redirect Service fast. Rather than writing every click to the database the moment it happens, this service collects them silently in batches and saves them together — so heavy traffic never slows down the link redirect experience.
|
128 MB | 0.05 | Background Redis stream drain; mostly idle between batches | $11 |
| Creator API
The backend API that powers the advocate and merchant experience. Handles invite previews and acceptance, program enrollments, affiliate link generation, storefront management, and payout requests. Serves both the advocate web portal and the merchant portal over tRPC.
|
256 MB | 0.25 | 270K calls/month = 0.10 RPS avg; tRPC + Drizzle is lean | $25 |
| Storefront Phase 2
Deferred. Public advocate storefronts at joinnas.io/@handle require multi-brand density to be meaningful. In Phase 1, advocates share go.joinnas.io short links that route directly to the merchant's own product pages — no storefront needed.
|
512 MB | 0.25 | Not running in Phase 1 | $45 |
| Merchant Portal
The web dashboard at merchants.joinnas.io. Merchants log in here to set commission rates, discover loyal customers, send advocate invitations, and monitor who's driving sales. This is their dedicated control panel for the word-of-mouth program.
|
256 MB | 0.10 | 100 brands, low-frequency dashboard sessions | $22 |
| Admin Console
The internal nas team dashboard — not visible to advocates or merchants. Used to onboard new merchants, approve payout requests, resolve commission disputes, and monitor platform health. Access is restricted to the nas team only.
|
128 MB | 0.05 | Internal only; minimal concurrent users | $11 |
| Advocate Portal New
The web portal where advocates manage their nas account — joinnas.io. When a merchant invites a loyal customer, they land here to sign up via phone OTP, accept the enrollment, and access their dashboard (earnings, brand catalog, referral links). One nas account works across all merchant programs an advocate joins.
|
256 MB | 0.10 | 3,000 advocates; low-frequency dashboard + invite acceptance | $22 |
| Service | Config | Disk | Why | $/mo |
|---|---|---|---|---|
| PostgreSQL 16
Vouch's main database — the single source of truth for everything on the platform. It stores every creator profile, every brand, every short link, every click recorded when someone taps a link, every sale that comes in, every commission calculation, and every payout ever made. Think of it as the platform's permanent memory. By the end of year one it will hold roughly 36 million click records alone.
|
1 GB RAM · 0.5 vCPU | 10 GB | ~36M click rows at month 12 with monthly partitioning on clicks.created_at. No media stored — product images are external merchant URLs. |
$92 |
| Redis 7
The platform's short-term memory — extremely fast but temporary. It does two things: it caches every creator's short link so the Redirect Service resolves them in under a millisecond without touching the main database, and it acts as a job queue so the Attribution Worker always knows which incoming sales to process next. If Redis restarts, nothing is lost — PostgreSQL is always the source of truth.
|
256 MB · 0.25 vCPU | — | Link resolution cache (~12 MB), BullMQ attribution queue, click write buffer. Comfortable within 256 MB. | $25 |
| Item | Detail | $/mo |
|---|---|---|
| Railway Pro Workspace | Team workspace, custom domains, private networking between services | $20 |
| Staging Environment
A complete, private copy of the entire Vouch platform running in parallel — invisible to creators and brands. Before any code change goes live, it gets deployed here first so the team can test it thoroughly. Think of it as a dress rehearsal before every show. Without it, a bug introduced by a new feature would hit real creators and real money immediately.
|
All 10 services at ~60% size — full QA parity before every production deploy | $80 |
| Service | What it does | Volume | $/mo |
|---|---|---|---|
| Login OTP TBD | One-time codes sent on first signup or 30-day session expiry. Provider not decided; pilot uses console-log. Volume ≈600 OTPs/mo at scale — under $5/mo. | ~600/mo (est.) | <$5* |
| Sentry Team | Error tracking across all Node.js services. Essential for attribution dispute forensics. | 50K events/mo | $26 |
| Domains (joinnas.io + voucheg.com) | Annual renewal for both | ~$30/year | $2 |
| Cloudflare DNS + CDN Free | All subdomains, DDoS protection, zero-config CDN for static assets | Free tier | $0 |
| GitHub Actions CI Free | Typecheck + unit + integration tests on every PR. ~150 min/month used of 2,000 free. | ~150 min/mo | $0 |
| Resend (email) Free | Transactional emails to brands — ~400 emails/month, well within the 3,000/mo free tier | ~400/mo | $0 |
| Object Storage (R2/S3) Not needed | Not required — product images are external merchant URLs. Creator avatars (~240 MB) stay in PostgreSQL. | — | $0 |
The complete nas platform, production + staging, all 11 services running. No hidden fees, no per-transaction costs.
Costs grow with the platform, not ahead of it. Year-1 total: ~$3,400 (Phase 1; Storefront not yet running).
Infrastructure is essentially free relative to the revenue each creator or brand generates.
These are the specific triggers that push into a higher tier. None are imminent at this scale.