- Overall Goals
- Full control and visibility (minimal platform magic)
- Stack combines static front end + edge logic + SaaS commerce + multiple data stores
- Transparent architecture where internals are visible in the UI
- No user auth; treat every visit as one global user
- Front End
- GitHub Pages (for static hosting of front end)
- Hosts React (or other framework) single-page application
- Versioned, static deployment from Git
- Alternative static + serverless hosts (for reference)
- Netlify Free plan: static + built-in functions, generous quotas
- Vercel Hobby plan: static + serverless, built-in previews, generous quotas
- Cloudflare Pages: static + function bindings, daily free request caps / bandwidth / build minutes / invocation ceilings
- GitHub Pages (for static hosting of front end)
- Edge Logic / Back End
- Cloudflare Workers
- Custom API surface in Workers
- GraphQL endpoint via small runtime‐aware solution like Helix
- Helix: fetch-native, standards-based runtime support, works well in Workers, same Request/Response objects, minimal bundle
- Apollo Server: heavier, Node-centric, more abstractions/plugins/federation, larger cold-start and bundle size
- Proxy and sign calls to Shopify Storefront/Admin GraphQL APIs
- Serve GraphQL requests to Neon Postgres
- Other serverless/container options (for reference)
- Google Cloud Run: containerized (Docker) service, ~2 million free requests + CPU/RAM time
- AWS Lambda: always-free tier (~1 million requests/month + compute allowance)
- Azure Container Apps: free grant of requests + compute, but after that costs apply
- Cloudflare Workers
- Data Stores
- MongoDB Atlas
- M0 “forever free” shared cluster (with documented rate limits)
- Live/ephemeral activity state, high-churn data
- Note: Change Streams and advanced features may not be forever free
- Neon Postgres
- Free plan available, suspend compute when idle
- Structured, durable data: configuration, metadata, analytics
- Supabase (Postgres + auth/storage) — alternative for structured data
- MySQL-style managed (PlanetScale) — hobby tier retired April 2024
- MongoDB Atlas
- Commerce Platform
- Shopify Liquid API (JSON mode)
- Shopify handles products, variants, inventory, carts, checkout
- You use Storefront and Admin GraphQL APIs, not Shopify-rendered HTML
- Free development stores via Partner account for unlimited testing
- Shopify Liquid API (JSON mode)
- Container / Orchestration Reference
- Docker: runs on Google Cloud Run, Azure Container Apps
- AWS Fargate: no perpetual free tier
- VM: e.g., Google e2-micro always-free for container hosting
- Kubernetes: rarely fits always-free; e.g., GKE charges node usage, Oracle Cloud offers free Ampere A1 VMs but control-plane may cost
- Hyperscalers / Free Tier Infrastructure
- Google Cloud Always Free: Cloud Run + one e2-micro VM
- Azure: 65+ always free services including Static Web Apps
- AWS: always-free Lambda tier
- Cloudflare: free edge network for Workers + Pages
- Excluded / Not Suitable for Free Hobby Stack
- Apex on Salesforce: Developer Edition useful for learning, but not general-purpose hosting
- SuiteScript on NetSuite: requires paid subscription or developer tenant, not free runtime you control
- Boomi: paid iPaaS, time-limited trials, not free always
- Separation of Concerns Summary
- GitHub Pages + React: Static front end, UI layer
- Cloudflare Workers: API glue, routing, caching, GraphQL surface
- Shopify Liquid APIs: Commerce backend (source of truth for product/order/inventory)
- Neon Postgres: Structured relational data (metadata, analytics, configuration)
- MongoDB Atlas: Live, high-churn activity and signals, experimentation state