I'm always excited to take on new projects and collaborate with innovative minds.

Address

Ongata Rongai, Nairobi, Kenya

Social Links

Coding Challenges

How I Built a Full Freelancing Platform Using Laravel and M-PESA

A behind-the-scenes look at how I built a full freelancing writing platform using Laravel, with features like bidding, messaging, and M-PESA integration.

How I Built a Full Freelancing Platform Using Laravel and M-PESA

Building a freelance writing platform from the ground up is no small task — especially when it needs to support writer-client communication, order management, payment integration, and admin control. In this post, I’ll walk you through how I built WritersAdmin.com and DoMyStudy.com, two robust platforms for academic and content writing jobs.

 

🎯 Project Goals

Both platforms had similar goals:

  • Help clients find expert writers
  • Allow writers to bid for jobs
  • Enable real-time communication between both parties
  • Support secure and flexible payment options
  • Give admins full control over disputes, payments, and user management

 

🧱 Tools and Tech Stack

Here’s the stack I used to bring these platforms to life:

  • Framework: Laravel (for clean backend architecture)
  • Frontend: Blade templates + Bootstrap + Vite for asset bundling
  • Database: MySQL
  • Payment Gateways: M-PESA (Daraja API), PayPal, Stripe, Flutterwave
  • Other Tools: Laravel Queues, Laravel Notifications, Cloud hosting

 

💼 Key Features I Implemented

1. Order Management

Clients can post tasks with details such as:

  • Deadline
  • Subject or category
  • Budget
  • File uploads

Writers can then view and bid on these tasks via their dashboards.

 

2. Bidding System

Writers submit proposals along with the price they’re willing to do the work for. Clients can then review writer profiles and accept the most suitable offer.

 

3. Messaging System

I built an internal messaging system so that:

  • Clients and writers can communicate on ongoing tasks
  • The system logs all interactions for accountability

 

4. Payment Integration

To support both local and international users, I added:

  • M-PESA for Kenyan users using Safaricom's Daraja API
  • Stripe, PayPal, and Flutterwave for global reach

Funds are held in an escrow-like structure until the client approves the work, after which payments are released to the writer.

 

5. Admin Controls

Admins can:

  • Resolve disputes
  • Moderate users and content
  • Track payments and analytics
  • Assign or reassign tasks manually

 

🔐 Security and Scalability

Laravel's built-in security features such as CSRF protection, route throttling, and hashed passwords helped me ensure platform safety. I also built everything to scale — including queue-based background tasks for email notifications and payment verifications.

 

📈 Lessons Learned

  • Always validate data — especially when dealing with payments and deadlines.
  • Keep the UX simple. Writers and clients need intuitive dashboards.
  • Add flexibility. Not everyone uses M-PESA — offering PayPal and Stripe was a win.

 

✅ Final Thoughts

Freelancing platforms are complex, but Laravel makes it manageable. With the right planning and integrations (especially M-PESA, if you’re working in Kenya), it’s possible to build something powerful, scalable, and user-friendly.

 

Need a similar platform built?Contact me here or check out my other projects on davidmboya.com.

Freelance Platform, Laravel Marketplace, Writer Portal, Client Management, David Mboya, Payment Escrow, Academic Freelancing, Web Portal Kenya, Bidding System
3 min read
Jun 18, 2024
By David Mboya
Share

Related posts

May 31, 2025 • 3 min read
How I Approach Custom Web Projects: From Idea to Launch

Discover my step-by-step process for turning ideas into full web platf...

May 16, 2025 • 2 min read
Why WordPress + WooCommerce Is Still a Great Choice for Online Stores in Kenya

Learn why WordPress + WooCommerce + M-PESA is still one of the best op...

Mar 18, 2025 • 2 min read
Why I Use Laravel for Complex Web Applications

Why I choose Laravel for advanced platforms like WritersAdmin and DoMy...