Blog
Prismatic Platform Blog
Engineering deep-dives, platform announcements, intelligence methodology, and community stories from the team building the next generation of autonomous intelligence infrastructure.
Connect & Contribute
Created by Tomas Korcak (korczis) | Open Source under GHL
All Posts
OSINT Signal Synthesis: Applying the GRACE Framework in Production
How Prismatic applies the GRACE framework to fuse heterogeneous OSINT signals into calibrated intelligence. A practical walk-through from raw adapter output to decision-grade evidence.
Apr 09, 2026
Phoenix PubSub Fan-Out Patterns: Topics Are a Contract
PubSub is free — until the fan-out is wrong and one broadcast wakes 10,000 LiveView sockets. Three topic naming rules that keep Prismatic's live dashboards responsive at scale.
Apr 09, 2026
Polyglot Persistence: Four Storage Adapters Behind One API
PostgreSQL for truth, ETS for speed, Meilisearch for search, KuzuDB for relations. One storage trait behind all four. Here's the pattern that keeps the calling code boring.
Apr 09, 2026
Property-Based Testing for OSINT Parsers: Find the Bugs Your Examples Miss
Example-based tests prove your parser works on the inputs you thought of. Property-based tests prove it works on the inputs you didn't. Here's how Prismatic uses StreamData to harden 128 OSINT adapters.
Apr 09, 2026
RAG for Internal Knowledge: When the LLM Should Not Make Things Up
Retrieval-augmented generation sounds like magic. In practice it is three boring primitives — chunk, embed, retrieve — wired carefully enough that the LLM stops hallucinating about your own codebase.
Apr 09, 2026
Color Team Operations: Red, Blue, Purple, and Why You Need All Three
Red finds the holes. Blue closes them. Purple makes sure they stay closed. A security program with only one color is a security program with a blind spot — and attackers find blind spots for a living.
Apr 09, 2026
Supervision Trees for OSINT Pipelines: Let It Crash, Keep the Evidence
How Prismatic structures supervision trees so that a single flaky OSINT adapter never brings down a case. DynamicSupervisor, Task.Supervisor, and the one-for-one rule that saved production.
Apr 09, 2026
Task.async_stream Patterns: The One OSINT Concurrency Primitive You Actually Need
You don't need a job queue for 50 parallel OSINT lookups. You need Task.async_stream with the right timeout, the right max_concurrency, and `on_timeout: :kill_task`. Here's the recipe and the three gotchas.
Apr 09, 2026
Telemetry-First Observability: Events Before Dashboards
Dashboards built without a telemetry contract lie. Telemetry built without a consumer is overhead. Here's how Prismatic wires :telemetry events into a coherent observability story across 94 umbrella apps.
Apr 09, 2026
Telemetry to Prometheus: The Pipeline You Stop Writing Once You Get It Right
`:telemetry` events → `Telemetry.Metrics` definitions → Prometheus exporter → Grafana. Four steps, three libraries, one rule: the metrics list is the API.
Apr 09, 2026
TimescaleDB for Intelligence Telemetry: When Postgres Becomes a Time-Series Store
Storing OSINT run telemetry, decision calibration history, and detection counts in plain Postgres works — until you hit 500 million rows. TimescaleDB turns the same database into a time-series store without a new system to operate.
Apr 09, 2026
Umbrella Apps: When the Monolith Should Actually Split
Prismatic runs 94 umbrella apps. That number sounds insane until you realize what it isn't: 94 services, 94 deploys, or 94 teams. Here's the heuristic for when a module should become an app and when it should stay a module.
Apr 09, 2026
Dive deeper into the Prismatic Platform -- explore our architecture, agents, and epistemic framework.