Lindsay Edwards
All projects
In progress

Njordhorse

A self-hosted chassis for always-on agent workhorses, trading, lead generation and tender intelligence, shipped as versioned packs.

Live · Coming soon Repo · Private

Tech stack

Languages
  • Python
  • TypeScript
Frameworks
  • Next.js
  • uv workspace
Infra
  • NATS JetStream
  • PostgreSQL
  • TimescaleDB
  • Docker
AI tooling
  • Anthropic Claude
  • Ollama

Njordhorse is a self-hosted platform for running “workhorses”: always-on, agent-driven systems that do a real job around the clock. The current stable spans market trading, Australian lead generation and government-tender intelligence, three very different jobs sharing one chassis.

What it does#

  • Runs workhorses side by side. Each one is an isolated, self-contained pack of agents, data and jobs on a shared event-driven platform.
  • Treats packs as products. Workhorses are versioned packs designed to be licensable, not features welded into the platform.
  • Takes safety seriously. The trading side is guarded by property-based tests, including a broker-safety invariant checked across a thousand permutations. When code can place orders, “probably fine” is not a test strategy.

Why it matters#

Njordhorse is the most operationally serious thing I have built: event-driven, self-hosted, and designed to run unattended, which changes what “done” means. The engineering hygiene reflects that, with pre-commit gates on ruff and pyright, dependency audits that block PRs, and soak and replay testing before anything runs overnight without me watching it.

The stack#

A Python 3.12 uv workspace plus a Next.js control panel. NATS JetStream for messaging, PostgreSQL 16 with TimescaleDB for time-series data, DuckDB for analytics, and Docker Compose graduating to k3s. Claude drives the agents, with local Ollama models for the cheap work.

More projects