Sample projectSample project — a concept I built to show how this kind of system works. Not a client job.
A portal for the "did you get my W-2?" season
Marlow & Pine Bookkeeping (fictional), a small practice with a few hundred individual and small-business clients.
The kind of business, and the mess
Every tax season, documents arrive by email, by text, as phone photos at odd angles, and occasionally on paper through the door. Staff keep a spreadsheet of who's sent what. Clients phone to ask whether their upload arrived. Attachments go missing in long threads.
The work itself is fine. The chasing is what eats the week.
What the system does
- Client logins, one per household or business
- Document request checklists per client, so they can see exactly what's still needed
- Uploads with a status: received, reviewed, needs something
- A hand-off to a third-party e-signature tool for engagement letters
- An invoice view with a Stripe Checkout link to pay
- A staff dashboard: every client against every outstanding item
- Reminder emails that go out on a schedule, and stop once the item arrives
Stack, and why
Laravel with Inertia and React, S3-compatible storage for files (with type and size limits on upload), and a transactional email service for reminders. Standard security practices throughout: HTTPS, hashed passwords, per-client access checks, backups. A firm with formal data obligations would set those out in the proposal and a data processing addendum.
What a build like this would typically cost
$9,500–$16,000 · 6–9 weeks
A sample band for a build like this, not a quote for yours.
What would move the price
A built-in e-signature step instead of a hand-off. Syncing with practice-management software. Separate logins for each person in a household. Messaging inside the portal instead of email.
PDF, JPG, XLSX · up to 25 MB each
Screens
Hi Dana,
Quick reminder. We're still waiting on:
- 2025 W-2s
- Signed engagement letter
Already sent them? They'll show as received within a few minutes, and these reminders stop.