Overview
Discover what makes Fider powerful
Fider is a self‑hostable, feature‑request and voting platform designed for product teams that need a lightweight yet powerful feedback loop. From a technical standpoint, it exposes a RESTful API and WebSocket endpoints that allow external services to create, update, and query ideas, votes, comments, and user sessions. The application is built as a single‑page app (SPA) that communicates with a backend over JSON, enabling developers to embed Fider as an iframe or integrate it directly into existing dashboards.
Frontend
Backend
Database
Authentication & Authorization
Overview
Fider is a self‑hostable, feature‑request and voting platform designed for product teams that need a lightweight yet powerful feedback loop. From a technical standpoint, it exposes a RESTful API and WebSocket endpoints that allow external services to create, update, and query ideas, votes, comments, and user sessions. The application is built as a single‑page app (SPA) that communicates with a backend over JSON, enabling developers to embed Fider as an iframe or integrate it directly into existing dashboards.
Architecture & Technical Stack
- Frontend: React (with Hooks and Context) powered by Vite, bundled with Rollup. The UI is highly component‑driven and supports theming via CSS variables, making it straightforward to override branding. The SPA communicates with the backend using Axios for HTTP and native WebSocket for real‑time updates.
- Backend: Node.js (v20+) running an Express-like framework called
@fider/core. The core is written in TypeScript, providing strong typing across the codebase. Business logic is split into services (e.g.,IdeaService,VoteService) and middleware for authentication. - Database: PostgreSQL is the default data store, accessed through Knex.js. The schema includes tables for users, ideas, votes, comments, tags, and OAuth tokens. Migrations are managed via Knex, allowing developers to version‑control schema changes.
- Authentication & Authorization: Fider supports OAuth2 out of the box, with providers such as Google, GitHub, Azure AD, and Discord. Access control is role‑based (admin, moderator, user) and can be configured per instance through a YAML/JSON file.
- Deployment: The application ships as a Docker image (
ghcr.io/getfider/fider) with all dependencies pre‑bundled. A singledocker-compose.ymlfile can spin up the app and a PostgreSQL instance, making it trivial to run locally or in production. For larger deployments, the image can be deployed on Kubernetes with Helm charts available.
Core Capabilities & APIs
- REST API: Endpoints for CRUD operations on ideas, votes, comments, and users. Pagination, filtering, and sorting are supported via query parameters.
- Webhooks: Configurable POST hooks that fire on events such as
idea.created,vote.changed, andcomment.added. This allows integration with Slack, Discord, or custom services. - Real‑time Updates: A WebSocket channel broadcasts events to connected clients, enabling live vote counts and comment streams without polling.
- Export/Import: JSON export of all ideas and votes, plus CSV export for analytics. Import functionality supports bulk uploads.
- Tagging & Search: Full‑text search powered by PostgreSQL’s
tsvector, and a tagging system that can be used to filter ideas in the UI or via API.
Deployment & Infrastructure
Fider is intentionally lightweight, requiring only a Node.js runtime and PostgreSQL. The Docker image is ~200 MB, making it suitable for edge deployments or small VPS instances. For scalability, the app can be run behind a reverse proxy (NGINX or Traefik) with TLS termination. Horizontal scaling is achievable by running multiple container instances behind a load balancer; the PostgreSQL database remains the single source of truth. For high‑availability, developers can set up a PostgreSQL cluster with streaming replication and use connection pooling (pgBouncer).
Integration & Extensibility
- Plugins: While the core is monolithic, developers can extend functionality by creating custom middleware or by exposing additional API routes in a separate microservice that communicates via HTTP.
- Custom CSS & Branding: A simple
custom.cssfile can be dropped into the static assets directory to override colors, fonts, and layout. The SPA also exposes a theme API that can be called at runtime. - OAuth Providers: Adding a new provider involves registering the client ID/secret in a config file and implementing the OAuth flow; the codebase already supports dynamic provider configuration.
- Third‑Party Integrations: Webhooks can be sent to any system that accepts JSON over HTTP. For richer integrations, developers can use the public API to build dashboards or embed Fider data into existing analytics platforms.
Developer Experience
The repository follows best practices for TypeScript projects: linting with ESLint, formatting with Prettier, and CI/CD pipelines that run tests on every push. Documentation is hosted at docs.fider.io and includes a developer guide that covers API usage, webhook configuration, and deployment steps. The community is active on GitHub Discussions and a Slack channel, providing quick support for integration questions. Licensing under the MIT license gives developers full freedom to modify and redistribute Fider.
Use Cases
- Product Management: Teams can surface feature requests from customers and internal stakeholders, vote on priority, and track status changes in real time.
- Community‑Driven Projects: Open‑source projects can use Fider to gather community input on roadmap items, with OAuth sign‑in for contributors.
- Internal Feedback Loops: Enterprises can deploy a private instance, restricting access to employees, and integrate with internal SSO providers.
- Event Planning: Organizers can collect suggestions for event topics, poll attendees, and publish the results on a public portal.
Advantages Over Alternatives
- Zero‑Cost Self‑Hosting: Unlike paid Saa
Open SourceReady to get started?
Join the community and start self-hosting Fider 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
Snapcast
Synchronized multiroom audio for your existing player
Luanti
Open‑source voxel engine for building, exploring, and modding
Actual Budget
Local‑first personal finance tool with fast, privacy‑focused budgeting.
Openfire
Instant messaging server with XMPP protocol
Leantime
Project management made simple for neurodivergent teams
Puter
Your personal internet OS for files, apps, and games
