Wapy.dev is a subscription management platform that helps you track and manage your recurring payments and expenses. Get notified via email or push notifications when payments are due, mark subscriptions as paid, and keep track of your spending across different categories.
✅ Track Recurring Subscriptions & Expenses
Easily log all your subscriptions and payments, so you’ll never miss a due date.
🔔 Email & Push Notifications
Get timely reminders when payments are due. Customize notification schedules to fit your needs.
💱 Multi-Currency & Timezone Support
Perfect for managing subscriptions in different currencies and time zones.
📜 Easily Mark Payments as Paid
Keep track of what’s been paid and review your spending habits over time.
🔐 Easy Login Options
Sign in with Email, Github, or Google for a seamless experience.
🎨 Category Management with Custom Colors
Organize your subscriptions by category and add a personal touch with custom colors.
📱 Add to Home Screen for Mobile App Experience
Use Wapy.dev like a mobile app by adding it to your home screen with just a few taps.
🐳 Production-Ready with Docker
Easily self-host Wapy.dev with Docker for a quick and hassle-free installation process.
Home screen that lists all your subscriptions and expenses, with the ability to filter by category or search for specific items.
Reports page that shows your spending across different times and categories.
Account page where you can manage your profile, notifications and categories.
- Next.js for the frontend and API routes
- PostgreSQL database with Prisma ORM
- Docker for containerization
- Tailwind for styling
- shadcn/ui components (Radix UI under the hood)
- Authentication with Auth.js
- Web Push API for notifications
- Resend for transactional emails
- Lucide and Simple Icons for icons
-
Clone the repository
-
On first run, you need to setup the environment variables. Please take a look at the
.env.example
file to see what variables you need to set.- The setup script will copy
.env.example
to.env
and generate some of the environment variables automatically. To automatically generate the.env
file, you can run thesetup.sh
script via following commands:
# On Linux chmod +x ./scripts/setup.sh && ./scripts/setup.sh # or docker run --rm -v $(pwd):/app -w /app node:23.5-alpine sh -c "apk add --no-cache openssl su-exec && su-exec $(id -u):$(id -g) ./scripts/setup.sh" # On Windows docker run --rm -v ${PWD}:/app -w /app node:23.5-alpine sh -c "apk add --no-cache openssl && ./scripts/setup.sh"
- You will need to set Github, Google and Resend API keys in the
.env
file.
- The setup script will copy
-
Run
docker compose -p wapydev up -d
to start the database and server. Default environment isproduction
, but you can change it todevelopment
if you want to, viaNODE_ENV
variable in the.env
file. -
Visit
http://localhost:3000
or your domain URL.
Contributions are welcome! Please feel free to submit a PR or create an issue.