o Josh Ade | Full Stack Engineer UK | SaaS, & Payment
Open to remote roles

Full-Stack Software Engineer.
who ships real things.

I'm Josh Ade, lead developer of Built For Small Business, a production Laravel SaaS serving UK SMEs. I build and maintain full-stack applications, from architecture and databases to payments, APIs, background jobs and deployment.

Laravel 12 /
PHP 8.3 /
Stripe Billing /
Browsershot PDF /
Alpine.js /
Cloudflare R2 /
HMRC MTD /
Maatwebsite Excel /
Laravel Queues /
MySQL /
Open Source /
Case study

Built For Small Business

Production SaaS | Lead Developer

16+
Active businesses
3
Paying customers
~203
Expenses logged

22+ invoices created · Stable uptime (Better Stack)

The problem
Small businesses need invoicing, expenses, accountant collaboration and financial reporting without paying for multiple disconnected tools.

Xero costs £15/month minimum. Small businesses were either overpaying or running on spreadsheets.

BFSB is permanently free at its core, compliance built in, not bolted on.

1
Countries served
6+
Core modules
£0
Core plan cost
builtforsmallbusiness.com ↗
What I built
Every module, from scratch.
  • Invoicing with Stripe payment integration and 0.5% platform fee model
  • Expense import pipeline — CSV/XLSX with magic byte security validation
  • Profit & Loss reports with PDF export, gated by plan tier
  • Stripe subscription billing, cancel, refund, and gifting flows
  • Multi-sheet Excel exports via Maatwebsite
  • AI content pipeline using Anthropic API and ElevenLabs audio
Tech stack
Chosen for reliability.
Laravel 12 PHP 8.3 Blade Bootstrap Alpine.js Chart.js Stripe Browsershot Puppeteer Maatwebsite Excel Cloudflare R2 MySQL Laravel Queues HMRC MTD
My role
Lead developer.

I own all technical decisions — architecture, database design, third-party integrations, deployment, and ongoing feature development.

This is not a freelance project or a tutorial app. It's a live, paying product I am responsible for end to end.

How I build

Architecture decisions
I made on BFSB

Real decisions from a production codebase — not textbook examples.

01

Uk tax logic

TaxYearService with scopeForTaxYear Fiscal-year-aware reporting scoped across invoices and expenses, handled cleanly within a single UK-focused codebase

02

Stripe subscription hardening

Corrected API version compatibility for refunds. Implemented live Stripe status checks in canCancelPlan() rather than trusting local DB state. Payment intents tracked separately from subscriptions.

03

Secure file import pipeline

CSV/XLSX expense imports validate mime type and magic bytes before queued processing. Prevents spoofed file uploads. Jobs handle large imports without blocking the request cycle.

04

PDF reliability via base64 fonts

Browsershot/Puppeteer PDFs embed fonts as base64 at render time. Eliminates inconsistent output across environments where font paths resolve differently in headless Chrome.

05

Dashboard caching strategy

Cache::remember across expensive dashboard aggregates. Kept the dashboard fast without introducing a dedicated data layer or denormalised tables.

06

Feature discovery paywall

Plan tier gating via a discovery modal pattern — free users see Pro features in the UI but hit a comparison paywall on use. Keeps the free tier genuinely useful while driving upgrade intent.

Open source

Laravel 404 Monitor

A lightweight Laravel package for monitoring 404 errors, identifying broken URLs and tracking Googlebot activity.

Packagist ↗

laravel-404-monitor

A lightweight 404 monitoring dashboard for Laravel. Track missing pages, identify broken internal links, and see which URLs Googlebot is hitting all without touching a log file.

The Googlebot tracking was the specific trigger: standard Laravel logs give you no visibility into patterns of 404 errors. A single broken internal link generating 200 hits looks identical to 200 one-off bot probes until you see the data in a dashboard.

Laravel 10 / 11 / 12 · Middleware · Composer · Open Source Auto-registering middleware Source detection Googlebot tracking Zero dependencies
# Install
composer require \
builtforsmallbusiness/ laravel-404-monitor
# Publish migration
php artisan vendor:publish \
--tag=404monitor-migrations

php artisan migrate

# Dashboard at:
/_404-monitor

# Find your URL anytime
php artisan 404monitor:info
Stack

What I work with

Tools I use in production, not just tutorials.

Backend
PHP 8.3
Laravel 12
MySQL
Laravel Queues
Artisan Commands
Frontend
Blade Templates
Alpine.js
Bootstrap 5
Chart.js
Vanilla JS / Fetch
Integrations
Stripe API
Anthropic API
ElevenLabs
HMRC MTD
Cloudflare R2
Tools
Git / GitHub
Browsershot
Maatwebsite Excel
Composer / npm
Namecheap VPS