# Yohaku

> Build, publish, embed, and analyze thoughtful forms with AI-assisted drafting, flexible layouts, conditional logic, and privacy-aware analytics.

Yohaku is a self-hosted, AI-native form platform for focused teams. It keeps authoring, publishing, response collection, delivery, analytics, and AI-assisted interpretation in one workspace.

- Product page: [Yohaku](https://yohaku.selfhood.studio/)
- Runtime: Next.js 16, React 19, TypeScript, Bun, MySQL, and S3-compatible object storage
- AI providers: Anthropic, OpenAI, OpenRouter, and DeepSeek

## Capabilities

- AI-assisted form drafting, refinement, and brand grounding
- Conversational, classic, and paged layouts with conditional logic and calculations
- Password protection, scheduled closing, response caps, and self-sizing site embeds
- Share kit with public link, QR code, and HMAC-signed webhooks
- Content-verified file uploads to S3-compatible storage
- Response notifications and receipts over Resend, Brevo, or SMTP
- Response analytics with funnel, source, device, and country breakdowns
- Partial response saving, starring, and CSV or JSON export
- Bounded AI analysis of response data
- Role-based access with capability overrides

## Common questions

### What can I build with Yohaku?

Conversational surveys, RSVP flows, product-feedback forms, research questionnaires, applications, intake forms, and internal check-ins. One draft publishes as a conversation, a classic single page, or a paged flow, with branching, answer recall, public links, and embeds throughout.

### Which AI providers can I use?

Anthropic, OpenAI, OpenRouter, and DeepSeek are supported. The superuser can store provider keys, set exact model names, and choose the workspace default from Settings. Keys are encrypted before storage and never returned to the browser.

### Does the core workflow require an AI key?

No. Building, publishing, collecting responses, reviewing analytics, and exporting data all work without one. Provider keys add drafting, refinement, brand grounding, and response analysis.

### Can respondents upload files?

Yes, once the superuser connects an S3-compatible bucket in Settings. Uploads are verified against their file signature, capped by size, and counted against a workspace quota and a per-form quota. Until storage is connected, the file question is withheld with a reason rather than published broken.

### Who gets emailed when a response arrives?

Whoever you route it to. Each form can notify a list of team addresses, send the respondent a receipt at their answered email question, or both. Delivery runs through Resend, Brevo, or SMTP in your chosen order, with a durable outbox and scheduled retries behind it.

### Can I put a form on my own site?

Yes. Form settings and the studio share sheet hand you the public link, a matching QR code, and an iframe snippet. The embed script sizes each frame to the form inside it. A password-protected form links out to its own page instead, because the access cookie cannot be trusted inside a third-party frame.

### What do the analytics actually show?

Views, starts, and completions over 24 hours to 90 days, the question where people stop, and a breakdown by source, device, and country. Identifiers are hashed, campaign URLs are not stored, and an empty range is reported as empty rather than filled in.

### Can teammates have different access?

Yes. The first account is the protected superuser. It can add admins, creators, analysts, and viewers, then grant or revoke individual capabilities such as publishing, deleting, exporting, or using AI.

### How do I deploy Yohaku?

Run the Next.js app with Bun and point it at MySQL. The database URL and authentication secret stay in the deployment environment; AI, email, and storage credentials are managed by the superuser inside Yohaku.
