FormsCAN I VIBECODE
SurveyMonkey?
BUILD FIRST
- One specific customer type and one primary use case
- A vertical slice that completes the main job without manual workarounds
- Visible limits, review steps, and a fallback when an external dependency fails
LEAVE FOR LATER
- Broad third-party integrations
- High-scale collaboration, syncing, and permissions
- Automation that can cause harm without human review
RESEARCH NOTES
What this tool actually does.
SurveyMonkey is a cloud-based survey and form platform. Users create surveys from 500+ expert templates, via an AI prompt that generates a survey in under a minute, or from scratch. It supports question types including multiple choice, rating, matrix, open-ended, and branching/skip/piping logic. Surveys are distributed via email, web links, SMS, QR codes, website embeds, social media, and kiosks, with optional recurring schedules, reminders, and a paid audience panel (335M+ respondents in 130+ countries) for market research. Analysis includes automatic charts, custom multi-survey dashboards, statistical analysis, sentiment analysis on open-ended responses, AI chat-based querying of results, and low-quality response filtering. The platform offers 200+ integrations (Mailchimp, Google Sheets, Microsoft Teams, Zapier), open APIs, enterprise-grade security and privacy controls, and role-based
RESEARCHED BUILD PROMPT
Give this to your coding agent.
Build 'FeatherPoll', a focused web app for creating and running surveys, inspired by the core SurveyMonkey workflow: design a survey, distribute a link, collect responses, and see summarized results. Do not copy SurveyMonkey's brand, logo, copy, color scheme, UI layout, or proprietary assets; create an original, minimal interface.
User-facing requirements:
1. Survey builder: create a survey with a title, intro text, and 1–20 questions. Question types: single-choice (radio), multiple-choice (checkbox), rating scale (1–5), and open-ended text. Support a 'required' toggle per question.
2. AI-assisted creation (preferred): a text prompt field that generates a draft survey (title + questions) via an LLM API; user can edit before publishing.
3. Publishing and collection: on publish, generate a shareable public link (e.g., /s/:surveyId) that requires no login to answer; show intro, questions, and a thank-you message after submission.
4. Results dashboard: for the owner, show response count, per-question breakdown (bar charts for choices/ratings, list view for text answers), export to CSV, and the option to close the survey (stop accepting responses).
5. Simple auth (email + password) so owners can manage multiple surveys, edit/pause/delete, and view results.
Technical requirements:
- Backend: Node.js + Express (or Python FastAPI), SQLite or PostgreSQL for users, surveys, questions, and answers.
- Frontend: server-rendered templates (EJS/Jinja) or a lightweight SPA (React/Vue) — pick one approach and keep it consistent.
- LLM integration: use any OpenAI-compatible API for the AI generation feature; include a clear error state when no API key is set.
- CSV export: generate a flat CSV with one row per response.
- Rate limiting on the public response endpoint (per IP) to prevent spam, plus basic input validation and sanitization.
Implementation approach:
- Keep public response routes separate from owner dashboard routes; use a short UUID for survey links.
- Store question order and options as JSONB columns or a normalized schema with order integers.
- Use database transactions when saving a response (insert response row + answer rows).
- For charts, use a tiny client-side library (e.g., Chart.js) or render inline SVG; avoid heavy dependencies.
Deliberately out of scope:
- No skip/branching logic, template catalog, panel/audience buying, recurring schedules/reminders, collaboration/multi-user roles, integration marketplace, or mobile apps.
- No dark mode, theming engine, or custom-branded survey pages.
README must include: setup steps (env vars, DB migrations, seed script), how to run the LLM feature with and without an API key, and important limitations (no question branching, response spam capped only by rate limiting, LLM output is a draft requiring human review).