Planning Poker,
Self-Hosted.

Wildguess is a real-time estimation tool for teams. Built with an Angular standalone frontend, a lightweight Hono API, and a local SQLite database, ready to deploy behind your reverse proxy.

Quick Start

Deploy Wildguess instantly using our pre-built Docker containers. Everything is configured for a plug-and-play experience.

Root Deployment docker-compose.yml

Deploying directly to a root domain or local port (e.g. `localhost:80`).

services:
  api:
    image: rollingsquirrel/wildguess-api:latest
    restart: unless-stopped
    environment:
      - PORT=3000
      - DB_PATH=/data/sqlite.db
      - CORS_ORIGIN=*
    volumes:
      - wildguess-data:/data

  client:
    image: rollingsquirrel/wildguess:latest
    restart: unless-stopped

  nginx:
    image: rollingsquirrel/wildguess-nginx:latest
    restart: unless-stopped
    ports:
      - "80:80"
    depends_on:
      - api
      - client

volumes:
  wildguess-data:

Subpath Deployment docker-compose.yml

Deploying under a specific path (e.g. `domain.com/wildguess/`).

services:
  api:
    image: rollingsquirrel/wildguess-api:latest
    restart: unless-stopped
    environment:
      - DB_PATH=/data/sqlite.db
    volumes:
      - wildguess-data:/data

  client:
    image: rollingsquirrel/wildguess:latest
    restart: unless-stopped
    environment:
      - BASE_URL=/wildguess/

  nginx:
    image: rollingsquirrel/wildguess-nginx:latest
    restart: unless-stopped
    environment:
      - BASE_URL=/wildguess/
    ports:
      - "80:80"

volumes:
  wildguess-data:
Note: The BASE_URL environment variable tells the Nginx proxy to reroute requests and the Angular app to set its base href automatically.

Architecture

Nginx Reverse Proxy

Acts as the single entrypoint. Routes /api requests to the Node backend and all other requests to the Angular static client. Supports SSL termination.

Angular Client

A modern Angular v21 application using Signals, Tailwind CSS v4, and dynamic CSS phase animations. Statically compiled and served instantly.

Hono API + SQLite

A blazingly fast Node.js backend using Hono and Drizzle ORM. Stores state in a reliable SQLite database using WAL mode for high concurrency.

No WebSockets Required

By heavily relying on short-polling (default 3s), Wildguess dramatically simplifies frontend deployments behind arbitrary load balancers without requiring complex sticky session algorithms or persistent connection keepalives.