Enterprise products04

A product built end to end,from the crawler to the invoice.

The audit broken down by dimension, with the fixes that matter most

SaaS · billing · PDF reports · 2026

SightStack audits a website with a real browser, Lighthouse and Claude, and delivers a designed PDF report scored across six dimensions. I built all of it: the product, the billing, the tax handling and the operations.

Client
SightStack, own product
My part
Everything
Stack
Next.js, NestJS, BullMQ, Postgres, Prisma, Playwright, Lighthouse, Stripe, Claude API

The product and the need

Small companies want to know what is wrong with their site and what to fix first, without hiring an agency to find out. A free preview scores the site from Lighthouse alone; the paid report adds the analysis and the fixes.

Decisions that held

  • Three apps, one repository

    A Next.js front end, a NestJS API and a queue worker in one Nx monorepo, sharing types and a 29-model database schema.

  • AI output that cannot break a report

    Every model answer is validated against a schema twice, and a rejected answer is retried with the exact fields that failed.

  • An AI outage is a state, not an error

    When the model provider is down, jobs wait on a backoff of up to about six hours, customer emails pause, and the admin can retry everything in one click.

  • Tax done properly

    EU VAT with VAT-ID checks, rate-change detection and the one-stop-shop threshold, and fiscal invoices issued automatically, with a retry queue.

How it grew

329 commits since March 2026, all mine, with around 2,500 unit test cases and 261 end-to-end tests in the repository.

The product

Working model

Scoped, built and run by me. Live at sightstack.app.

Contact

Tell me about your product.

The product, the stack, and where you need help first. I reply within a day, usually sooner.

About 20 hours a week free for one more product, more in a launch week, remote, on European hours. I can start within a few weeks.

LinkedIn

All fields are required.

If it fits: a short call, then a written proposal. How your message is handled