A modern web application to help speakers track and manage conference speaking opportunities. Built with Next.js and TypeScript, this tool helps you (hopefully) never miss a CFP (Call for Papers) deadline again.
- Filter conferences by continent
- Search through available CFPs
- Track submission status (Submitted/Not Interested)
- Privacy-focused: All submission statuses stored locally in your browser
- Responsive design for desktop and mobile
- Real-time data from multiple sources:
- Codosaurus
- Confs.tech
- developers.events
- Joind.in
- Leon Adato
- Papercall.io
- More to come!
- Node.js 18.0 or later
- npm, yarn, or pnpm
- PostgreSQL 15 or later
-
Clone the repository:
git clone https://github.com/bendechrai/cfps.git cd cfps -
Install dependencies:
npm install
-
Set up your local environment:
Create a
.envfile in the project root with:ARCJET_KEY=ajkey_key_goes_here ALLOWED_ORIGINS=http://localhost:3000,https://cfp.bendechr.ai,https://cfp-jade.vercel.app DATABASE_URL="postgresql://postgres:postgres@localhost:5432/cfps?schema=public"Adjust as needed.
-
Set up the database:
# Create and apply database migrations npm run db:migrate:dev -
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser
This project uses Prisma as the ORM with PostgreSQL. Here are the available database management commands:
npm run db:studio- Open Prisma Studio to view and edit your databasenpm run db:push- Push schema changes directly to the database (development only)npm run db:migrate:dev- Create and apply new migrations (development)npm run db:migrate:deploy- Apply existing migrations (production)npm run db:reset- Reset the database and apply all migrations
- Search: Use the search box to filter conferences by name
- Filter by Location: Select continents to filter conferences by location
- Track Submissions: Mark CFPs as "Submitted" or "Not Interested"
- View Deadlines: See submission deadlines for each conference
- Quick Access: Click conference links to visit their websites or submission forms
We welcome contributions! Please see our Contributing Guide for details.
This project is open source and available under the MIT license.