Skip to content
CopyPay payment-link landing page

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

CopyPay payment-link landing page

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

Work with me

Interested in something like this?

Tell me about your project and I'll get back to you with how I can help.