Skip to main content

CivStart Documentation

Welcome to the CivStart documentation. CivStart is a platform that accelerates civic technology innovation by connecting startups with government opportunities through intelligent matching and real-time collaboration.

What is CivStart?

CivStart is a comprehensive platform that:

  • Connects civic tech startups with government agencies and opportunities
  • Matches startups to relevant signals using AI-powered algorithms
  • Facilitates warm introductions between startups and government contacts
  • Tracks engagement and provides real-time updates via WebSockets

Tech Stack

Frontend

  • Framework: Next.js 15 with App Router
  • UI: React 19, Tailwind CSS, shadcn/ui
  • Authentication: Clerk
  • Real-time: Socket.IO Client

Backend

  • Framework: NestJS 11
  • Database: PostgreSQL (via Prisma)
  • Cache: Redis (ElastiCache)
  • Authentication: Clerk
  • Real-time: Socket.IO
  • AI/ML: Google Gemini AI, Pinecone Vector DB

Infrastructure

  • Cloud Provider: AWS
  • Compute: ECS Fargate
  • Load Balancer: Network Load Balancer (NLB)
  • Database: RDS PostgreSQL
  • Cache: ElastiCache Redis
  • IaC: Terraform
  • CI/CD: GitHub Actions
  • Hosting: Vercel (frontends), AWS ECS (backend)

Architecture Overview

CivStart follows a microservices architecture with the following components:

  1. Frontend Application - User-facing web application
  2. Admin Portal - Internal administration interface
  3. Backend API - NestJS REST API with WebSocket support
  4. Database - PostgreSQL with Prisma ORM
  5. Cache Layer - Redis for session and data caching
  6. Vector Database - Pinecone for AI-powered matching

Environments

CivStart runs in multiple environments:

Each environment has its own:

  • API endpoint
  • Database instance
  • Clerk authentication instance
  • Test credentials (see Test Credentials)

Getting Help