Dozz is QR-powered asset management for organisations that have outgrown spreadsheets — schools, IT teams and operations departments tracking equipment, from laptops to lab gear to furniture, across sites and departments. We are a small, remote-first engineering team, and this role owns real features end to end, not a slice behind a hand-off.
What you'll do
- Build and ship features across the stack: Laravel backend, MySQL schema, and the Blade + Alpine.js frontend tenants actually use
- Work on the parts of the product where correctness genuinely matters — subscription billing, recurring charges, the trial-to-paid lifecycle, multi-tenant data isolation
- Extend the in-app AI agent that helps staff find and act on their organisation's asset data
- Design and evolve schema for a database-per-tenant system as new modules (maintenance, depreciation, purchase orders) grow
- Read production incidents to the root cause, not just the symptom, and fix the class of bug, not just the instance
- Work directly with the founder on architecture decisions — no separate "engineering leadership" layer to go through
What we're looking for
- Strong, production experience with PHP and Laravel
- Comfortable designing MySQL schema, not just querying one that already exists
- Understands (or is genuinely excited to learn) multi-tenant architecture and the sharp edges it has — a query that forgets to scope by tenant is a data leak, not a typo
- Can read a diff and spot the edge case someone missed
- Cares about correctness as much as shipping speed — we have been burned before by "it works" that wasn't actually tested against the real edge case
Nice to have
- Experience with lightweight frontend stacks (Alpine.js, htmx, or similar) rather than a heavy SPA framework
- Stripe integration experience — subscriptions, webhooks, off-session charges
- Prior work on a B2B SaaS product, ideally one with real paying customers
Remote, full-time. Use the Apply button below to send your CV and a short note on what you'd want to work on.