The problem

Small businesses and solo operators constantly need forms: customer feedback surveys, event registrations, lead capture, course evaluations, support requests, applications, and payment-related intake. The form itself is only the beginning. Operators also need a public link, response storage, spreadsheet exports, analytics, follow-up actions, and sometimes an incentive or prize workflow. Traditional form builders make the operator configure each field manually and then connect several unrelated tools. This is slow, error-prone, and especially difficult for people who do not have technical or data-operations staff.

The MaruForm solution

MaruForm turns a natural-language request into a production-ready form workflow. A user can ask for a customer satisfaction survey, registration form, or feedback questionnaire in Korean, English, or Japanese. Gemini returns a structured JSON form schema with a title, description, field types, labels, validation-oriented properties, and options. MaruForm sanitizes that schema into its supported form model and places it in a visual drag-and-drop builder. The human can review and edit the generated form, explicitly save it, set a plan-appropriate expiration date, and publish it as a public /f/[formId] form.

Once published, respondents can submit without an account. MaruForm records response metadata, stores response data in MongoDB, and can append response rows to Google Sheets and organize Drive folders when the user has enabled Google Workspace storage. The owner can view responses, export data, inspect charts, and request a Gemini-generated executive summary with sentiment, key takeaways, and recommended action items. The platform also supports a gifticon/voucher incentive workflow for eligible plans: an owner can configure an incentive, draw winners from deduplicated responses, generate voucher codes, and dispatch winner notifications through the gifticon workflow.

How AI works in the product

Gemini is an operational component, not a decorative chatbot. In the form-generation path, the user provides the business requirement and Gemini chooses a practical schema: field types, labels, options, and language. The API enforces the allowed field-type set, normalizes names and options, and returns a form that the human can inspect before saving or publishing. In the response-analysis path, Gemini receives a bounded sample of collected responses and produces a structured report: executive summary, sentiment classification, key takeaways, and action items. The system records the model used in the API response so the operation is inspectable.

MaruForm also exposes MCP capabilities for AI clients. The MCP tool layer supports template listing, form listing, form retrieval, form creation, and form publishing. This enables an external agent such as Codex, Claude, ChatGPT, Cursor, or another MCP-compatible client to operate the form lifecycle through a controlled tool interface rather than through fragile screen automation.

Human and AI responsibilities

The human supplies the business goal, reviews the generated schema, approves the final form, and owns decisions that require context, consent, or accountability. Gemini handles schema drafting and response synthesis. MaruForm handles validation, persistence, publication rules, authentication, storage routing, payment-plan limits, and the final user-controlled save/publish action. This division keeps generation fast without making the AI an invisible source of irreversible business changes.

What we built and learned

The product is implemented as a Next.js App Router application with TypeScript and Bun. The main engineering challenges were enforcing a stable schema boundary around variable AI output, preserving language consistency, routing data across MongoDB and Google services, and making the generated form useful without forcing users to trust an unreviewed answer. We addressed those challenges with explicit JSON instructions, field sanitization, language detection and mandates, human confirmation before persistence, plan-aware expiration policies, and end-to-end scenario verification.

MaruForm's goal is to reduce the time between a business idea and a usable data-collection workflow from hours of configuration to seconds of assisted generation, while keeping the operator in control of what is published and how customer data is stored.

Built With

Share this project:

Updates