LexDev
FormForge
AI form builder with drag-and-drop editing, conditional logic, public renderer, submissions, Stripe billing, and 10 field types — Turnstile verification, GDPR consent, response limits, and export/analytics remain before launch
Competes with Typeform
BuildingLexDev
Key metrics
- Forms publishedNeeds instrumentationNot measured
Public forms currently published across all workspaces.
- Submissions weeklyNeeds instrumentationNot measured
Form submissions received per week across all forms.
- MRRNeeds instrumentationNot measured
Monthly recurring revenue from paid form-builder plans.
Competitive Intel
0 entries
No competitive intel entries for this product yet.
Research Hub
0 types
No research documents for this product yet.
Roadmap
228 items
Done210
**Accessibility audit:** Ensure form renderer meets WCAG 2.1 AA
**AI regeneration:** Allow editing a generated form's prompt and re-running AI
**Analytics dashboard:** Submission counts over time, completion rates, average completion time
**API access design prototype:** Business plan includes API access, but the developer workflow and public contract are not calibrated yet
**CSV export:** Add a response export endpoint (the landing page advertises this feature)
**Env validation at build time:** Currently lazy -- consider failing the build if vars are missing
**Error handling:** Add global error boundaries and tRPC error formatting for user-facing messages
**Form duplication:** Clone an existing form with all its fields
**Form submission validation:** Wire up Turnstile verification server-side in the submit route
**Form versioning:** Track published versions so field changes don't break in-progress submissions
**GDPR consent:** Render the consent checkbox when `gdprConsentEnabled` is true in the form renderer
**i18n:** Multi-language support for form labels and validation messages
**Rate limiting:** Add rate limits to public submission and AI generation endpoints
**Redirect after submit:** Honor `redirectUrl` and `successMessage` settings post-submission
**Response limits:** Enforce `responseLimit` and `closeDate` settings when accepting submissions
**Team/collaboration features prototype:** Business plan advertises 10 team members but no calibrated team workflow exists yet
**Testing:** No test files exist yet -- add unit tests for field validation logic and integration tests for tRPC routers
**Theme CRUD:** Users can currently assign themes but there's no UI to create/edit custom themes
Archive and remove `research/_working/preliminary-swot-research.md`.
Archive and remove active working packet: `research/_working/preliminary-feature-pricing-matrix-research.md`.
Archive and remove active working packet: `research/_working/preliminary-strategic-group-map-research.md`.
Archive and remove active working packet: `research/_working/preliminary-strategic-group-map-research.md`.
Archive and remove active working packet: `research/_working/preliminary-swot-research.md`.
Archive and remove consumed working state: `research/_working/preliminary-competitive-analysis-research.md` and `research/_working/competitive-analysis-run.yaml`.
Archive and remove consumed working state: synthesis packet and run manifest.
Archive review-stage Feature/Pricing Matrix artifacts.
Archive review-stage ICP artifacts.
Archive review-stage Porter artifacts.
Archive the current Porter review alignment page and working packet.
Archive the review-stage ICP alignment page and working packet under `docs/history/archive/2026-06-15/<timestamp>/`.
Build review alignment page: `alignment/journey-map-formforge.html`.
Build review page: `alignment/competitive-analysis-synthesis-formforge.html`.
Build review page: `alignment/porter-five-forces-formforge.html`.
Build review page: `alignment/strategic-group-map-formforge.html`.
Build review page: `alignment/swot-formforge.html`.
Build the Strategic Group Map review alignment page.
Build the SWOT review alignment page.
Build the synthesis review alignment page.
Build/update the Porter review alignment page.
Check current competitor/API evidence for whether MCP/CLI-style agent-first access is a differentiated wedge.
Commit and push intended tracked changes after verification.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push the revision.
Confirm completed framework intermediates and missing Strategic Group Map intermediate.
Convert `alignment/icp-formforge.html` from review to confirmed and preserve the approval record.
Convert `alignment/porter-five-forces-formforge.html` to confirmed and preserve approval decisions.
Convert `alignment/swot-formforge.html` to confirmed and preserve the approval record.
Create `research/.progress.yaml` with active FormForge scope plus approved deferred/revisit entries.
Create approved secondary-path manifest: `research/.progress.yaml`.
Create review alignment page: `alignment/competitive-analysis-formforge.html`.
Create review alignment page: `alignment/journey-map-formforge.html`.
Gather approved ICP, existing framework outputs, and current public source evidence.
Gather approved ICP, existing framework outputs, repo context, and current public source evidence.
Gather current ICP/product context and Porter framework instructions.
Gather current repo, ICP, and Porter context for product-grounded strengths/weaknesses.
Gather FormForge ICP/product context and Porter framework instructions.
Gather FormForge ICP/product context, Porter context, and repo evidence.
Gather minimal scope evidence from ICP, competitive analysis, README, CLAUDE, and package metadata.
Gather minimal Stage 1 scope evidence from approved research and repo context.
Gather scope context from `README.md`, `research/icp.md`, `research/concept-brief.md`, package metadata, and source layout.
Keep canonical `research/competitive-analysis-swot.md` unwritten until a final approval payload is returned.
Mark `alignment/competitive-analysis-synthesis-formforge.html` confirmed with approval record preserved.
Mark `alignment/competitive-analysis-synthesis-formforge.html` confirmed with the approval record preserved.
Mark `alignment/feature-pricing-matrix-formforge.html` confirmed and preserve approval decisions.
Mark `alignment/feature-pricing-matrix-formforge.html` confirmed with the approval record preserved.
Mark `alignment/icp-formforge.html` confirmed and preserve approval decisions.
Mark `alignment/porter-five-forces-formforge.html` confirmed and preserve approval decisions.
Mark `alignment/strategic-group-map-formforge.html` confirmed with the approval record preserved.
Mark `alignment/strategic-group-map-formforge.html` confirmed with the approval record preserved.
Mark `alignment/swot-formforge.html` confirmed with the approval record preserved.
Read approved framework intermediates and active product context.
Read approved ICP and repo context needed for scope selection.
Read the approved intermediate artifacts, ICP, source logs, and pack availability context.
Reconcile approval YAML with the active Strategic Group Map working packet and page.
Reconcile approval YAML with the active SWOT working packet and review page.
Reconcile approval YAML with the Feature/Pricing Matrix working packet and review page.
Reconcile approval YAML with the Porter working packet and review page.
Reconcile final approval YAML with the active Feature/Pricing Matrix working packet and page.
Reconcile final approval YAML with the active Strategic Group Map working packet and page.
Reconcile final approval YAML with the active SWOT working packet and page.
Reconcile final approval YAML with the active synthesis working packet and page.
Reconcile final approval YAML with the active synthesis working packet and review page.
Reconcile the approval YAML against the active working packet and review page.
Reconfirm repo and concept context for the approved customer-discovery scope.
Reconfirm the active ICP working packet and alignment page are still review-stage.
Reconfirm the ICP working packet and alignment page are still review-stage.
Record approved selected-framework manifest.
Record the approved framework manifest at `research/_working/competitive-analysis-run.yaml`.
Record verification results in `tasks/todo.md`.
Record verification results.
Refresh current competitor/pricing/source facts where needed.
Refresh volatile competitor/pricing/source facts with current web checks where needed.
Replace the pricing canvas with readable HTML/CSS bars.
Replace the pricing canvas with readable HTML/CSS bars.
Resolve active FormForge research scope and existing journey-map state.
Resolve active FormForge research scope from `research/.progress.yaml`.
Resolve active research scope from `research/.progress.yaml`.
Resolve active scope and journey-map state from filesystem and progress manifest.
Resolve competitive-analysis state from `research/_working/competitive-analysis-run.yaml`.
Resolve run state and confirm Strategic Group Map is the only pending framework.
Resolve synthesis state from `research/_working/competitive-analysis-run.yaml`.
Resolve synthesis state from the manifest and approved intermediate files.
Revise SWOT review for agent-first MCP/CLI wedge feedback.
Revise the non-canonical SWOT working packet and review page with the finding.
Run cited source research for rivalry, entrants, substitutes, buyer power, and supplier power.
Run cited web/source research for external opportunities and threats.
Run cited web/source research for the market boundary and five forces.
Run current cited source research for SWOT opportunities and threats.
Run current web/source checks for ICP candidate evidence, alternatives, pricing/WTP, and source gaps.
Stop for compiled YAML approval before creating `research/_working/competitive-analysis-run.yaml` or running any framework research.
Stop for compiled YAML approval before creating the run manifest or running a framework.
Stop for compiled YAML approval before running framework research.
Update `alignment/index.html` if confirmation metadata changes.
Update `alignment/index.html` so ICP is shown as confirmed.
Update `research/.progress.yaml` and central alignment index.
Update central alignment index and `research/.progress.yaml`.
Update central alignment index for confirmed ICP status.
Update central alignment index for the new review page.
Update central alignment index for the new review page.
Update central alignment index for the new review page.
Update central alignment index if needed.
Update central alignment index if needed.
Update central alignment index if needed.
Update central alignment index if needed.
Update central alignment index.
Update central alignment index.
Update central alignment index.
Update central alignment index.
Update feedback panel lookup and local YAML handling.
Update feedback panel lookup and local YAML handling.
Update Stage 2 review page: `alignment/customer-discovery-formforge.html`.
Update task tracking docs with the execution plan.
Update task tracking docs with this execution plan.
Update the central alignment index if needed.
Update the central alignment index.
Update the central alignment index.
Update the central alignment index.
Verify artifact structure, archive state, and git diff.
Verify artifact structure, archive state, confirmed page controls, and git diff.
Verify artifact structure, archive state, confirmed page controls, and git diff.
Verify artifact structure, archive state, confirmed page controls, and git diff.
Verify artifact structure, archive state, confirmed page controls, and git diff.
Verify artifact structure, archive state, confirmed page controls, and git diff.
Verify artifact structure, archive state, confirmed page controls, and git diff.
Verify artifact structure, page controls, script syntax, and git diff.
Verify artifacts, archive state, confirmed page controls, and git diff.
Verify canonical artifact, archive state, confirmed page controls, and git diff.
Verify canonical artifact, archive state, confirmed page controls, and git diff.
Verify canonical artifact, archive state, confirmed page, and git diff.
Verify framework-review outputs and git diff.
Verify framework-review outputs and git diff.
Verify framework-review outputs and git diff.
Verify inline JavaScript syntax and interaction-critical markup/script paths.
Verify inline JavaScript syntax and interaction-critical markup/script paths.
Verify outputs, task docs, and git diff.
Verify review artifacts and git diff.
Verify review artifacts, task docs, and git diff.
Verify review artifacts, task docs, and git diff.
Verify review artifacts, task docs, page script, and git diff.
Verify review page gates, index entry, and git diff.
Verify revised review artifacts remain non-canonical.
Verify the packet/page and confirm canonical research files remain untouched.
Verify the page includes approval gates, no synthesized competitor findings, and the expected TTS script.
Verify the page includes scope evidence, framework-selection gates, agent routing, TTS script, and no synthesized journey findings.
Verify the review page and confirm no run manifest or canonical journey-map artifacts were written.
Write `research/competitive-analysis-porter-five-forces.md` from the approved packet.
Write `research/icp-search-log.md` with query, evidence, scoring, source coverage, and gap details.
Write `research/icp.md` from the approved working packet using canonical ICP headings.
Write approved canonical artifact: `research/competitive-analysis-feature-pricing-matrix.md`.
Write approved canonical artifact: `research/competitive-analysis-strategic-group-map.md`.
Write approved canonical artifact: `research/competitive-analysis-strategic-group-map.md`.
Write approved canonical artifact: `research/competitive-analysis-swot.md`.
Write approved canonical artifact: `research/competitive-analysis.md`.
Write approved canonical ICP report: `research/icp.md`.
Write approved canonical search log: `research/competitive-analysis-search-log.md`.
Write approved ICP search/evidence log: `research/icp-search-log.md`.
Write canonical `research/competitive-analysis-swot.md` from the approved packet.
Write canonical artifacts: `research/competitive-analysis.md` and `research/competitive-analysis-search-log.md`.
Write canonical Feature/Pricing Matrix report: `research/competitive-analysis-feature-pricing-matrix.md`.
Write canonical Porter report: `research/competitive-analysis-porter-five-forces.md`.
Write non-canonical working packet: `research/_working/preliminary-competitive-analysis-research.md`.
Write non-canonical working packet: `research/_working/preliminary-customer-discovery-research.md`.
Write non-canonical working packet: `research/_working/preliminary-porter-five-forces-research.md`.
Write non-canonical working packet: `research/_working/preliminary-strategic-group-map-research.md`.
Write non-canonical working packet: `research/_working/preliminary-swot-research.md`.
Write the non-canonical Porter working packet.
Write the non-canonical Strategic Group Map working packet.
Write the non-canonical SWOT working packet.
Write the non-canonical synthesis working packet.
Write the scope-selection alignment page at `alignment/competitive-analysis-formforge.html`.
Planned18
**Partial responses / save & resume:** Allow respondents to save progress on long forms
**Webhook integrations:** Let users forward submissions to Zapier, Slack, etc.
Add `.env.example` with all required variables from `src/env.ts`
Add database indexes on `forms.slug`, `forms.userId`, `formFields.formId` for query performance
Commit and push intended tracked changes.
Commit and push intended tracked changes.
Commit and push the intended tracked changes if verification passes.
Deduplicate slug generation logic (exists in both `form.ts` router and `generate-form.ts`)
Move OpenAI client initialization behind `getEnv()` instead of reading `process.env` directly
Reconfirm repo context and prior seed artifacts.
Replace boilerplate README with project-specific documentation
Run current web/source checks across approved source categories.
Set up CI (lint, type-check, tests) and pre-commit hooks
Synthesize a non-canonical customer-discovery working packet.
Update `alignment/customer-discovery-formforge.html` as a Stage 2 review page.
Update `alignment/index.html` if needed.
Verify files render and no canonical research files changed.
Verify required sections, removed working packet, archive paths, and git diff.
Timeline
20 events
June 2026
commit
Add service blueprint journey review
Jun 20static-
commit
Add journey map framework selection review
Jun 20static-
commit
Finalize competitive analysis synthesis
Jun 19static-
commit
Add competitive analysis synthesis review
Jun 19static-
commit
Finalize strategic group map analysis
Jun 18static-
commit
Add strategic group map review
Jun 18static-
commit
Record feature pricing shipment
Jun 18static-
commit
Finalize feature pricing matrix
Jun 18static-
commit
Record feature pricing alignment shipment
Jun 18static-
fix
Fix feature pricing alignment interactions
Jun 18static-
commit
Add feature pricing matrix review
Jun 17static-
commit
Wrap SWOT session artifacts
Jun 16static-
commit
Record SWOT finalization shipment
Jun 16static-
commit
Finalize SWOT competitive analysis
Jun 16static-
commit
Revise SWOT agent access wedge
Jun 16static-
commit
Add SWOT competitive analysis review
Jun 16static-
commit
Mark Porter finalization shipped
Jun 15static-
commit
Finalize Porter five forces artifact
Jun 15static-
commit
Mark Porter review shipped
Jun 15static-
commit
Add Porter five forces review
Jun 15static-