Honest, prominent, and not buried in the footer

The roadmap — and the things we haven't figured out yet.

The whole product is built on trust. We're not going to undermine that by hiding our open problems. Here's what's in the box today, what's planned, and — most importantly — the five gaps a school IT department will ask about the moment they read the spec.

The five spec gaps

Flaws to fix before a school IT department signs off

These are the five issues an outside reviewer flagged in the spec. Each one matters for real-world deployment. None are pretended to be solved.

The problem. In the US, schools dealing with student data must comply with FERPA (Family Educational Rights and Privacy Act). In Taiwan, there's PDPA (Personal Data Protection Act). The app itself claims to collect nothing — but the code distribution step requires the school to handle a list of eligible voters. That list is personal data.

The open questions.

  • Who stores the eligible-voter list — the school, the app, or both?
  • How long is it kept?
  • When and how does it get deleted?
  • What's the audit trail?

Why it matters. This is the first thing any school IT department will ask. Without a clear answer, the procurement conversation ends before it begins.

Next step: We need to write a "Data Handling" section into the spec that names a retention period, a deletion process, and an audit log.

The problem. The spec says results are shown after the poll closes. It never says what happens after that.

The open questions.

  • How long are results stored?
  • Can they be exported?
  • Can they be permanently deleted?
  • What's the retention policy for the operator's account itself?

Why it matters. Schools need audit trails and need to comply with data retention policies. Both, simultaneously. The current "store everything indefinitely" default doesn't satisfy either.

Next step: We need to answer this in the spec. A reasonable default would be: results stored for 2 years, exportable on demand, permanently deletable by the operator at any time.

The problem. If voting is anonymous and codes are single-use, what stops a student from giving their code to a friend? The spec acknowledges this as "the biggest unsolved challenge" and lists possible mitigations — but commits to none.

The strongest proposed solution (from the reviewer). Codes are delivered through the school's existing authentication system (school portal or LMS). The student logs into their school account, receives the code there, and the code expires within a short window. This doesn't make sharing impossible — it makes it inconvenient enough that most students won't bother.

Other mitigations.

  • Codes expire quickly (e.g. 15 minutes after issue)
  • Codes require a school-network connection
  • Codes are device-bound after first use

Why it matters. If a school reads this and sees no committed solution, they'll see it as a hole. The mitigation needs to be explicit and defended.

Next step: We need to commit to one solution. The school-portal route is the strongest candidate.

The reviewer's concern. The team is based in Hsinchu. Schools there operate in Mandarin, and many are bilingual. If this tool only works in English, it immediately loses most of the local market.

The current state. The app is already deployed in both English and Traditional Chinese (繁體中文). Every page has a language toggle. Translations live in a single JSON file, so adding more languages later is straightforward.

Status: This is the one gap from the reviewer that's already solved.

The problem. The spec doesn't say how a school actually starts using the app.

The open questions.

  • Who signs up — the principal, the IT director, the student council advisor?
  • Is there an approval process? Who approves?
  • Does the school need to install anything on its servers?
  • Does the school need to educate operators? For how long? Who runs the training?
  • What's the timeline from "we're interested" to "first poll is live"?

Why it matters. Without a Getting Started section, the spec feels incomplete. Schools can't say yes to something they can't picture deploying.

Next step: We need to write a one-paragraph "Getting Started" section: who signs up, what they need, what the first 30 days look like, and how to train operators.

Feature status

Built · Planned · Open Problem

Every feature in the spec, with honest status. No marketing pretending unbuilt things are shipped.

Feature From spec section Status
Admin creates a poll with title/description/options§13Built
One-time code generation§7Built
Code-vote separation (anonymity)§6Built
Code locked after single use§7Built
Results after close (never live)§10Built
Yes/No & single choice questions§5Built
Multiple choice questions§5Built
Ranking questions§5Built
Rating Scale (1–5) questions§5Built
"I choose not to vote" with 3 reasons§4Built
Three visibility settings (Private / Shared / Public)§10Built
English + 繁體中文Reviewer §4Built
QR codes per voterBuilt
Auto PDF / XLSX / JSON exportsBuilt
Scheduled close at deadline§9Built
Written / open-text feedback responses§3Planned
Verifiable anonymity (confirmation hash)§6Planned
Code resend & invalidation flow§7Planned
Minimum participation threshold§10Planned
Written response moderation§10Planned
Operator dashboard (multiple polls)§13Planned
Safety escalation banner / training§11Planned
Data retention & deletion policyReviewer §2Open problem
FERPA / PDPA compliance documentationReviewer §1Open problem
Code-sharing prevention§7 / Reviewer §3Open problem
"Getting Started" onboarding flowReviewer §5Open problem
Build order

The build sequence, from spec §13

Minimum version first. Everything else layered on top, in priority order.

Phase 1 — Done

The minimum version (core loop)

  • Admin creates poll with title, description, answer options
  • System generates one-time codes for each eligible voter
  • Voter enters code, votes or selects "I choose not to vote"
  • Each code only usable once; code separated from vote permanently
  • Results shown after poll closes — no identity data attached
Phase 2 — Next

Operator quality-of-life

  • Result charts and participation statistics
  • Admin dashboard for managing multiple polls
  • Code resend and invalidation flow
  • Minimum participation thresholds
Phase 3 — Later

Trust & safety

  • Written response moderation tools
  • Verifiable anonymity (confirmation hash)
  • Safety escalation banner & operator training
  • Free-text feedback responses
Phase 4 — Compliance

Things needed before a school IT dept will approve

  • FERPA / PDPA documentation pack
  • Data retention policy + deletion flow
  • Code-sharing prevention (school-portal delivery)
  • Formal onboarding / Getting Started flow
Honest caveats

Things the marketing page glosses over

Every product website overstates a little. We try not to, but here are the places where you should read carefully.

⚠️

"Truly anonymous" has limits

The app stores no identity with the vote. But the school still holds the eligible-voter list. A bad actor with access to both the school's list and the app's vote pool, plus timing data outside the app, could narrow things down in small populations. For a 12-person teacher survey, true anonymity is harder than for a 500-person student election.

⚠️

One-time codes don't prevent coercion

If someone with power over a voter (a parent, a teacher, a senior student) demands to watch them vote, the anonymity guarantee doesn't help. The system can't tell the difference between a free vote and a watched one. We can only say: anonymity defends against retaliation after the vote, not pressure during it.

⚠️

"I choose not to vote" can be gamed

If a poll is socially fraught, voters might pick "I choose not to vote" rather than express their real opinion. The non-participation data is still useful — but it's not a substitute for a culture where honest disagreement is safe.

⚠️

Distribution will be the hardest sell

The reviewer's verdict: "The product is strong enough. The challenge is distribution, not the product itself." Schools have year-long procurement cycles. A 9th-grader emailing a principal gets ignored. The realistic path is through student council advisors and sympathetic teachers — and it will be slow.

From the reviewer

The realistic monetization timeline

The outside reviewer's verdict on when this can actually make money.

This semester (2026)

Deploy free at the pilot school. Get 200+ real student council votes. Document everything.

Summer 2026

Turn results into a case study. Pitch 2–3 other Hsinchu schools.

Late 2026 / early 2027

Once 3–4 schools are using it, start charging. School-wide $200–500/year plans.

2027+

Sustained growth via word-of-mouth between schools. The "I choose not to vote" feature is the headline that no competitor has.

The reviewer's conclusion: "The product is strong enough. The challenge is distribution, not the product itself."

Now you've seen the honest version.

The strengths, the planned features, and the four open problems we haven't solved yet. If that's the kind of transparency you want from a vendor, the rest of the site is waiting.