CopyPay
Tasks & responsibilities
Build the payment-link platform end to end: backend, payments flow, subscriptions, and admin.
CopyPay is a payment-link platform I built as an MVP SaaS. Anyone can claim a username, connect their payment accounts (e-wallets and bank), and share a single public page where people can pay them.
Background
Getting paid online in Indonesia often means juggling several e-wallets and bank accounts, then sending the right details to each person by hand. CopyPay turns that into one shareable link. I built it on my own as a side project to see how far a clean Laravel MVP could take the idea.
The Challenge
- Let anyone reserve a unique username and claim a public payment page
- Check username availability instantly without letting the check be spammed
- Support a paid tier with a manual payment-proof approval step
- Keep an admin and analytics view that stays fast as the data grows
Solution
I built the whole thing in Laravel as a clean, role-based app. Users sign up, reserve a username, connect their payment accounts, and share their page. A premium tier sits behind an admin approval workflow, and the admin side gets its own tooling and a cached analytics dashboard.
Technical Implementation
Tech Stack
- Backend: Laravel 10, Sanctum
- Frontend: Blade, Alpine.js, Tailwind CSS
- Build: Vite
- Database: MySQL
Key Features
- Username reservation with throttled real-time availability checks
- Multi-profile public payment pages (e-wallets and bank)
- Premium subscription tier with admin payment-proof approval
- Downloadable payment receipts
- Role-based admin tooling and a cached analytics dashboard
Screenshots

Results
- A working MVP that takes someone from sign-up to a shareable payment page in minutes
- Real-time username checks that stay responsive under repeated use
- A clean separation between the public pages, the premium flow, and the admin tools