Skip to content
Selected Work / Automation
Automation

Al Boukhari Payments — School SMS Reminders

Sheet → Web · Laravel 13 + Livewire 3 · BulkGate

Client
Al Boukhari School — Netherlands
Date
Apr 2026
Duration
3 أشهر
Role
Full-Stack
Al Boukhari Payments — School SMS Reminders

— Overview

A full Laravel 13 + Livewire 3 + Alpine.js web app that replaces a legacy Google Sheets + Apps Script setup. Key building blocks: Livewire UI components (StudentsGrid, PaymentModal) backed by Services (BulkGateClient, RecipientListBuilder, FeeResolver) on top of MySQL/MariaDB. No Vite — Tailwind via CDN — so the app deploys to shared hosting with zero build step. The core architectural decision: send one reminder PER FAMILY rather than per student, even when a family has 3 children enrolled.
!

Problem

The school managed 500+ student payments on Google Sheets, with manual reminders duplicated per child in the same family, summation errors, and no audit trail.

Solution

A web app with a spreadsheet-style grid (students × 12 months), automatic family detection, 5 SMS campaign types, cron-driven auto reminders, and a full audit trail.

— Key features

What it does.

  • Spreadsheet-like grid (Livewire 3)
  • Automatic sibling detection
  • 5 SMS campaign types
  • BulkGate Transactional API
  • Cron-based auto reminders
  • Full EN / NL / AR support
  • No build step (Tailwind CDN)

— Results

Impact in production.

90% reduction in manual work

One reminder per family, not per child

Smooth migration off Google Sheets

10+ admin hours saved weekly

— Tech stack

Built with.

Laravel 13 PHP 8.3 Livewire 3 Alpine.js Tailwind CDN MySQL/MariaDB BulkGate SMS phpoffice/phpspreadsheet

— Let's build

Got a similar project in mind?

Got an idea, a stalled project, or a platform that needs a lift? Reach out — I reply within 24 hours.

Let's Talk