commits
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- add readme.md with ASCII architecture diagram in details block
- remove jetstream connection (vestige from pre-tap architecture)
- remove loadUserVotes and poll.votes Map (unused)
- add [src] link to tangled in header
- add .wrangler to gitignore
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- replace jetstream.zig/backfill.zig with tap integration
- use putRecord to update votes instead of delete+create
(avoids race condition with out-of-order firehose events)
- add upsert logic in db.insertVote with timestamp comparison
- handle "update" action in tap consumer
- reorganize docs into docs/ directory
- simplify frontend voting flow
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- frontend: vite + typescript SPA for creating/viewing polls
- backend: zig + httpz server with sqlite persistence
- cloudflare pages function for dynamic OG tags on poll links
- jetstream integration for real-time vote/poll sync
- justfile with deploy targets for fly.io and cloudflare pages
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- add readme.md with ASCII architecture diagram in details block
- remove jetstream connection (vestige from pre-tap architecture)
- remove loadUserVotes and poll.votes Map (unused)
- add [src] link to tangled in header
- add .wrangler to gitignore
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- replace jetstream.zig/backfill.zig with tap integration
- use putRecord to update votes instead of delete+create
(avoids race condition with out-of-order firehose events)
- add upsert logic in db.insertVote with timestamp comparison
- handle "update" action in tap consumer
- reorganize docs into docs/ directory
- simplify frontend voting flow
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- frontend: vite + typescript SPA for creating/viewing polls
- backend: zig + httpz server with sqlite persistence
- cloudflare pages function for dynamic OG tags on poll links
- jetstream integration for real-time vote/poll sync
- justfile with deploy targets for fly.io and cloudflare pages
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>