How el-noir/0fill works
ZeroFill is a frontend for authoring and managing AI conversational forms, then sharing them as public chat experiences or embedded widgets. Respondents start a chat, exchange answers, see completion progress, and submit; workspace users manage forms, submissions, organizations, and integrations. The sampled chat hook explicitly calls the public-chat client, while the README and route tree establish the wider management, import, and sharing capabilities. Several dashboard and integration links are omitted because their implementation wiring was not sampled.
Main entry points: ChatClient.tsx Chat interface · useChatSession.ts Chat session · public-chat.ts Public chat API · auth.ts Authentication API
Components 25
Form authoring
- Form creation
src/app/(app)/dashboard/[orgId]/forms/create/page.tsx - Form builder
src/components/form-builder/FormBuilder.tsx - Creation modes
src/components/create-form/index.ts - Google Forms import
src/app/(app)/dashboard/[orgId]/forms/import/page.tsx - Form types
src/app/types/Form.ts
Workspace management
- Organization dashboard
src/app/(app)/dashboard/[orgId]/page.tsx - Forms management
src/app/(app)/dashboard/[orgId]/forms/page.tsx - Submissions
src/app/(app)/dashboard/[orgId]/submissions/page.tsx - Form analytics
src/components/forms/AnalyticsView.tsx - Integration management
src/app/(app)/dashboard/[orgId]/integrations/page.tsx - Organization management
src/app/(app)/dashboard/organizations/page.tsx
Public respondent experience
- Shared chat page
src/app/chat/[token]/page.tsx - Chat interface
src/app/chat/[token]/ChatClient.tsx - Chat session
src/hooks/useChatSession.ts - Chat presentation
src/components/chat/MessageList.tsx - Embed widget
public/widget.js - Widget v1
public/widget/v1.js
Client services
- Public chat API
src/lib/api/public-chat.ts - Forms API
src/lib/api/forms.ts - Integrations API
src/lib/api/integrations.ts - Authentication state
src/stores/authStore.ts - Authentication API
src/lib/api/auth.ts
Other components
- ZeroFill API
- Form creator
- Respondent
Connections 25
- Form creator → Form creation: creates forms
- Form creation → Creation modes: offers modes
- Form creator → Form builder: configures form
- Form creator → Google Forms import: imports form
- Form creator → Organization dashboard: manages workspace
- Form creator → Forms management: manages forms
- Form creator → Submissions: reviews responses
- Form creator → Integration management: configures integrations
- Form creator → Organization management: manages organizations
- Respondent → Shared chat page: opens shared link
- Shared chat page → Chat interface: renders chat
- Chat interface → Chat session: uses session
- Chat interface → Chat presentation: renders messages
- Chat session → Public chat API: starts and sends
- Chat session → Public chat API: tracks embed events
- Public chat API → ZeroFill API: requests chat data
- Respondent → Embed widget: uses embedded form
- Embed widget → Widget v1: loads version
- Forms management → Forms API: form operations
- Forms API → ZeroFill API: requests form data
- Integration management → Integrations API: integration operations
- Integrations API → ZeroFill API: requests integration data
- Authentication API → Authentication state: updates auth state
- Authentication API → ZeroFill API: auth requests
- Form analytics → Submissions: summarizes responses