https://github.com/piotrkulpinski/openalternative
A community driven list of open source alternatives to proprietary software and applications.
https://github.com/piotrkulpinski/openalternative
algolia alternative cron inngest instantsearch open-source remix remix-run vercel vite
Last synced: 3 days ago
JSON representation
A community driven list of open source alternatives to proprietary software and applications.
- Host: GitHub
- URL: https://github.com/piotrkulpinski/openalternative
- Owner: piotrkulpinski
- License: gpl-3.0
- Created: 2024-02-28T09:43:12.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-04T20:54:28.000Z (11 days ago)
- Last Synced: 2025-04-06T05:38:28.284Z (10 days ago)
- Topics: algolia, alternative, cron, inngest, instantsearch, open-source, remix, remix-run, vercel, vite
- Language: TypeScript
- Homepage: https://openalternative.co
- Size: 31.7 MB
- Stars: 4,216
- Watchers: 24
- Forks: 161
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- my-awesome - piotrkulpinski/openalternative - source,remix,remix-run,vercel,vite pushed_at:2025-04 star:4.2k fork:0.2k A community driven list of open source alternatives to proprietary software and applications. (TypeScript)
- awesome-useful-projects - <img src="https://icon.horse/icon/github.com" height="20px" align="center"/>/piotrkulpinski/openalternative - Community list of open source alternatives (Other / Other)
- StarryDivineSky - piotrkulpinski/openalternative
- jimsghstars - piotrkulpinski/openalternative - A community driven list of open source alternatives to proprietary software and applications. (TypeScript)
- awesome - Link
README

Discover open source alternatives to popular software.
Learn more »
Website
·
Issues## About this project
OpenAlternative is a community driven list of **open source alternatives to proprietary software** and applications.
Our goal is to be your first stop when researching for a new open source service to help you grow your business. We will help you **find alternatives** of the products you already use.
Join us in creating the biggest **directory of open source software**.
## Sponsoring
OpenAlternative is an GPL-3.0-licensed open source project with its ongoing development made possible entirely by the support of these awesome backers. If you'd like to join them, please consider [sponsoring OpenAlternative's development](https://github.com/sponsors/piotrkulpinski).
If you'd like to support the project, you could also consider [buying our Next.js boilerplate](https://dirstarter.com) which is the foundation of creating directory websites, just like this one.
## Services
OpenAlternative uses the following third-party services:
- Database: [Neon](https://neon.tech)
- Analytics: [Plausible](https://plausible.io), [PostHog](https://posthog.com)
- Newsletter: [Beehiiv](https://go.openalternative.co/beehiiv)
- Background Jobs: [Inngest](https://inngest.com)
- File Storage: [AWS S3](https://aws.amazon.com/s3)
- Payments: [Stripe](https://stripe.com)
- Screenshots: [ScreenshotOne](https://go.openalternative.co/screenshotone)Make sure to set up accounts with these services and add the necessary environment variables to your `.env` file.
## Project Structure
OpenAlternative is built as a Turborepo monorepo with multiple packages. The project structure is organized as follows:
- `/apps` - Turborepo apps
- `/app` - Main Next.js application using the App Router architecture
- `/app` - Application routes and layouts (Next.js App Router)
- `/components` - Reusable React components
- `/lib` - Core utilities and business logic
- `/actions` - Server actions
- `/utils` - Helper functions and utilities
- `/hooks` - React hooks
- `/contexts` - React context providers
- `/services` - Service integrations
- `/emails` - Email templates
- `/server` - Server-side code
- `/functions` - Utility functions
- `/config` - Configuration files
- `/content` - Content management
- `/types` - TypeScript type definitions
- `/public` - Static assets- `/analyzer` - Data analysis tools
- `/packages` - Shared packages
- `/db` - Database schema and utilities
- `/github` - GitHub integration utilitiesThe project uses Turborepo for task orchestration and dependency management across the monorepo.
## Development
This project uses [Bun](https://bun.sh/) as the package manager and runtime. Make sure you have Bun installed before proceeding.
To set up the project for development:
1. Clone the repository
2. Run `bun install` to install all dependencies
3. Set up the required environment variables (see below)
4. Run `bun run db:push` to push the Prisma schema to the database
5. Run `bun run dev` to start the application in development mode### Environment Variables
Refer to the `.env.example` file for a complete list of required variables.
Copy the `.env.example` file to `.env` and update the variables as needed:
```bash
cp .env.example .env
```## 🧞 Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
| :---------------- | :----------------------------------------------- |
| `bun install` | Installs dependencies |
| `bun run dev` | Starts local dev server at `localhost:5173` |
| `bun run build` | Build production application |
| `bun run start` | Preview production build locally |
| `bun run lint` | Run linter |
| `bun run format` | Format code |
| `bun run typecheck` | Run TypeScript type checking |
| `bun run db:generate` | Generate Prisma client |
| `bun run db:studio` | Start Prisma Studio |
| `bun run db:push` | Push Prisma schema to database |
| `bun run db:pull` | Pull Prisma schema from database |
| `bun run db:reset` | Reset Prisma schema |## Deployment
The project is set up for deployment on Vercel. To deploy manually:
1. Build the project: `bun run build`
2. Start the production server: `bun run start`Ensure all environment variables are properly set in your production environment.
## License
OpenAlternative is licensed under the [GPL-3.0 License](LICENSE).