an art form
Navigate any form with confidence. Step-by-step walkthroughs, common mistake alerts, and community wisdom — all in one place.
Live at 1form.io
Filling out forms shouldn't be stressful. Whether it's a visa application, a tax document, or a driver's license renewal, 1Form provides:
- Step-by-step walkthroughs — field-by-field guidance with clear explanations
- Common mistake alerts — learn from others' errors before you make them
- Real examples — see what correct entries look like
- Community discussion — ask questions and share tips via GitHub Discussions
| Form | Category | Difficulty |
|---|---|---|
| DS-160 (US Visa Application) | Immigration | Hard |
| W-4 (Employee's Withholding Certificate) | Tax | Medium |
| I-9 (Employment Eligibility Verification) | Employment | Medium |
| MA Driver's License Application | Government | Easy |
| Adventure Sports Consent & Waiver | Legal | Easy |
- Next.js 16 (App Router)
- TypeScript
- Tailwind CSS v4
- Framer Motion for animations
- Giscus for GitHub Discussions-backed comments
- Lucide for icons
# Clone the repo
git clone https://github.com/MisterAwesome23/1Form.git
cd 1Form
# Install dependencies
npm install
# Start the dev server
npm run devOpen http://localhost:3000 in your browser.
src/
app/ # Next.js App Router pages
forms/
[slug]/ # Dynamic form detail pages
walkthrough/ # Interactive walkthrough experience
components/
catalog/ # Form catalog with search & filters
community/ # Giscus comments integration
landing/ # Homepage sections
layout/ # Header, Footer, ThemeProvider
shared/ # Reusable components (FadeIn, etc.)
walkthrough/ # Walkthrough shell & step renderer
data/
forms/ # Form walkthrough data (TypeScript)
hooks/ # Custom React hooks
lib/ # Utilities & constants
types/ # TypeScript type definitions
- Create a new data file at
src/data/forms/your-form.ts - Export a
formMetaobject (typeFormMeta) and aformWalkthroughobject (typeFormWalkthrough) - Register the form in
src/lib/forms.tsby adding it to theFORM_REGISTRY - Run
npm run buildto verify static generation
See src/data/forms/w-4.ts for a reference implementation.
Contributions are welcome! The easiest way to contribute is by adding walkthroughs for new forms.
- Fork the repo
- Create a branch (
git checkout -b add-form-xyz) - Add your form data file in
src/data/forms/ - Register it in
src/lib/forms.ts - Test with
npm run build - Open a PR
This project is designed to deploy on Vercel:
- Push to GitHub
- Import the repo on vercel.com/new
- Vercel auto-detects Next.js — just click Deploy
- Add your custom domain (
1form.io) in Project Settings > Domains
MIT License. See LICENSE for details.