# VerIQ

Public IQ test with **cryptographically verifiable results** bound to your identity.

Every existing IQ test gives you a screenshot — forgeable in 30 seconds. VerIQ signs
your result with Ed25519 and gives anyone a public link to verify it: no login, no trust
required. Argue about IQ on X/Twitter? Drop the link. Done.

## Status

v1 MVP in active development (2026-10-13). See `docs/SPEC.md` for the full spec.

## Stack

- Backend: FastAPI + SQLite (WAL), single VPS, no external services
- Signing: Ed25519 (PyCA cryptography)
- Frontend: vanilla JS, no build step, mobile-first dark theme
- Deploy: systemd + nginx + certbot (`scripts/deploy.sh`)

## Layout

```
backend/    FastAPI app (main, scoring, signing, db)
content/    question bank (questions.json) + calibration.json
frontend/   static pages (index, test, result, verify)
scripts/    deploy + question generator
docs/       SPEC.md
```

## Run locally

```bash
pip install -r requirements.txt
uvicorn backend.main:app --port 8801
# open http://127.0.0.1:8801
```

## Verify a result

Result links look like `/v/Ab3xK9mQ`. The verify page shows the score, the bound
identity (if claimed), and re-checks the Ed25519 signature server-side. The service
public key is published at `/.well-known/veriq-pubkey.txt`.

## License

Proprietary (c) 2026 VerIQ. All rights reserved.