← All work

Real-time OSINT platform with an AI agent harness

Horus

Horus is a real-time OSINT and situational-awareness platform: a live 3D globe that fuses aircraft, ships, satellites, earthquakes, disasters and sanctions lists into one picture, plus an LLM agent harness that can investigate that picture and act on it, safely.

Role
Solo: product, backend, frontend, AI, security
Timeline
2026 · private beta
Platform
Web (Next.js) · self-hosted Docker stack

Private beta; happy to give a live walkthrough.

The challenge

Live public feeds are noisy, overlapping and sometimes spoofed. Turning eight of them into one trustworthy picture means resolving the same entity across sources and scoring how much to believe each signal, continuously, as data streams in.

On top of that, an AI agent that can change things is only useful if it can't be talked into doing damage.

Key decisions

  1. 01

    Fusion and entity resolution

    ADS-B aircraft, AIS ships, satellite TLEs, USGS/EMSC seismic data, GDACS disasters and sanctions lists, resolved across sources into an entity graph with alerting and time-scrubbable replay. 87 REST/SSE endpoints over a 32-table multi-tenant schema.

  2. 02

    Streaming analytics

    Incremental spatial/temporal co-travel detection at roughly O(k) per observation that mints graph edges live, cross-feed spoofing detection, and a deterministic 0–100 reliability score for every signal.

  3. 03

    An agent harness designed from scratch

    28 typed, schema-validated tools; mutating actions gated by user confirmation and audit-logged; parallel tool execution; sub-agent orchestration; three-layer memory with context compaction; pluggable LLM providers including local Ollama and bring-your-own-key endpoints.

  4. 04

    Hardened like it will be attacked

    Google/X OAuth with PKCE, four-role RBAC, per-feature token budgets with atomic settlement, SSRF guards, two red-team passes and a 328-case agent regression suite (56 adversarial cases), all deployed behind Docker, Caddy and a Cloudflare Tunnel with zero inbound ports.

Results

~41k
lines, full stack, solo
8+
live feeds fused into one picture
28
typed agent tools
328
agent regression cases
355 rps
load-tested, p99 311 ms, zero errors
0
inbound ports open in production

Contact

Have a project or a role in mind?

I'm open to freelance projects and full-time roles, remote or in İstanbul. Write me a few lines about what you need; I usually reply within a day.