Overview
Discover what makes Input powerful
Input is a self‑hosted, no‑code platform for building lightweight, brandable forms and polls. From a developer’s standpoint it is essentially a full‑stack PHP application that exposes RESTful endpoints for form definition, submission handling, and analytics. The core idea is to let teams ship forms without relying on third‑party SaaS, while still offering a polished UI and easy theming.
Backend
Frontend
Database
APIs
Overview
Input is a self‑hosted, no‑code platform for building lightweight, brandable forms and polls. From a developer’s standpoint it is essentially a full‑stack PHP application that exposes RESTful endpoints for form definition, submission handling, and analytics. The core idea is to let teams ship forms without relying on third‑party SaaS, while still offering a polished UI and easy theming.
Technical Stack & Architecture
- Backend: Laravel 9 (PHP 8.1) is the primary framework. The project uses Laravel Sail for local Docker‑based development, which bundles a full LAMP stack (nginx, MySQL, Redis) inside containers.
- Frontend: The UI is built with Blade templates enhanced by Alpine.js for interactivity, while Laravel Mix (Webpack) compiles assets. Developers can extend the UI by adding Vue/React components if desired, thanks to the modular asset pipeline.
- Database: MySQL (or MariaDB) is used for persisting form schemas, submissions, and analytics. Redis powers session storage and queue workers (for email notifications or background analytics).
- APIs: Input exposes a JSON API under
/api/formsand/api/submissions. The routes are protected via Laravel Sanctum, allowing OAuth‑style token authentication for external integrations. Webhooks can be configured per form to push submission data to downstream services.
Core Capabilities for Developers
- Form Schema Management: CRUD endpoints let you programmatically create, update, and delete form definitions. The schema is stored as JSON in a
formstable, enabling dynamic rendering on the client side. - Submission Handling: Submissions are validated against the stored schema and persisted in a
submissionstable. Developers can hook into submission events via Laravel’s event system or use webhooks to push data elsewhere. - Analytics & Export: A lightweight reporting layer aggregates submission counts, field distributions, and response times. Data can be exported as CSV/JSON for further analysis.
- Theming & Branding: CSS variables are exposed in the admin UI, allowing programmatic theme changes. You can also inject custom CSS/JS via a settings table or environment variables.
Deployment & Infrastructure
Input is container‑first. A single docker-compose.yml (provided by Sail) spins up all required services, and a Docker volume (input-data) persists database files. For production, the repository recommends copying .env.example, generating an APP_KEY, and running:
docker compose up -d
Scaling is straightforward: the app is stateless except for session storage, so you can run multiple container replicas behind a load balancer. Redis and MySQL can be swapped for managed services if desired.
Integration & Extensibility
- Plugin System: While not yet fully fleshed out, the codebase contains a
pluginsdirectory where developers can drop PHP classes that hook into events. - Webhooks & API: Every form can register multiple webhook URLs that receive POST requests on submission.
- Custom Actions: By leveraging Laravel’s service container, you can inject custom validation logic or post‑processing steps into the submission pipeline.
- CLI Tools: Sail provides Artisan commands (
sail artisan migrate,sail test) that can be scripted in CI/CD pipelines.
Developer Experience
The project follows Laravel conventions, so familiar routing, Eloquent models, and Blade syntax make onboarding quick. Documentation is minimal but pragmatic; the README covers environment setup, task automation via mise, and production deployment steps. Community support is limited (early stage), but the open‑source license encourages contribution, and the maintainers are responsive via email.
Use Cases
- Enterprise In‑House Surveys: Companies that need GDPR‑compliant, on‑premise survey tools can host Input behind their firewall.
- Event Registration: Event organizers can create custom registration forms with branded themes and export attendee lists.
- Internal Feedback Loops: Teams can build quick polls for retrospectives or sprint planning without external services.
- Educational Platforms: Schools can host quizzes and collect responses locally, ensuring student data stays within the institution.
Advantages Over Alternatives
| Feature | Input | TypeForm / Google Forms |
|---|---|---|
| Self‑hosting | ✅ | ❌ |
| Branding control | Full CSS/JS injection | Limited |
| Open‑source license | ✔️ | ❌ (proprietary) |
| Extensibility | Event hooks, webhooks, plugins | Limited API |
| Performance | Laravel + MySQL; can scale horizontally | Cloud‑based, shared resources |
| Compliance | On‑prem GDPR control | Third‑party hosting |
Developers who prioritize data sovereignty, custom integration points, and low operational overhead will find Input a compelling alternative to commercial form builders. Its Laravel foundation ensures rapid feature development, while Docker simplifies deployment across environments.
Open SourceReady to get started?
Join the community and start self-hosting Input today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Genealogy
Build and share family trees with a modern PHP stack
bin
Minimalist paste bin in Rust
GoToSocial
Self-hosted apis-services
Spectrum 2
Cross‑network instant messaging for self‑hosted users
Khoj
Your AI second brain for research and knowledge
Tinode
Decentralized, mobile‑first instant messaging platform