NeuroForm is an AI‑native intake engine that replaces traditional forms with adaptive, conversational dialogue. It captures structured data in a pre‑configured JSON/YAML schema format through a chat‑like experience—ideal for onboarding, registration, and data collection. NeuroForm is a generic library: you bring your own LLMs/agents and your own data sink.
| Layer | Technology / Notes |
|---|---|
| UI Library | Angular 20 (standalone components), published as libs/neuroform |
| Demo App | Angular 20 app in apps/demo-app |
| AI Orchestration | LangChain, LangGraph (optional) |
| LLM Providers | Configurable (e.g., OpenAI, Anthropic, Google, Local) via LangChain adapters |
| Schema | JSON/YAML schema describing entities/fields, dependencies, validations |
| Storage | Pluggable storage provider (file/API/queue/DB). No built‑in database required. |
| Auth | BYO (optional). NeuroForm does not enforce or bundle authentication. |
| Packaging | Nx workspace, ng-packagr for the library |
- Formless Intake: No static fields—just intelligent, conversational prompts
- Schema‑Aware Capture: Maps user responses to a structured JSON object that matches your schema
- Provider‑Driven AI: Plug in the LLM/agent of your choice (OpenAI, Anthropic, Google, local models, etc.)
- Pluggable Storage: Send captured JSON to any API, queue, or datastore through a storage provider
- Dependency‑Aware Questions: Dynamically adapts questions based on schema dependencies and prior answers
- Angular‑Native UX: Standalone components you can drop into any Angular 20 app
- Extensible Domains: Easily adapt flows for healthcare, onboarding, legal, and more
- User onboarding for SaaS platforms
- Healthcare intake for clinics or wellness apps
- Legal or financial data collection
- Feedback, surveys, and conversational diagnostics
- Self-reflection and therapeutic journaling (e.g., Consciousness app)
git clone https://github.com/your-org/neuro-form.git
cd neuro-formpnpm installNeuroForm uses provider interfaces to stay vendor‑neutral. Configure them in your Angular app (e.g., app.config.ts).
Example: OpenAI via LangChain + custom HTTP storage
// app.config.ts
import { ApplicationConfig } from '@angular/core';
import { provideAI, provideStorage } from '@neuroform/neuroform';
import { AIProvider, StorageProvider } from '@neuroform/neuroform';
export const appConfig: ApplicationConfig = {
providers: [
provideAI({
provider: AIProvider.OPENAI,
apiKey: process.env['OPENAI_API_KEY'],
model: 'gpt-4o-mini',
temperature: 0.2,
}),
provideStorage({
provider: StorageProvider.CUSTOM,
options: {
endpoint: 'https://your.api/ingest',
method: 'POST',
headers: { Authorization: `Bearer ${process.env['API_TOKEN']}` },
},
}),
],
};See libs/neuroform/src/lib/providers/examples for additional provider examples (e.g., OpenAI, Firebase storage sample). Firebase is optional and not required.
[User]
↓
[Angular 20 UI (NeuroForm components)]
↓
[Conversation Engine + Schema Processor]
↓ ↓
[AI Provider (configurable)] [Storage Provider (optional/configurable)]
- Prompts are dynamically generated based on your JSON/YAML schema and conversation context
- Responses are validated against the schema and emitted as a structured JSON object
- The AI provider (LLM/agent) is selected at runtime via configuration
- The storage provider can forward the JSON to any API/datastore you choose
- NeuroForm does not bundle authentication or persistence; integrate with your existing controls
- Keep API keys and tokens outside source control (environment variables, secret managers)
- Validate and sanitize data at integration boundaries
- Designed to support compliance‑oriented deployments depending on your chosen stack
We welcome contributions! Please submit issues, feature requests, or pull requests.
git checkout -b feature/my-feature
pnpm run lint
pnpm run testSpectrayan