Inspiration
I came across a project built with Gemini Live that turned Google Forms into voice conversations, and I couldn't stop thinking about it. Phone surveys and form-based data collection are still everywhere — in schools, research labs, and small organizations — but filling out a Google Form on your phone is frustrating, and doing it over a call is basically impossible. I wanted to see if I could build that same experience myself, but with a twist: doing it entirely in Jack, a programming language I had never written a single line of before JackHacks. The challenge of learning a new language while shipping a real product in a single weekend was the whole point. I wanted to prove to myself that the idea was solid enough to build from scratch, and that Jack was expressive enough to make it happen.
What it does
Cauliform AI turns any public Google Form into a voice-first survey experience. Paste in a Google Form URL and the app parses the questions, answer choices, and required fields. A Gemini Live agent can either call the user through Twilio or talk to them directly in the browser, walking through the form conversationally, rephrasing questions, repeating options, and confirming answers. Once the conversation ends, responses are submitted back into the original Google Form automatically. There's also a small dashboard and a /test console to inspect parsed forms, debug Gemini Live, and watch the AI fill out forms in real time.
How I built it
I built this myself utilizing Jack programming language and Gemini API for the backend AI category, which I had never touched before the hackathon. The idea came from a project I had seen built with Next.js and Gemini Live, and I wanted to see if I could recreate the same end-to-end experience in a completely unfamiliar language under time pressure. I used Lovable to get the overall UI theme and backend scaffolding started, then rewrote and changed almost everything myself from there. The core stack stayed the same: a voice interface powered by Gemini Live, Twilio for phone call support, and Google Form parsing and submission. Most of our time went into fighting the Jack language itself and it was pretty fun nonetheless
Challenges we ran into
The biggest challenge was learning Jack while building a real product at the same time. Every time I ran into an error I had to figure out whether it was a logic bug, a misunderstanding of the language, or just something Jack does differently from what I was used to. There were a lot of trial and error cycles, especially around getting Gemini Live's WebSocket connection working correctly and wiring up the Twilio webhook flow. Lovable helped me get off the ground faster with the UI and initial backend setup, but I ended up rewriting most of it to fit what I actually needed. The hardest part was not having a team to rubber duck with — every blocker was mine alone to solve.
Accomplishments that we're proud of
I'm proud that I got the full system working end to end as a solo builder using a language I had never written before. Gemini Live real-time conversations, Twilio voice call integration, and Google Form parsing and submission all work together in a single app. I'm also proud of the /test console, which became my most useful debugging tool — it shows parsed forms, conversation logs, transcripts, and the AI browser agent view all in one place. Getting that working in Jack was genuinely satisfying.
What we learned
This project taught me that you can learn a new programming language fastest by building something real with it. I learned Jack's quirks under pressure, which forced me to actually understand the language rather than just copy patterns. I also learned how to scope a project tightly when you're alone — getting one complete working flow done is worth more than five half-finished features. And I learned that tools like Lovable are genuinely useful for bootstrapping, as long as you're willing to take ownership of everything after.
What's next for Cauliform AI
I want to turn this into an app real people can use. The next steps are improving the Twilio call flow with better error handling, storing transcripts and usage data in a real database, supporting multiple languages for broader accessibility, and simplifying onboarding so a non-technical user can paste a form, connect a number, and launch in minutes. I also genuinely enjoyed working in Jack and hope the language keeps growing — I'd like to keep building with it.
Built With
- gemini-3.0flash
- geminiapi
- jac
- javascript
- python
- react
- typescript
Log in or sign up for Devpost to join the conversation.