Skip to content

tickwise-tech/website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tickwise-tech / website

Source for tickwise.tech — the marketing landing page for TickWise, an AI-assisted, multi-actor liquidity engine for Polymarket prediction markets.

What's in this repo

website/
├── index.html       # Hero, feature grid, OSS block, signup form
├── demo.html        # Fake operator dashboard (sample data, no live state)
├── styles.css       # Black/green/silver palette, light + dark via prefers-color-scheme
├── favicon.svg      # Minimalist green checkmark
└── api/
    ├── subscribe.py                  # FastAPI signup endpoint (POST /api/subscribe)
    └── tickwise-tech-api.service     # systemd unit to run the endpoint
  • No JavaScript framework. One small inline <script> for the signup fetch().
  • No build step. HTML/CSS shipped as-is.
  • Light + dark mode auto-switches on the visitor's OS theme.

Live

Deploying

Tested on a stock Ubuntu 24.04 VPS with Caddy as the web server (auto-TLS via Let's Encrypt) and FastAPI for the signup endpoint.

# 1. Static files
sudo mkdir -p /var/www/tickwise.tech
sudo cp index.html demo.html styles.css favicon.svg /var/www/tickwise.tech/
sudo chown -R caddy:caddy /var/www/tickwise.tech

# 2. Signup endpoint
sudo mkdir -p /opt/tickwise-tech-api /var/lib/tickwise-tech
sudo cp api/subscribe.py /opt/tickwise-tech-api/
sudo python3 -m venv /opt/tickwise-tech-api/.venv
sudo /opt/tickwise-tech-api/.venv/bin/pip install fastapi uvicorn pydantic
sudo chown -R www-data:www-data /opt/tickwise-tech-api /var/lib/tickwise-tech
sudo cp api/tickwise-tech-api.service /etc/systemd/system/
sudo systemctl enable --now tickwise-tech-api

# 3. Caddy vhost (append to /etc/caddy/Caddyfile, then reload)
cat | sudo tee -a /etc/caddy/Caddyfile <<'EOF'

your.domain.example {
    encode gzip zstd
    handle /api/* {
        reverse_proxy 127.0.0.1:8001
    }
    root * /var/www/tickwise.tech
    file_server
    header {
        Strict-Transport-Security "max-age=31536000; includeSubDomains"
        X-Content-Type-Options "nosniff"
        Referrer-Policy "strict-origin-when-cross-origin"
        Cache-Control "public, max-age=300"
    }
    @notFound { not file }
    handle @notFound { rewrite * /index.html; file_server }
}
EOF
sudo systemctl reload caddy

DNS: point your domain's A/AAAA record at the VPS. Caddy provisions TLS on first request.

Signup endpoint

POST /api/subscribe

{ "email": "you@example.com" }

Stores rows as JSONL at /var/lib/tickwise-tech/subscribers.jsonl. Rate-limited to 5 requests / minute per IP. Validates email format + length. Returns:

  • 201 {"ok": true} — added
  • 409 — already subscribed
  • 422 — invalid email
  • 429 — rate-limited

Related repos

License

MIT. See LICENSE.

About

Marketing site for TickWise — black/green/silver, light+dark mode, served by Caddy with Let's Encrypt.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors