GratisAIcivic · field guide · local-first · no account
speaker-slot packet

Fit Registered Speakers Into a Public Hearing Window — Free

A hearing window is fixed; the speaker register is not. Before the gavel, know how many registered speakers fit at the promised minutes each — and how many minutes spill over.

The proof surface

Testimony builders help you say the thing. This packet sizes the room instead: registered speakers × minutes each against a supplied session window, with whole-slot floors and per-session overflow that never nets across sessions. It does not model interruptions, translations or procedure.

InputSession code | registered speakers | minutes per speaker; minutes available per hearing session
Rare deviceTestimony builders help you say the thing. This packet sizes the room instead: registered speakers × minutes each against a supplied session window, with whole-slot floors and per-session overflow that never nets across sessions. It does not model interruptions, translations or procedure.
Output artifactTotal overflow minutes with row-by-row context
Cost$0 local calculation · no card, paid key, subscription or signup · proposed filing price is not for sale
Sample, not your facts: Illustrative inputs: Evening | 20 | 5; Morning | 6 | 10. Minutes available per hearing session = 90. Total overflow minutes: 10 overflow minutes. All records are invented.

Before using the speaker-slot packet

Each row is one separate sitting with its own register count and speaking time; rows never share capacity. Minutes per speaker should reflect the limit actually promised or planned, not average remarks length, because the arithmetic assumes every registered speaker uses the full slot. Whole slots only: a session fits floor(window ÷ minutes each) speakers, and any fraction of a slot is lost. Overflow is reported in minutes, not speakers, so a partial final speaker remains visible. Transition time, staff reports and breaks are not deducted unless you already reduced the window figure yourself. Quorum, public-comment rules and the legal effect of hearing a speaker are outside the tool entirely.

Why the flat version breaks

Averaging remark lengths into the slot

Capacity must be promised against the limit, not against how long people usually speak; a room planned on averages will overflow the day someone uses their full slot. Enter the promised minutes, and treat shorter actual remarks as a margin you can see, not a planning assumption.

Netting spare minutes across sessions

Thirty spare minutes on Tuesday cannot hear Wednesday's overflow; sessions are separate sittings with their own registers. If you genuinely have one continuous sitting with a single register, model it as one row instead of letting rows lend each other time.

Ignoring transitions until the room notices

Whole-slot floors account for speaking time only. If your format includes introductions, questions or translation between speakers, reduce the window figure by a per-session margin before entering it; the packet will not invent that margin for you.

How to work the speaker-slot packet

Fix the window before the register

Establish the minutes actually available for public speaking in each session, after any fixed agenda items you choose to exclude, and use one convention for every row. If the chair can extend the window, model the base window here and treat extensions as a separate scenario you re-run.

Count registered speakers honestly

Use the register as it stands — pre-registered names plus any walk-up allowance you decide to include. If walk-ups are genuinely open-ended, run the tool once with the confirmed count and again with a plausible high figure rather than pretending certainty.

Set the promised minutes per speaker

Enter the limit each speaker is promised under the hearing's format. If different speaker classes get different limits, give each class its own row. Do not enter an average actual length: the point is the capacity promised to everyone who registered.

Schedule from the overflow, then confirm

Where a session overflows, the packet gives you the minute gap and the number of whole speakers who fit, which supports the usual options — shorter slots, a second sitting, a written-submission route. Put the arithmetic in front of the chair or clerk before the hearing and let the procedure owner decide; the tool's numbers are inputs to that decision, not standing orders.

What the speaker-slot packet separates

QuestionBeforeInspect this instead
Averaging remark lengths into the slotCapacity must be promised against the limit, not against how long people usually speak; a room planned on averages will overflow the day someone uses their full slot. Enter the promised minutes, and treat shorter actual remarks as a margin you can see, not a planning assumption.Count registered speakers honestly
Netting spare minutes across sessionsThirty spare minutes on Tuesday cannot hear Wednesday's overflow; sessions are separate sittings with their own registers. If you genuinely have one continuous sitting with a single register, model it as one row instead of letting rows lend each other time.Set the promised minutes per speaker
Ignoring transitions until the room noticesWhole-slot floors account for speaking time only. If your format includes introductions, questions or translation between speakers, reduce the window figure by a per-session margin before entering it; the packet will not invent that margin for you.Schedule from the overflow, then confirm

This speaker-slot packet replaces a manual count or calculation, not source verification or the responsible person’s review.

Run it on the samples, right here

FIRST-LOAD

HYPOTHESIS / PROTOTYPE — checkout unavailable. Calculation is local. A draft is saved automatically in this browser profile when storage is available; Reset to sample clears it. Optional Pro history stores only five summaries and has its own deletion control. State links encode your inputs and can remain in browser history, clipboard or recipients’ records; share only non-sensitive rows. Optional external AI formatting leaves this device. The required site analytics beacon reports page activity; shared URLs contain encoded inputs. Do not treat an encoded URL as private. The calculator has no input-collection endpoint.

Scheduling arithmetic only, not legal or procedural advice. Confirm the hearing window, speaker rules and any accommodation duties with the clerk or responsible body before publishing a format.

Data note: The speaker-slot packet processes Session code | registered speakers | minutes per speaker locally. Starter/sample selection and Run compute in this tab; no input is sent by the calculator. A local draft may be saved; explicit state-link sharing or optional external AI formatting can disclose inputs. Use non-sensitive labels.

Go deeper: the companion app files the same reading as a stapled evidence packet

The article demo above runs without limits. The companion app keeps a local history, exports the rows as CSV, prints the speaker-slot packet reading, and holds your drafts on this device — one complete free app run; the proposed $4 one-time filing layer is not for sale.

The speaker-slot packet answer stays complete for free. The proposed $4 one-time filing layer adds row CSV, print and five local reading summaries, not hidden answers. Checkout is unavailable; the article demo remains unlimited.

Open the speaker-slot packet companion

Boundary

Scheduling arithmetic only, not legal or procedural advice. Confirm the hearing window, speaker rules and any accommodation duties with the clerk or responsible body before publishing a format.

What this is built on

Before: the speaker register and the clock were separate worries. After: each session shows exactly how many whole speakers fit and how many minutes spill.

Three worked readings, with different inputs

Sample A — typical inputs

Evening | 20 | 5
Morning | 6 | 10

Setting: Minutes available per hearing session = 90. Expected summary: 10 overflow minutes.

The evening session needs 20 × 5 = 100 speaking minutes against the supplied 90-minute window, overflowing by ten. The morning needs 6 × 10 = 60 and fits with thirty minutes spare. Total overflow is ten minutes; spare minutes in one session are not moved to another, because the sessions are separate sittings. The packet also shows how many whole speakers fit: 90 ÷ 5 floors to eighteen in the evening, two short of the register.

Sample B — changed plan

Special | 3 | 30

Setting: Minutes available per hearing session = 90. Expected summary: 0 overflow minutes.

Three speakers at thirty minutes exactly fill the 90-minute window: 90 − 90 = 0. Equality is not overflow and produces no flag, though in practice a clerk may still want a margin for transitions. This boundary shows an exact fit, not a recommendation to schedule to the last minute.

Sample C — boundary convention

Empty | 0 | 5

Setting: Minutes available per hearing session = 90. Expected summary: 0 overflow minutes.

Zero registered speakers means zero required minutes regardless of the minutes-per-speaker figure, and the session trivially fits. The row is accepted rather than rejected so a hearing with no speakers still produces an honest arithmetic line. Whether the session then proceeds is a procedural question outside this count.

Optional AI formatting, never the calculation

Manual entry completes this speaker-slot packet for free without signup. If available to you, the free AI Studio interface linked in the sources may format fictional or non-sensitive notes; external access may require an account. No API key or AI call is built into this tool. Free-tier content may be used to improve products. Review each cell and transcribe it to the labeled row schema; do not paste the JSON object into the row box.

Format only these fictional or non-sensitive notes for a speaker-slot packet. Return strict JSON shaped as {"rows": [{"label": "string", "cells": ["string", "string"]}], "setting": "string"}. The columns are Session code | registered speakers | minutes per speaker; the setting is Minutes available per hearing session. Keep all supplied strings and quantities exactly; do not calculate, infer missing entries, invent dates or add advice. If any required value is missing, return an empty rows array and ask me for it separately. I will verify every cell against my source and manually transcribe rows using vertical bars before running the local calculator.

An AI response is not executed, fetched or trusted as a result. Missing values remain questions; the strict local parser checks the rows you actually enter.