README.md

 1<!--
 2SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
 3
 4SPDX-License-Identifier: CC0-1.0
 5-->
 6
 7# Sift
 8
 9Collaborative lists with real‑time voting and ranking. Create a room, share the link, add ideas, and sort them together with upvotes, downvotes, or vetoes.
10
11[![REUSE status](https://api.reuse.software/badge/git.secluded.site/sift)](https://api.reuse.software/info/git.secluded.site/sift)
12[![scratchanitch.dev badge](https://img.shields.io/badge/scratchanitch-dev-FFC4B5)](https://scratchanitch.dev)
13[![Made with Deno](https://img.shields.io/badge/Made%20with-Deno-black?logo=deno&logoColor=white)](https://deno.land/)
14[![SQLite](https://img.shields.io/badge/Database-SQLite-003B57?logo=sqlite&logoColor=white)](https://www.sqlite.org/)
15[![Code: AGPL-3.0-or-later](https://img.shields.io/badge/Code-AGPL--3.0--or--later-blue)](LICENSES/AGPL-3.0-or-later.txt)
16[![Docs/assets: CC0-1.0](https://img.shields.io/badge/Docs%2Fassets-CC0--1.0-lightgrey)](LICENSES/CC0-1.0.txt)
17
18<center>
19
20![Sift screenshot: collaborative list with real-time votes](.readme-assets/screenshot.png)
21
22</center>
23
24## Why Sift?
25
26- Real‑time collaboration: everyone sees changes instantly
27- Simple ranking: upvote, downvote, or veto; items auto‑sort by score
28- Veto with care: vetoed items fall to the bottom and dim
29- Bulk input: paste many lines at once; quick brainstorms welcome
30- Keyboard‑friendly: j/k navigate • 1/2/3 vote • e edit • Del delete • ? help • Ctrl/Cmd+Z undo
31- Clean UI: light/dark themes, responsive, reduced‑motion friendly
32- Easy sharing: rooms are just links; optional room titles for context
33
34## Quick start
35
36Run the server (Deno required):
37
38```bash
39deno run \
40  --allow-net=:8294 \
41  --allow-read=./static/,./lists.db,$HOME/.cache/deno/plug \
42  --allow-write=./lists.db,$HOME/.cache/deno/plug \
43  --allow-env \
44  --allow-ffi \
45  server.ts
46```
47
48Then open <http://localhost:8294> in your browser.
49
50## How it works (for users)
51
521. Create a room and share the link, or join an existing room by code
532. Add items one‑by‑one or paste multiple lines
543. Vote: 1 = up, 2 = down, 3 = veto; Enter also upvotes the selected item
554. Edit or delete items inline; reset votes when starting a new round
565. Optionally set a room title to keep context
57
58Tip: You can deep‑link into a room via `?room=CODE`.
59
60## Notes on privacy & safety
61
62- No accounts or authentication; rooms are protected only by knowing the ID
63- Treat rooms as shared spaces—don’t post sensitive information
64
65## License
66
67- Code: AGPL‑3.0‑or‑later → see [LICENSES/AGPL-3.0-or-later.txt](LICENSES/AGPL-3.0-or-later.txt)
68- Docs/assets: CC0‑1.0 → see [LICENSES/CC0-1.0.txt](LICENSES/CC0-1.0.txt)
69- This project follows [REUSE](https://reuse.software/) best practices