[](SITE/polls/demo-frameworks)Polls that live in your README.
One line of markdown renders a live SVG badge. One iframe accepts votes inline. Both stay in sync with the same poll — no build step, no JavaScript dependency, no account required to vote.
Your readers already have questions.
Give them a way to answer.
A README without a poll is a monologue. Adding one turns your documentation into a conversation — readers vote, you see the results, and the badge on your repo updates in real time.
No third-party analytics. No account walls. Just a question, some options, and the actual distribution of what your audience thinks.
"Which framework should we support next?" — the badge sits right next to your feature list, and the results speak for themselves.
"How do you handle rate limiting?" — embed at the end of a technical post to see what your readers actually do vs. what they say.
"Which concept was hardest?" — a quick-check poll after each lesson gives you signal without a survey tool.
Three surfaces, one poll
Every surface reads from the same poll, so results agree wherever you place them. Pick the one that fits your platform.
<iframe src="SITE/embed?id=demo-frameworks"
width="100%" height="380"
style="border:0" loading="lazy"></iframe>What the platform guarantees
Privacy and abuse handling are decided on the server, not in the widget. These are real properties, not marketing claims.
- Voting
- Anonymous
- No account needed to cast a vote. No cookies tracked for analytics.
- Duplicate control
- Device token
- An httpOnly cookie issued server-side. Not readable by JavaScript.
- IP handling
- Salted SHA-256
- Raw addresses are never stored. The hash is non-reversible.
- Trackers
- None
- No analytics scripts ship with an embed. No third-party requests.
- Result masking
- Server-side
- Hidden counts never reach the browser. The widget cannot leak early results.
- Licence
- Apache 2.0
- Self-host the entire stack. No vendor lock-in, no usage fees.
From question to results
Three steps. No infrastructure to manage. The stack is FastAPI, PocketBase and a static Astro front end — all of it self-hostable.
Create
Sign in with GitHub, write a question and up to ten options. Choose single-choice, multi-select, or quiz mode.
Embed
Copy one line for a badge or an iframe. The snippet carries your poll id and needs no build step.
Measure
Watch votes arrive in the dashboard, split by option, referrer, and day. Export CSV or JSON.
Polls everywhere you already write
The badge and iframe work anywhere Markdown or HTML renders. No SDK, no client library, no build plugin.
GitHub READMEs
The badge renders inline and links to your poll. Forks and mirrors keep working because the badge URL is absolute.
Documentation sites
Embed in Docusaurus, VitePress, or any static generator. The iframe adapts to container width.
Blog posts
Drop a badge in a Markdown post on Dev.to, Hashnode, or your own site. Readers vote without leaving the page.
Course materials
Add a quick-check poll after a lesson. Students vote once, you see the spread.
Everything here runs on a stack you can host yourself.
FastAPI, PocketBase and a static Astro front end. Apache 2.0. No usage fees, no vendor lock-in, no surprise bills.