replit-architecture-variants
Choose and implement Replit validated architecture blueprints for different scales. Use when designing new Replit integrations, choosing between monolith/service/microservice architectures, or planning migration paths for Replit applications. Trigger with phrases like "replit architecture", "replit blueprint", "how to structure replit", "replit project layout", "replit microservice".
Install
mkdir -p .claude/skills/replit-architecture-variants && curl -L -o skill.zip "https://mcp.directory/api/skills/download/8046" && unzip -o skill.zip -d .claude/skills/replit-architecture-variants && rm skill.zipInstalls to .claude/skills/replit-architecture-variants
About this skill
Replit Architecture Variants
Overview
Application architectures on Replit at three scales: single-file prototype, modular production app, and multi-service architecture. Each matches Replit's container model, built-in services, and deployment types.
Prerequisites
- Replit account
- Understanding of deployment types (Static, Autoscale, Reserved VM)
- Familiarity with Replit's storage options
Architecture Decision Matrix
| Factor | Single-File | Modular App | Multi-Service |
|---|---|---|---|
| Users | Prototype, < 100/day | 100-10K/day | 10K+/day |
| Database | Replit KV (50 MiB) | PostgreSQL | PostgreSQL + cache |
| Storage | Local + KV | Object Storage | Object Storage + CDN |
| Persistence | Ephemeral OK | Durable required | Durable required |
| Deployment | Repl Run / Autoscale | Autoscale / Reserved VM | Multiple Reserved VMs |
| Cost | Free-$7/mo | $7-25/mo | $25+/mo |
| Always-on | No (free), Yes (deploy) | Yes (deployment) | Yes (deployment) |
Instructions
Variant A: Single-File Script (Prototype)
Best for: Bots, scripts, learning, hackathon projects.
# main.py — everything in one file
from flask import Flask, request, jsonify
from replit import db
import os
app = Flask(__name__)
# KV Database for simple state
@app.route('/')
def home():
count = db.get("visits") or 0
db["visits"] = count + 1
return f"Visit #{count + 1}"
@app.route('/api/notes', methods=['GET', 'POST'])
def notes():
if request.method == 'POST':
note = request.json
notes = db.get("notes") or []
notes.append(note)
db["notes"] = notes
return jsonify(note), 201
return jsonify(db.get("notes") or [])
app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 3000)))
# .replit
run = "python main.py"
[nix]
channel = "stable-24_05"
[deployment]
run = ["python", "main.py"]
deploymentTarget = "autoscale"
Limitations: 50 MiB data, files lost on restart, cold starts. Upgrade to Variant B when you need structured data or durability.
Variant B: Modular App with PostgreSQL (Production)
Best for: Web apps, APIs, SaaS MVPs with 100-10K daily users.
my-app/
├── .replit
├── replit.nix
├── package.json
├── src/
│ ├── index.ts # Express entry point
│ ├── config.ts # Environment + secrets validation
│ ├── routes/
│ │ ├── api.ts # Business logic
│ │ ├── auth.ts # Replit Auth integration
│ │ └── health.ts # Health check
│ ├── services/
│ │ ├── db.ts # PostgreSQL pool
│ │ ├── kv.ts # KV for cache/sessions
│ │ └── storage.ts # Object Storage for files
│ └── middleware/
│ ├── auth.ts # Auth header extraction
│ └── rateLimit.ts # Rate limiting
└── tests/
Architecture:
Client → Replit Proxy (Auth) → Express Server
│
┌─────────────────┤
│ │
PostgreSQL KV Database
(structured) (cache/sessions)
│
Object Storage
(file uploads)
Key decisions:
- PostgreSQL for all structured data (users, posts, orders)
- KV Database for cache and session data only
- Object Storage for user uploads and backups
- Single Deployment (Autoscale or Reserved VM)
Variant C: Multi-Service (Scale)
Best for: Production services with 10K+ daily users, background jobs, or real-time features.
Architecture:
CDN (Cloudflare) → Replit Deployment 1: API Server
│
PostgreSQL (Replit)
Redis (Upstash — external)
│
Replit Deployment 2: Worker
│
Queue (Upstash Kafka — external)
│
Replit Deployment 3: Static Frontend
Implementation:
Repl 1: my-app-api
- Express/Fastify API server
- Reserved VM deployment (always-on)
- Handles authentication, CRUD operations
- Publishes events to queue
Repl 2: my-app-worker
- Background job processor
- Reserved VM deployment (always-on)
- Consumes events from queue
- Handles: email sending, image processing, reports
Repl 3: my-app-frontend
- React/Next.js frontend
- Static deployment (free, CDN-backed)
- Calls API server for data
Communication:
- API to Worker: Upstash Kafka/Redis queues
- Frontend to API: REST/GraphQL over HTTPS
- Shared state: PostgreSQL + Redis
When to use external services:
| Service | Replit-native | External (Recommended at Scale) |
|---|---|---|
| Database | Replit PostgreSQL | Neon, Supabase, PlanetScale |
| Cache | Replit KV (50 MiB limit) | Upstash Redis |
| Queue | None built-in | Upstash Kafka, BullMQ |
| Storage | Object Storage | Cloudflare R2, AWS S3 |
| Search | None built-in | Algolia, Meilisearch |
Variant D: Static + API Split
Best for: Frontend-heavy apps with a lightweight API backend.
Architecture:
Client → Replit Static Deployment (React/Vue/Svelte)
│
└──→ Replit Autoscale Deployment (API)
│
PostgreSQL
# Frontend Repl .replit
[deployment]
deploymentTarget = "static"
publicDir = "dist"
build = ["sh", "-c", "npm ci && npm run build"]
# API Repl .replit
[deployment]
deploymentTarget = "autoscale"
run = ["sh", "-c", "node dist/index.js"]
build = ["sh", "-c", "npm ci && npm run build"]
Benefit: Frontend is free (Static deployment), API only charges when receiving requests (Autoscale).
Growth Path
Single-File → Modular App → Multi-Service
│ │ │
│ Add PostgreSQL Add Worker + Queue
│ Add Auth Add CDN
│ Add Storage Add Redis
│ Split frontend
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| KV database full | Over 50 MiB limit | Migrate to PostgreSQL |
| Container sleeping | Free plan / no deployment | Use Autoscale or Reserved VM |
| Cross-service latency | Multiple Repls communicating | Use external queue, not HTTP polling |
| Static deploy stale | Cache not cleared | Redeploy or add cache-busting |
Resources
Next Steps
For known pitfalls at each scale, see replit-known-pitfalls.
More by jeremylongshore
View all skills by jeremylongshore →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversNekzus Utility Server offers modular TypeScript tools for datetime, cards, and schema conversion with stdio transport co
Break down complex problems with Sequential Thinking, a structured tool and step by step math solver for dynamic, reflec
Build persistent semantic networks for enterprise & engineering data management. Enable data persistence and memory acro
Boost productivity with Task Master: an AI-powered tool for project management and agile development workflows, integrat
Unlock seamless Figma to code: streamline Figma to HTML with Framelink MCP Server for fast, accurate design-to-code work
Structured spec-driven development workflow for AI-assisted software development. Creates detailed specifications before
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.