Inspiration

I’m the Vice President of a tech society at my university. We host multiple events throughout the year, and collecting feedback from our team and attendees often feels like a second job.

We send out a Google Form, people forget about it, some get stuck on a question, and eventually we have to chase everyone individually. Even when responses arrive, someone still has to read through them, find the important patterns, and turn them into a useful decision.

At first, I thought this was simply a problem our society faced. Then I realized the same pattern appears across small teams everywhere.

A restaurant changes its menu and needs to know what customers think. A product team releases a feature and wants to understand where users are struggling. An event team needs honest feedback before planning its next event. These teams depend on feedback, but collecting and analyzing it consumes time they do not have.

The problem is not creating another form. It is getting people to respond thoughtfully, understanding the reasons behind their answers, and turning those responses into something the team can act on.

That led to a simple question: what if giving feedback felt more like a conversation than homework?

Tokito is Google Forms for phone calls. Small teams describe what they want to learn, review the questions, and provide a contact list. Tokito calls people, asks relevant follow-up questions, and turns the conversations into an evidence-backed report.

What it does

Tokito helps small teams replace ignored forms with interactive phone conversations.

A team starts by describing what it wants to learn. Tokito drafts four open, rating, or multiple-choice questions that the team can review and edit before any calls begin.

The team then imports contacts from Excel, CSV, or Google Sheets. Tokito validates every row and clearly identifies invalid phone numbers, duplicates, excluded contacts, and people who have opted out.

A built-in text simulator lets the team test the conversation first. With CALL-E configured, Tokito can place calls within selected calling hours, ask the prepared questions, follow up on vague or important answers, and collect structured responses alongside the transcript.

People can skip questions, decline to answer, request a callback, or opt out. Tokito preserves these outcomes instead of inventing missing answers.

After the calls, the team can review individual transcripts, structured answers, response summaries, and exports. Tokito also generates a report containing recurring themes, disagreements, requests, and suggested next steps. Every finding includes links to the answers that support it.

The same campaign can be managed through the web dashboard or Discord. Google Sheets can provide contacts and receive results, Google Calendar can track callbacks, and Notion can receive the final report.

How we built it

Tokito is a Bun and TypeScript workspace containing three applications.

The web dashboard uses Next.js 16 and React 19. A Hono API manages campaigns, contacts, calling rules, integrations, reports, and SQLite persistence through Drizzle ORM. A Discord bot built with discord.js provides slash commands and a conversational agent for managing the same campaigns.

Question drafting, simulated conversations, report generation, and report Q&A use OpenAI models through the Strands Agents SDK.

For every campaign, the API creates a CALL-E task containing the team’s goal, approved context, questions, conversation rules, and a structured result schema. A scheduler enforces calling hours, call budgets, concurrency limits, callback times, and retry limits.

CALL-E webhooks return call status, transcripts, and structured results. Tokito maps these results back to the correct campaign and questions. Polling provides a backup when a terminal webhook is missed.

The reporting system uses multiple agents. One analyst examines every answer to a question, a synthesis agent combines the findings, and a reviewer checks whether each claim is supported. The application then validates every citation before storing the report.

Challenges we ran into

The hardest challenge was making the conversations and reports genuinely useful without allowing the AI to become more confident than the evidence.

Our first evaluation revealed that dynamic conversations were not asking enough follow-up questions. With longer questionnaires, the AI focused too heavily on completing the script instead of exploring vague answers.

We changed the conversation instructions so that dynamic mode explicitly prioritizes relevant follow-ups, while fixed mode remains limited to the approved questions.

We also found that calls containing no real conversation could be counted as completed responses. That affected participation figures and reports, so we changed the result logic to keep those outcomes separate.

Reporting introduced another challenge. An early evaluator received only a sample of the source material and incorrectly classified real quotes as fabricated. We updated the evaluation and reporting pipeline so the reviewer receives the complete evidence set.

Later tests showed that screening answers could become misleading themes and that suggested actions sometimes ignored the largest problem in the feedback. We treated screening answers as context and required every major problem theme to receive a corresponding next step.

The CALL-E, Discord, Google, and Notion paths are implemented and tested with fake providers or networks, but our recorded evaluation does not include live credentialed runs. We kept that limitation visible instead of presenting simulations as proof of live operation.

Accomplishments that we're proud of

We built a complete feedback campaign workflow that small teams can control from the web or Discord.

Tokito can draft questions, validate contact lists, simulate conversations, prepare CALL-E tasks, schedule outreach, process transcripts, preserve incomplete answers, manage callbacks and opt-outs, export results, and produce reports with traceable evidence.

The current automated suite passes 75 tests across the API and Discord bot. These tests cover contact validation, calling hours, retries, call budgets, duplicate webhooks, opt-outs, callbacks, exports, integration failures, Discord confirmations, report citations, and questions that cannot be answered from the evidence.

We also completed a five-scenario synthetic evaluation containing 15 simulated conversations. The scenarios covered restaurant menu feedback, society events, product onboarding, a new front-desk team, and volunteer availability.

Dynamic calls asked relevant follow-up questions, while fixed calls remained on script. Refusals stayed marked as declined, screening questions prevented irrelevant answers, callback requests were preserved, and opt-outs ended the conversation.

Tokito’s report Q&A also correctly declined to answer a question that was not supported by the collected evidence.

What we learned

A phone survey should not be a Google Form read aloud.

The value of a conversation comes from responding to what someone says. A useful system needs to know when to ask why, when to request an example, when to clarify a question, and when to stop.

We also learned that missing information is meaningful. A skipped question, refusal, incomplete call, or unsuccessful attempt should remain visible. Filling those gaps with assumptions would make the final report easier to read but less trustworthy.

AI-generated reports need deterministic guardrails. Participation counts should come from the database, evidence links should be validated in code, and unsupported claims should be removed before the report reaches the team.

Finally, reliability must be visible. Duplicate events, provider failures, partial calls, and failed integrations cannot disappear behind a success message. Small teams need to understand what happened without investigating several different systems.

What's next for Tokito

Next, we want to scale Tokito from individual campaigns into a platform that small teams can rely on for continuous feedback.

That means supporting larger contact lists, more languages and regions, team workspaces, reusable campaign templates, and deeper integrations with the tools businesses already use. We also want teams to compare feedback over time, identify changing patterns, and turn well-supported findings directly into follow-up actions.

Our goal is to make interactive phone feedback as easy to launch as a Google Form, while giving small teams richer answers and saving them hours of manual follow-up and analysis.

Built With

Share this project:

Updates

Submission history