Engineering standards

Boring technology, shipped carefully.

We optimise for the year after launch, not the demo day. Every project ships with monitoring, a runbook, and source code you own outright.

What we build with

Mainstream, hireable, documented. No exotic stacks you'll struggle to maintain.

Python — collectors, pipelines, analysis FastAPI — APIs & services React + Ant Design — admin UIs Node.js — integrations & bots MySQL / Postgres / SQLite — storage Playwright / headless Chrome — browser automation LLM APIs — classification, extraction, Q&A cron / systemd / PM2 — scheduling Docker — where it earns its keep

The standards every project ships with

These aren't add-ons. They're the definition of done.

🩺 Health monitoring

Every scheduled job reports success/failure to a watchdog. Silent deaths are a bug class we design out: if a collector stops, you know the same day — from us, not from a stale report three weeks later.

🧬 Idempotent ingestion

Unique keys and content fingerprints at the schema level. Re-running a job never duplicates data. We've cleaned up enough "pull everything" disasters to make this non-negotiable.

🔎 Evidence over vibes

Any score, ranking or classification is traceable to its source records. If data is missing, the system says "insufficient data" — it never guesses high. Analytics you can defend in a board meeting.

📖 Runbook + handover

Deployment steps, credentials location, failure modes and fixes, in one document. Your team can run the system without us. IP transfers on final payment — no hostage code.

🚫 No patch-on-patch hacks

We fix source code and rebuild — never hot-patch minified bundles or inject scripts into compiled output. Every change is backed up, tested end-to-end, and verified in production before we call it done.

🔐 Secrets hygiene

Credentials live in env files with restricted permissions, never in code or docs. Backups encrypted. Least-privilege access. We treat your data like an auditor will see it — because someone's auditor always eventually does.

How a project runs

Start with a scope, not a sales call

Describe the problem in one paragraph. We'll come back with a fixed price and a milestone plan — or tell you honestly if we're not the right fit.