ChaiForms
Typeform-style form builder SaaS on Turborepo — dynamic Zod schemas, tRPC APIs, Drizzle ORM, public/unlisted forms, Scalar docs, and judge-ready seeded demo data.
Timeline
ChaiCode — Form Builder SaaS Hackathon (Turborepo)
Role
Full Stack
Team
Solo
Hackathon Rank
Rank #36
Status
CompletedKey Challenges
- Extending the trpc-monorepo starter into a complete Typeform-style SaaS
- Dynamic form schemas with Zod validation across shared monorepo packages
- Public vs unlisted visibility with rate limiting on public submissions
- Demo-ready deployment with seeded forms, themes, responses, and credentials
Key Learnings
- Turborepo monorepo with shared schemas, types, and tRPC clients
- Drizzle ORM database design for dynamic form fields and responses
- Scalar API documentation and production deployment on Cloud Run + Vercel
Overview
ChaiForms is a production-style form builder SaaS built for the ChaiCode Form Builder SaaS hackathon, where it placed Rank #36 among finalists on the official leaderboard.
The track required extending the piyushgarg-dev/trpc-monorepo starter into a Typeform-style product: creator auth, dynamic fields with Zod validation, public and unlisted form visibility, public submission without login, response analytics, landing and pricing pages, Scalar API docs, and a deployed demo with seeded data and credentials — all using Turborepo, tRPC, Zod, and Drizzle ORM.
Key Features
- Drag-and-drop form builder with 9 field types and conditional logic
- Public forms in explore galleries vs unlisted forms accessible only by direct link
- 8 visual themes (anime, startup, tech, OS, game, movie, event, default)
- Type-safe tRPC APIs, Zod schema validation, and Drizzle ORM persistence
- Rate-limited public submission, analytics, QR sharing, and email notifications
- Scalar API documentation and judge-ready demo with seeded sample data
Evaluation Feedback
The judges described ChaiForms as a well-architected form builder SaaS with solid backend engineering — final score 74/100. The Turborepo structure followed the starter precisely (2 apps, 11 packages), authentication was production-grade with multiple providers and comprehensive protected procedures, and the database design stood out with JSONB-stored dynamic schemas and typed EAV response storage.
Score Breakdown
- Monorepo Structure & Starter Code Usage: 7/10
- API Documentation With Scalar: 3/3
- Authentication & Creator Access: 7/10
- Dynamic Form Builder: 11/15
- Zod Schema Design & Validation: 8/15
- Type-Safe APIs With tRPC: 7/10
- Database Design With Drizzle: 9/10
- Public Form Submission & Response Ingestion: 8/12
- Analytics & Response Management: 7/8
- Product Experience & Demo Readiness: 7/7
Highlights called out by the judges: 9 field types, drag-and-drop, 16-operator conditional logic, 8 themes, fully configured Scalar docs (54 annotated procedures), and a live deployment seeded with demo data. Areas for improvement: honeypot/captcha spam protection, multi-page builder UI, and dynamic Zod schema generation (validation is done via an imperative validateAnswers() switch rather than generated schemas).