I'm a detail-oriented Full Stack Developer with 4+ years of professional experience designing, developing and maintaining scalable web applications using PHP and Laravel.
My work spans RESTful API development, database design, authentication and role-based access control, payment integrations and performance optimization — across both the front end and the back end. I enjoy turning business requirements into efficient technical solutions and shipping software that holds up in real-world use.
Today I'm a Full Stack Developer at The Soft King Limited, building and maintaining production applications including a digital payment system, an e-commerce platform and a bus booking system.
Years experience
4+
Companies
3
Shipped projects
8
Degree
M.Sc.
Expert
PHP (OOP, SOLID)
Laravel
MySQL & query optimization
REST API design
Auth & RBAC (Sanctum, JWT)
Payment & SMS gateway integration
Working knowledge
React.js
Next.js
Node.js
NestJS
TypeScript
PostgreSQL
MongoDB
Docker
Nginx / Apache
Linux
CI/CD
PHPUnit / Pest
Git workflows
AI-assisted development
Experience
Aug 2022 — Present
Full Stack Developer · The Soft King Limited
Build and maintain production Laravel applications, including a digital wallet, an e-commerce platform, a bus booking system and a draws & rewards platform.
Designed and documented REST APIs with token-based authentication (Sanctum/JWT) for React and Next.js frontends, giving frontend teams a clear, stable contract.
Secured authentication, role-based access control and payment flows following OWASP practices.
Optimized MySQL with slow-query analysis, EXPLAIN, indexing and schema improvements, speeding up slow pages and reports; ran migrations safely on live data.
Moved slow work out of the request cycle with Laravel queues, events and caching, improving response times and stability.
Integrated third-party payment and SMS gateways into production applications.
Mentor junior developers and review code on standards, Git workflow and best practices; manage releases with branching strategies and cherry-picked hotfixes.
Work with designers, product owners and clients to turn business requirements into technical solutions.
Tcash is a mobile money and wallet system: users hold a wallet balance and use it for transactions, donations and gifts.
Because every operation moves money, the backend has to guarantee that balances never go negative or out of sync, that a request retried over a flaky connection is never applied twice, and that every movement can be traced for support and reconciliation.
My role
Developed and maintained Tcash as a Full Stack Developer at The Soft King Limited, using PHP, Laravel and REST APIs.
Built the wallet and transaction logic: transfers, donations and gifts recorded as ledger entries, with balance updates inside database transactions.
Implemented token-based API authentication with Laravel Sanctum and role-based access for users and administrators.
Integrated payment and SMS gateways for wallet top-ups, OTPs and transaction notifications.
A Laravel application exposing a REST API, with MySQL as the system of record. Every money movement is written as a debit and a credit ledger entry in a single database transaction, and wallet balances are updated under row locks. Payment-gateway callbacks are verified and processed idempotently, and SMS and email notifications are dispatched to queue workers so API requests stay fast.
Challenges & solutions
Double-spend under concurrent requests: two transfers from the same wallet arriving at the same moment could both pass the balance check.
Wrapped each transfer in a database transaction and locked the sender and receiver wallet rows with lockForUpdate() — always in the same order to avoid deadlocks — then re-checked the balance after acquiring the lock.
Duplicate requests and gateway callbacks: client retries and repeated payment webhooks risked applying the same payment twice.
Required an idempotency key on transaction requests and stored gateway transaction IDs under a unique index, so a repeat is detected and returns the original result instead of creating a second movement.
Traceability: support and finance needed to explain any balance at any point in time.
Kept an append-only ledger of debits and credits, so every balance can be rebuilt from its entries and reconciled against gateway reports.
Results & impact
Concurrent transfers settle without balance inconsistencies or negative balances.
Retried requests and repeated gateway callbacks don't create duplicate payments.
Every balance change is traceable to a ledger entry, which simplifies support and reconciliation.
Details
Built at
The Soft King Limited
Period
2022 — Present
Stack
PHP · Laravel · MySQL
Type
Payments
Case study · E-commerce
E-commerce Platform
A multi-category online store with product search, daily deals, wishlist, cart and order tracking.
A general online store selling across categories such as electronics, fashion, beauty, sports and vehicle parts. Customers search and browse products and today's deals, save items to a wishlist, check out and track their orders, with a language switcher.
With a deep category tree and promotional sections on every page, the main risks were the storefront slowing down as the catalog and order history grew, and stock being oversold during busy sales.
My role
Developed and maintained the platform as a Full Stack Developer at The Soft King Limited, using PHP and Laravel.
Worked on product and sales workflows, customer authentication and backend management.
Optimized catalog listing, category and search queries using EXPLAIN, composite indexes and eager loading.
Implemented order placement with stock checks inside database transactions, and order status tracking for customers.
Stack & architecture
PHPLaravelMySQLBladeCachingQueues
A Laravel application with a server-rendered Blade storefront and an admin panel, backed by MySQL. Catalog data that appears on every page — category menus and deal sections — is cached and invalidated when products change, and order confirmation emails and other slow work run on queue workers.
Challenges & solutions
Slow product listings: N+1 queries and unindexed filters made category and search pages slower as the catalog grew.
Eager-loaded relations, added composite indexes for the common filter and sort combinations identified with EXPLAIN, and paginated listings.
Overselling at checkout: two customers buying the last unit at the same moment.
Decremented stock inside the order transaction with a conditional update that only succeeds while enough stock remains, and rolled the order back otherwise.
Repeated work on every page view: category menus and deal sections were queried on each request.
Cached them and cleared the cache from model events whenever products or categories change.
Results & impact
Category and search pages stay responsive as the catalog grows.
Stock is never sold below zero, even when customers check out at the same time.
Lower database load from cached navigation and deal sections.
Details
Built at
The Soft King Limited
Period
2022 — Present
Stack
PHP · Laravel · MySQL
Type
E-commerce
Case study · Web App
Bus Booking System
Online bus ticketing: passengers search trips by route and date, then buy tickets online.
Passengers search for trips by pickup point, dropping point and departure date, then buy tickets online. The site also has customer accounts, FAQs, a blog and a language switcher.
The core risks in any ticketing system are selling the same seat twice and leaving seats blocked when a passenger abandons payment halfway through.
My role
Developed and maintained the system as a Full Stack Developer at The Soft King Limited, using PHP and Laravel.
Built the search and booking flow: route and date search, seat selection, passenger details and checkout.
Implemented time-limited seat holds that are confirmed only after successful payment.
Added SMS and email ticket confirmations sent through queued jobs.
Stack & architecture
PHPLaravelMySQLQueuesSchedulerPayment gateway
A Laravel application backed by MySQL. Routes, trips (a route on a given date and time), vehicles with seat layouts and bookings are modelled separately, with a unique constraint on trip and seat for confirmed bookings. A scheduled Laravel command releases expired seat holds, and notifications go through queue workers.
Challenges & solutions
Seat double-booking: two passengers selecting the same seat at the same moment.
Reserved seats inside a database transaction with row locks, backed by a unique index on trip and seat so the database itself rejects a duplicate even if two application checks race.
Abandoned checkouts: passengers who leave mid-payment kept seats blocked for everyone else.
Gave seat holds a short expiry and released them with a scheduled command; payment callbacks only confirm a hold that is still valid.
Trip search speed: matching pickup, drop-off and date across many scheduled trips.
Indexed trips by route and departure date, and computed available seats with a single aggregate query instead of loading bookings into PHP.
Results & impact
No seat can be sold twice for the same trip.
Seats from abandoned payments return to sale automatically.
Trip search stays fast as routes and schedules grow.
Details
Built at
The Soft King Limited
Period
2022 — Present
Stack
PHP · Laravel · MySQL
Type
Web App
Project · E-commerce
Online Shop
A fashion and electronics e-shop with a customer storefront and an admin back end.
An online shop for clothing, fashion and electronics, with category browsing, a brand showcase, product search, wishlist, cart, checkout and customer accounts. Behind the storefront, an admin back end lets staff manage products, categories and orders.
My role
Worked on both the customer-facing front-end and the administrative back-end modules as a Full Stack Developer at Wardan Tech Limited.
Stack
PHPLaravel
Details
Built at
Wardan Tech Limited
Period
2022
Stack
PHP · Laravel
Type
E-commerce
Project · POS
Business Management & POS System
An all-in-one business management system: sales, purchases, inventory, accounting, CRM and HRM.
A business management system that runs day-to-day operations in one place: products and services, purchases and sales with returns, expenses, transfers, service receipts, accounting, CRM, HRM and reminders. The dashboard shows revenue, returns and profit for today, the last 7 days, this month or this year, alongside a cash-flow chart.
My role
Built and enhanced features as a Full Stack Developer at Wardan Tech Limited, using PHP and Laravel.
Debugged and resolved production issues across the application and database layers to improve reliability.
Stack
PHPLaravel
Details
Built at
Wardan Tech Limited
Period
2022
Stack
PHP · Laravel
Type
POS
Case study · POS & Inventory
Pharmacy POS & Inventory
A point-of-sale and inventory system for a local pharmacy, which I led from requirements to delivery.
Built for a local pharmacy to run the shop from one system: point of sale, products and categories, customers and suppliers, orders, expenses, employees with salary and attendance, and sales reports.
Pharmacy stock is unforgiving: the same medicine arrives in batches with different expiry dates, and selling expired stock or losing track of quantities has real consequences for patients and for the business.
My role
Led development of the system from requirement analysis to delivery at Kodeeo Limited.
Worked across the full software development lifecycle and client delivery.
Designed the batch-based stock model, the POS sale flow, and the sales and stock reports.
Stack & architecture
PHPLaravelMySQLRBAC
A Laravel application backed by MySQL. Stock is tracked per batch (medicine, batch number, expiry date, quantity, cost), and every sale, return and purchase writes a stock-movement record, so the on-hand quantity can always be explained. Role-based access separates cashier, manager and admin functions.
Challenges & solutions
Expiry tracking: one medicine held in several batches with different expiry dates.
Sold stock first-expiry-first-out by allocating each sale line across batches ordered by expiry date, blocked expired batches at the point of sale, and added a report of batches nearing expiry.
Accurate stock levels: sales, returns and supplier orders all change quantities, and counts drift when they are updated in several places.
Routed every change through a single stock service that writes a movement record and updates the batch quantity in the same database transaction.
Results & impact
Expired stock is blocked at the point of sale, with early warning for batches nearing expiry.
Stock levels reconcile with sales, returns and purchases through a full movement history.
Delivered end to end, from requirement analysis to client delivery.
Details
Built at
Kodeeo Limited
Period
2020 — 2021
Client
Local pharmacy
Role
Lead developer
Project · Business App
Hospital Management System
A hospital web application with doctor listings, consultations and patient accounts.
Patients browse doctors and health news, request a consultation, and register or log in. The home page highlights chatting with a doctor, health protection and the hospital pharmacy, with an admin side for managing doctors, content and patient accounts.
My role
Developed at Kodeeo Limited using PHP and Laravel.
Stack
PHPLaravel
Details
Built at
Kodeeo Limited
Period
2020 — 2021
Stack
PHP · Laravel
Type
Business App
Project · Web App
Draws & Rewards Platform
A draw and rewards platform with user accounts, scheduled draws, results and coin requests.
Registered users take part in scheduled draws, check results and request coins, with FAQs, a blog and a language switcher. The back end manages users and their transactions.
My role
Developed and maintained the platform as a Full Stack Developer at The Soft King Limited, using PHP and Laravel.
Worked on user management and transaction management.
Stack
PHPLaravel
Details
Built at
The Soft King Limited
Period
2022 — Present
Stack
PHP · Laravel
Type
Web App
Services
How I can help — from a new application built end to end to keeping an existing one fast and stable.
Production-ready web applications with PHP and Laravel — backend architecture, front-end modules, authentication and integrations.
What I do
I develop and maintain full-stack web applications using PHP, Laravel, HTML and CSS, with an emphasis on clean code, practical architecture, reliable data flow and production stability.
My experience includes e-commerce platforms, POS and inventory systems, bus booking, digital payment, draws and rewards, and hospital management systems — working across backend and front-end to turn business requirements into usable solutions.
Focus areas
Scalable development
Secure access
API & integrations
Performance focus
Process
Requirements & planning
Architecture & development
Integration & testing
Optimization & maintenance
Interested in Full Stack Web Development?
Tell me about your requirements and I'll suggest a practical technical approach.
RESTful APIs for scalable backend services, with structured data flow, secure access and clean integrations.
What I do
I design and implement RESTful APIs for scalable backend services, using PHP and Laravel to provide clear, maintainable endpoints and dependable communication between application components.
My API work supports applications that need authentication, structured data exchange, integrations and reliable backend processing.
Focus areas
Structured endpoints
Secure authentication
Reliable data flow
System integration
Process
API requirements
API architecture
Integration & testing
Optimization & support
Interested in REST API Development?
Tell me about your requirements and I'll suggest a practical technical approach.
Business-focused e-commerce with product and sales workflows, authentication and backend management.
What I do
I build and enhance e-commerce applications with both front-end and back-end modules, focusing on usable workflows, reliable data handling and maintainable business logic.
Project experience includes an E-commerce Platform and an Online Shop, built with PHP, Laravel, APIs and database-driven functionality.
Focus areas
Product workflows
Authentication
Data management
Usable interfaces
Process
Business & catalog planning
Application development
Payments & integration
Testing & maintenance
Interested in E-commerce Solutions?
Tell me about your requirements and I'll suggest a practical technical approach.
Custom POS and inventory management for sales, products, stock workflows and daily operations.
What I do
I develop and enhance POS and inventory management applications, combining backend logic, database-driven workflows and front-end modules into practical systems.
I led development of a pharmacy POS and inventory system and worked on a business management and POS system — full lifecycle work through to client delivery.
Focus areas
Sales workflows
Inventory management
Role-based access
Production support
Process
Workflow analysis
System development
Validation & client delivery
Optimization & maintenance
Interested in POS & Inventory Systems?
Tell me about your requirements and I'll suggest a practical technical approach.
Payment workflows integrated into web applications with secure access and dependable transaction handling.
What I do
I implement payment functionality within web applications, connecting application workflows with backend processing and focusing on secure access, reliable transaction flow and maintainable integration code.
Experience includes payment integrations and the Tcash digital payment system, built with PHP, Laravel, REST APIs and database-driven business logic.
Focus areas
Payment workflows
Secure access
Transaction flow
Issue resolution
Process
Payment requirements
Backend integration
Testing & validation
Monitoring & maintenance
Interested in Payment Integration?
Tell me about your requirements and I'll suggest a practical technical approach.
Debugging, refactoring, query optimization and ongoing maintenance for faster, more stable applications.
What I do
I improve existing web applications through debugging, code refactoring, query optimization and practical maintenance — making production systems more stable, responsive and easier to maintain.
This includes resolving production issues, optimizing database queries and maintaining PHP and Laravel applications across different business domains.
Focus areas
Query optimization
Code refactoring
Debugging
System stability
Process
Issue assessment
Code & query review
Fixes & optimization
Ongoing maintenance
Interested in Performance & Maintenance?
Tell me about your requirements and I'll suggest a practical technical approach.