Measuring port congestion from free AIS data with NATS and QuestDB
Blog post from QuestDB
Port Context Engine is a free maritime congestion-monitoring platform launched in October 2026 that uses public AIS vessel signals to show anchorage queues, berth arrivals, waiting times, and recent historical comparisons for Rotterdam, Antwerp-Bruges, Piraeus, and Hamburg. Developed by a single founder with AI-assisted coding, it processes roughly 860 AIS messages per minute through five Go services, NATS JetStream, and QuestDB running on a small VPS, while limiting coverage to ports where free terrestrial AIS data is sufficiently reliable. QuestDB supports the system’s time-based workload through ILP ingestion, PostgreSQL-wire reads, append-only vessel history, upserted port-call phases, and features including LATEST ON for current vessel state, ASOF JOIN for historical ETA context, and SAMPLE BY for minute-level downsampling. Raw positions remain in the database for seven days before a nightly archiver exports verified partitions to Parquet, while summarized positions and vessel records use automated retention policies. The project also documents operational lessons from QuestDB 8.2.3, including the need for independent safeguards before dropping data, table-rebuild procedures for port removal because row-level deletion is unavailable, connection recovery after database restarts, and schema choices that avoid ILP type-casting failures. Future work includes validating pilot-port results against external records, adding geospatial hashes, and moving ingestion to ILP over HTTP.
| Trend | Post Mentions | Total Month Mentions | Posts | Companies | MoM |
|---|---|---|---|---|---|
| AI Agents | 1 | 2,668 | 495 | 155 | -62% |
| Kubernetes | 1 | 1,994 | 151 | 60 | -61% |
Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.