Non-Profit / Backend

Debate House
Backend

The custom Laravel backend that powers Debate House — Greece’s fastest-growing civic engagement organization. Handles member registration, annual memberships, payment processing via Viva Wallet, digital wallet passes, email newsletters, and all the automation that keeps an 11K+ subscriber platform running.

Status
Production
Year
2024 – Present
Role
Technology Director — Architecture, Development, Ops
Org
Debate House (Non-Profit, Greece)
Tech Stack
PHP 8.5 Laravel 12 Filament 3 Saloon v4 Viva Wallet Mailtrap PostgreSQL Sentry
Debate House — admin panel

Context

The Challenge

Debate House grew from small in-person events to a national platform with 11K+ subscribers and partnerships with the Athens Democracy Forum and the Stelios Foundation. The organization needed a member system with paid annual memberships, automated renewals, digital member passes, and a way for the team to manage everything without developer help.

The Approach

A custom Laravel backend integrated with Viva Wallet for payments and Google & Apple Wallet for digital member passes. An admin panel gives the team full operational control — managing members, verifying payments, sending newsletters, and exporting data — without touching code. Background jobs handle payment verification, membership expiry, and notifications automatically.

Features

01

Members System

Registration with email verification, annual memberships, profile management, and member-only content gating.

02

Payment Processing

Viva Wallet Smart Checkout for memberships and donations. Asynchronous payment verification and admin override capabilities.

03

Digital Wallet Passes

Members get a digital member card exportable to Google Wallet and Apple Wallet. Passes auto-regenerate on membership changes.

04

Email & Newsletters

Email newsletters with multiple subscription categories, one-click unsubscribe, and subscriber preference management.

05

Admin Panel

Filament 3 at /manage — member CRUD, payment verification, donation tracking, newsletter subscribers, CSV/XLSX exports.

06

Scheduled Automation

Queued jobs verify payments every minute, sync YouTube stats every 15 min, send expiry reminders daily, and process expired memberships automatically.

Architecture

$ cat architecture.yml
Laravel 12
Core framework
Filament 3
Admin panel at /manage
Viva Wallet
Smart Checkout
Mailtrap
Email & newsletters
PostgreSQL
Database
Saloon v4
API abstraction
Sentry
Error tracking
Wallet Passes
Google & Apple

Gallery