{"repo":"Luigigreco/gitforms","free":true,"listed":false,"github":"https://github.com/Luigigreco/gitforms","clone":"git clone https://github.com/Luigigreco/gitforms.git","description":"🎯 Zero-cost contact forms for landing pages using GitHub Issues as free database. Open-source alternative to Typeform/Tally/FormSpree. Next.js 14, TypeScript, Tailwind CSS. €0/month.","language":"TypeScript","stars":159,"topics":["contact-form","github-issues","lead-capture","nextjs","no-database","open-source","self-hosted","serverless","tailwind-css","typeform-alternative"],"license":null,"category":"self-hosted-apps","readme_excerpt":"GitForms Zero-cost contact forms for your landing page - powered by GitHub Issues. Every time someone submits your contact form, you receive an automatic email notification. No monthly fees, no external database. GitForms = Free alternative to Typeform, Tally, and FormSpree Features - ✅ 100% Configurable without code (JSON files) - ✅ Automatic email notifications for every submission - ✅ Multilingual (IT/EN) with auto browser language detection — fully implemented - ✅ Customizable styling (colors, borders, shadows) - ✅ Customizable text (labels, messages, buttons) - ✅ Next.js 14 with App Router - ✅ TypeScript - ✅ Tailwind CSS - ✅ Deploy anywhere (Vercel, Netlify, Railway, Docker, AWS...) - ✅ Completely free - ✅ Rate limiting — max 3 submissions/min per IP (HTTP 429 + Retry-After) - ✅ Spam protection — honeypot field + server-side spam scoring - ✅ Input sanitization — strips markdown/HTML injection before GitHub API - ✅ Config-driven architecture — add fields in fields.json , no code changes needed - ✅ react-hook-form + Zod validation — same schema on frontend and backend - ✅ AI lead classification — optional Claude Haiku integration (intent + urgency labels) - ✅ Test suite — Vitest coverage for rate limit, sanitize, and API route How It Works Quick Setup Open http://localhost:3000 🎨 Customization (ZERO Code!) 1. Change All Colors File: config/theme.json Popular colors: - Purple: #8b5cf6 , #7c3aed , #a78bfa - Orange: #f97316 , #ea580c , #fb923c - Pink: #ec4899 , #db2777 , #f4","default_branch":null,"files":null,"tree":[],"storefront":"/r/Luigigreco","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Luigigreco/gitforms/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}