Case study / Vellox
Vellox: alerts people can trust
Vellox emails B2B teams when a competitor changes their pricing, hiring or product. The hard part isn’t reading websites. Websites are noisy, and one false “they changed their prices” alert teaches a customer to ignore every alert after it. So I designed the system around one question: when should it stay quiet?
- Role
- Founder and sole engineer
- Period
- Oct 2026 – Present
- Stack
- Next.js 16React 19TypeScriptPostgreSQLDrizzlePlaywrightGitHub Actions

Architecture
How a change becomes an alert
- 01
Public sources
Five per competitor
- 02
Capture
Fetch or browser
- 03
Compare
Against last read
- 04
Rules
Code finds changes
- 05
AI judge
Does it matter?
- 06
PostgreSQL
Changes, evidence
- 07
Delivery
Alert, brief, app
01
How it works
Every morning a scheduled job reads each competitor’s pricing page, sitemap, job board, blog and homepage, using a real browser where prices load through JavaScript. Each read is compared with the last one. Plain code decides what changed, and only then does an AI model judge whether it matters and describe it.
02
Why rules come first
A model asked to spot changes can invent them. Here it only sees changes the code has already found, along with the evidence, and returns structured output that is checked before use. If the AI is unavailable, only clear-cut factual changes get through, and only a real price change can trigger an instant alert.
03
Telling a real change from a bad load
- Prices vanishing usually means the page failed to load. Vellox sets that check aside. Only after three in a row, with the page still recognisably the same, does it report “took the prices off their pricing page”.
- A bad first snapshot used to make prices look new the next day, sending a false alert to a brand-new user. The checker now starts a fresh baseline instead.
- Plans reordered by an A/B test are compared as sets, so they don’t count as a price change.
04
Keeping it running
Trial reminders were skipped when a job started late, because the logic rounded days left. A simulation of 1,920 users with realistic delays found the old rule missed a reminder for 174 of them, and the new one for none. After failed Vercel builds twice left the live site on an old version for hours without notice, I added CI with type checks, lint, tests and a production build. The project now has about 140 automated test cases.
05
Reaching the region
It has an Arabic landing page and payment in Egyptian pounds through InstaPay or mobile wallets.
06
What isn’t solved
Careers pages that show no roles still fail rather than resolve, because auto-accepting them would cause false hiring alerts if the page recovered. Vellox launched in October, and it’s too early to claim traction.
See it running
Vellox is live, with a free competitor snapshot you can try.