Systems & AI Infrastructure Engineer · La Crosse, WI

Jordan Novak

Decades of telecom and systems engineering, now building real-time, SIP-based AI communications platforms.

20+ hosts, self-hosted end to end, from the SIP border controller to the GPU. From fiber termination in 1997 to a fleet of AI agents running production infrastructure today.

About

Decades of building things that can't go down.

I was still in high school when I started terminating fiber for a federal push to put a network drop in every classroom, school by school across the La Crosse district. I never went to college or tech school after that. Everything since has come from manuals, documentation, and taking things apart until I understood exactly how they work. Doesn't matter if it's a tractor or an LLM.

That habit has carried me through nearly every era of this industry. Pulling token ring out of ceilings. Climbing poles for a DSL startup. Teaching myself T1s and digital telephony from a few thousand pages of manuals for a Department of Defense contact center. Years flying across the country as Frontier's go-to engineer for business phone systems. Running a rural fiber ISP's whole network, alone.

Today all of it goes into QuoraLogic, a self-hosted AI communications platform built for real-time, SIP-based voice and messaging. I built and run every layer myself: a Kamailio border controller and Asterisk PBX, a GPU inference host, Authentik SSO with a central identity registry, a high-availability Kubernetes cluster, and the voice and agent pipelines on top.

It isn't a hobby rig. Real phone calls get answered by AI receptionists, and the fleet is run day to day by AI agents, one on each server, working alongside me.

Telephony & Voice AI

SIPAsterisk / PJSIP / ARIKamailio SBCRTPengineWebRTCLiveKitReal-time Voice Pipelinesfaster-whisper STTKokoro TTSVoice Activity DetectionBarge-inAudio Normalization

Networking & Edge

Fiber TerminationRural ISP OpsCPE EngineeringWireGuardNetmaker MeshTraefikTLS / Let's Encrypt

Virtualization & Orchestration

ProxmoxCephKVMKubernetes (k3s)Docker ComposeAnsible20+ Host Fleet Management

Identity & Access

AuthentikOIDC / SSOIAM DesignRBACEncrypted Credential VaultsAccount Provisioning

AI & Automation

Self-hosted LLM InferenceMulti-agent SystemsTool-calling AgentsRAG & Knowledge GraphsGuardrailsHuman-in-the-loop WorkflowsEvent-driven Automation

Languages & Data

Python (Flask, FastAPI)Dart / FlutterMongoDBPostgreSQLMariaDBRedis

Career

From fiber in the ceiling to AI on the phone line.

Every job below started the same way: a system I didn't know yet, and a stack of documentation. Click any role for the detail.

  • Designing and running a self-hosted AI communications platform end to end. Public edge and mesh networking, a Kubernetes cluster, SSO and identity, a SIP border controller and PBX, GPU inference, and the voice and agent pipelines on top. No cloud vendor lock-in.

  • My own practice. I've consulted for hundreds of businesses, usually as the lead technical person on the engagement, and vendors bring me in when a voice environment doesn't fit their standard install.

  • A rural fiber and wireless ISP serving tens of thousands of customers across northeast Colorado. The job was scoped for a full team. I ran it by myself.

  • I moved halfway across the country for this one. Frontier was stitching together phone companies across the country, and I became the engineer they flew in for business phone systems anywhere in the U.S., from the first sales call to the last day of aftercare.

  • 2010 — 2011

    Apprentice Electrician — Residential electrical contractor

    Between telecom jobs

    A year apprenticed to a residential electrical contractor between telecom jobs. Earned a beginner's electrical license.

  • LHI ran medical and dental readiness for the military on a DoD contract during the Iraq War, including health reassessments for returning service members. I was hired as the one on-site telecom person and taught myself the whole stack.

  • Field and central-office work for a local competitor to the cable company, delivering TV and internet over phone lines.

  • First job, still in high school. A brand-new company won the contract to put fiber in every classroom in the La Crosse district, and I ended up leading the termination work.

Field Notes

A few stories that don't fit on a resume.

Short versions. Ask me for the long ones.

LHI · Asterisk, PHP, MySQL

The live demo for the DoD

LHI needed physician assistants and behavioral-health specialists on the phones, and there weren't enough of them in La Crosse. There weren't enough of them anywhere.

LHI · headquarters move

A PBX in a hatchback

The company outgrew its building, and the phone system had to move with it. Several cabinets of Toshiba CTX670.

LHI · new HQ

Building a headquarters from the conduit up

Before the move I wrote a detailed infrastructure spec: cabling standards, conduit, backbone, how to fish walls. Then I designed the server room end to end. Rack airflow, HVAC, fire suppression, physical security, window thickness, ESD flooring, fiber between racks, overhead cable trays.

Northern Datacom · 1997

Teaching the boss to polish fiber

The vendor came in to train us on fiber termination. I was still in high school. Hand-polishing a connector is fussy work, and I happened to be good at it, so I ended up showing the person who'd become my boss how to get a clean end face.

Frontier · 2011–2018

Writing the shutdown plan for a nuclear plant

Some customers can't have their phones go down, even for maintenance. A hospital. A county government. A nuclear power plant operating under NERC and FERC rules.

KCI Communications · 2023

A team's job, one person

Tens of thousands of customers. A Juniper edge on high-capacity fiber. Field cabinets full of whatever switch hardware we could get optics into. Wireless off towers and grain silos. A Ceph and Proxmox data center, a generator, and a PostgreSQL provisioning system written by someone who'd been there for decades.

Projects

20+ hosts, working together, reaching you on every channel.

Every service in the fleet talks to the others — identity, voice, automation, and clients — then routes what matters to you, wherever you are: mobile, desktop, phone, email, or SMS. All of it running quietly behind the scenes.

Identity & Access

QuoraIAM

The identity, credential, and configuration backbone every other service depends on. Users sync in from Authentik SSO; companies, people, AI agents, and fleet-wide config live in one registry instead of a copy in each service.

  • Default-deny rights engine with roles and per-resource grants
  • Fernet-encrypted credential vault for email, SMS, voice, chat, and Nextcloud
  • Onboarding that provisions real accounts, including SSO logins and SIP extensions on the SBC
  • Fleet-wide LLM and agent-tool registries that sync automatically from the inference host
  • OIDC-gated admin console, separate from the machine-facing REST API
IAMSSOAuthentikOIDCFlask
QuoraIAM health dashboard showing Mongo connection, Authentik sync status, and active user count

Voice AI

QuoraLogic Voice Agents

A self-hosted AI phone receptionist. It answers real calls, transcribes and understands the caller, and replies in a natural synthesized voice. No call audio or transcript ever goes to a third-party voice-AI vendor.

  • VAD → speech-to-text → LLM → text-to-speech → live RTP, with filler audio to mask model latency
  • Barge-in: callers can interrupt mid-sentence (~140 ms energy-based confirm)
  • One pipeline, two entry points: PSTN through the PBX, and in-app calling through LiveKit
  • Speech-to-text (faster-whisper) and TTS (Kokoro) offloaded to a GPU host for low latency
  • Per-agent profiles (prompt, voice, guardrails, transfer targets) loaded live from QuoraIAM
SIPVoice AILLMGuardrailsReal-time
QuoraLogic voice agent overview panel showing identity, capabilities, and guardrail status for an AI receptionist named FranciasQuoraLogic voice agent compiled system prompt view showing the exact text sent to the LLM at call start

Telephony Core

QuoraSBC + QuoraVOIP

A carrier-grade signaling edge built from open-source parts. A Kamailio session border controller terminates SIP from browsers, apps, and the PSTN carrier. Behind it, an Asterisk PBX runs the dialplan and exposes the call-control API that the voice and presence services consume.

  • Kamailio 6 SBC with SIP over WSS and TLS, auto-renewing Let's Encrypt certificates
  • RTPengine bridges WebRTC (ICE, DTLS-SRTP) to plain RTP for the PBX, switching profile by call direction
  • Brute-force protection via pike rate-limiting and auth-failure bans
  • Provisioning API: QuoraIAM creates SIP subscribers over an authenticated, mesh-only endpoint
  • Asterisk 22 built from source, PJSIP-only, with ARI (REST + WebSocket) call control
KamailioAsteriskRTPengineWebRTCSIP

Automation Engine

qouraPresence

The fleet's event bus and automation hub. It pulls every communication channel into one normalized feed, runs automations against it, builds a behavioral profile of its operator, and tracks which clients are online.

  • Five live connectors (Asterisk ARI, IMAP, Nextcloud DAV, Telnyx SMS/voice, Redis), each isolated so one crash never takes down the feed
  • 91k+ events ingested and normalized into a single stream
  • Flow-graph automation engine with durable wait/resume, plus rule-based triggers with LLM checks
  • Identity engine that builds a contact graph, topic frequencies, and a daily diary, then syncs them to a RAG folder
  • Real-time SSE feed and heartbeat-based presence for desktop and mobile clients
AutomationEvent routingSSETelnyx
Presence notification feed showing a unified, severity-tagged inbox of email and system events

Agent Fleet

QouraDinate + QouraKeeper

Project management where AI agents do the work. QouraDinate turns a project plan into tasks and compiles a system prompt for each assigned agent. QouraKeeper, an autonomous executor, picks those tasks up and works through their subtasks against self-hosted models.

  • Project wizard that plans work and compiles per-agent system prompts: identity, capabilities, knowledge, contacts, guardrails
  • HMAC-signed broker API between the task board and the executor
  • Structured output protocol: progress, complete, clarify, decision, blocker
  • Human-in-the-loop checkpoints: agents pause for a person, then resume on the next poll
  • Rolling per-agent memory and a tool-calling loop backed by the fleet tool registry
Multi-agentTask queuesHIL reviewTool calling
QuoraLogic agents roster showing multiple AI agents with active task counts and review status

Self-hosted AI

mind — GPU Inference

The fleet's own inference plane: a GPU workstation that serves every LLM, speech-to-text, and text-to-speech request in the fleet. No per-token bills, and no data leaves the network.

  • Multi-model serving through Ollama and llama.cpp behind OpenAI-compatible APIs
  • Planning, coding, and reasoning models picked per task through a central registry
  • GPU speech-to-text and text-to-speech moved here from the voice host to cut call latency
  • Per-company model allow-lists enforced by the QuoraIAM registry
Ollamallama.cppGPUWhisperKokoro

Desktop Client

quoraDesktop

The Linux desktop client for the fleet: AI chat, contacts, voice, and video from one home screen. It shows live reachability for every backend service it talks to.

  • Flutter for Linux desktop, split from the Android + Linux quoraMobile client
  • Registers straight to the SBC over SIP-over-WSS for native calling
  • Presence heartbeats and a live event stream from qouraPresence
  • Streaming AI chat with local history and optional text-to-speech playback
FlutterDesktop appUnified commsWebRTC
quoraDesktop client home screen with AI, SMS, email, chat, voice, and video quick-launch tiles

Edge & Networking

QuoraMedia

The public front door and private-network hub. Internet traffic ends here and is routed over encrypted tunnels, so backend services are never exposed to the internet directly.

  • Traefik v3 terminating TLS for 36 hostnames across 3 domains, with automatic Let's Encrypt
  • LiveKit WebRTC media server and token service for meetings and in-app calls
  • Migrating from hand-built WireGuard hub-and-spoke to a self-hosted Netmaker mesh
  • Split-horizon DNS on internal BIND resolvers
TraefikWireGuardNetmakerLiveKit

Orchestration

k3s Cluster

A three-node, high-availability Kubernetes cluster that hosts per-company tenants alongside shared services. It was migrated from Docker Swarm in place.

  • Every node runs both control plane and etcd, so there's no single point of failure
  • Per-tenant Nextcloud instances (files, calendar, contacts) linked to Authentik SSO
  • Also hosts Gitea, Passbolt, Redis HA, Qdrant, an MCP tool gateway, and business apps
  • Per-app namespaces, with TLS handled upstream at the edge
Kubernetesk3sMulti-tenantNextcloud

Property Management SaaS

Roostd

A full property-management product built on the same fleet: portfolio dashboards, late-rent tracking, and a drag-and-drop builder for automated rent-reminder escalation policies.

  • Runs as its own tenant, with a dedicated Nextcloud instance and SSO
  • Built for multi-company tenancy, not only internal tooling
SaaSWorkflow builderFintech-adjacent
Roostd property management dashboard showing late renters, past due amounts, and open work ordersRoostd late-rent escalation policy builder with drag-and-drop timer and action blocks

The Stack

Every layer self-hosted, from the SIP edge to the GPU.

No managed cloud services in the critical path. Each layer below runs on hardware and software I operate, and each one is wired into the same identity and networking backbone.

Self-hosted servers & services
20+
Public hostnames across 3 domains
36
Events aggregated by qouraPresence
91k+
HA Kubernetes control plane
3-node

01 · Edge

One public front door; everything else stays behind tunnels.

  • Traefik v3 · Let's Encrypt
  • LiveKit WebRTC SFU
  • Netmaker mesh · WireGuard
  • Internal BIND DNS

02 · Telephony

SIP from browsers, apps, and the PSTN, carried into a real PBX.

  • Kamailio 6 SBC (WSS / TLS)
  • RTPengine WebRTC ↔ RTP
  • Asterisk 22 · PJSIP · ARI
  • VAD · barge-in · audio normalization
  • Telnyx PSTN & SMS

03 · Intelligence

Every model runs in-house, from speech to reasoning to retrieval.

  • Ollama · llama.cpp on GPU
  • faster-whisper STT · Kokoro TTS
  • Autonomous task executor
  • Graph RAG: Neo4j + Weaviate

04 · Identity & Data

One source of truth for who is who and what they can do.

  • Authentik OIDC SSO
  • QuoraIAM registry · Fernet vault
  • MongoDB · PostgreSQL · MariaDB
  • Nextcloud CalDAV / CardDAV / WebDAV

05 · Compute

Kubernetes for multi-tenant workloads, Compose for single-host services.

  • 3-node HA k3s · embedded etcd
  • Docker Compose services
  • KVM virtualization
  • Ansible tooling

How it's run

Operated by a fleet of AI agents.

Each server runs its own embedded AI agent. There's no central orchestrator and no ticket queue. The agents coordinate through shared status, needs, and session files, plus a per-host inbox for handing off files and API contracts.

Every session starts by reading fleet state and ends by writing it back. The result is a timestamped audit trail of every change, including the agents' own corrections of earlier mistakes. Each service is periodically re-verified against the live system, so the documentation stays honest.

Before the Cloud

The systems I learned on are still running somewhere.

The modern stack sits on decades of enterprise voice, carrier transport, and outside plant. A lot of it I learned before there was a Stack Overflow answer for it.

Classroom in the district fibered, 1997–2001
Every
Of lines in the largest VoIP installs at Frontier
Thousands
Of ISP customers on the network I ran at KCI
Tens of thousands
Of businesses consulted for
Hundreds

Enterprise Voice

  • Nortel (Option 11, DMS-10, CS1000, Meridian-era)
  • Avaya Aura CM & Session Manager
  • Mitel 3300, 5000, SX-200, SX-2000
  • Toshiba CTX
  • Nortel CCTK

Digital Telephony & Transport

  • T1 / PRI
  • QSIG
  • ISDN
  • Channel banks
  • Unistim
  • Voice VLANs
  • TDM-to-SIP bridging

Contact Center

  • ACD & queueing
  • IVR design
  • CTI
  • Nuance speech (VBVoice)
  • Call recording & chain of custody

Outside Plant & Carrier

  • Hand-polish & fusion splicing
  • OTDR
  • BICSI structured cabling
  • VDSL / HDSL
  • NID & drop work
  • DMS provisioning
  • DWDM
  • Optical loss budgets
  • Aerial & underground design

Carrier Networking

  • Juniper edge & BGP
  • Cisco
  • ADTRAN
  • MikroTik
  • Ubiquiti long-range wireless
  • GIS route surveying

Regulated Environments

  • DoD DITSCAP / DIACAP
  • NERC / FERC procedures
  • Hospital change control
  • Public-safety colocation

Training

Vendor-trained on the platforms I've run.

Most of these came from the Frontier and LHI years, when keeping them up was part of the job.

Cisco
  • CCUX, Unified Contact Center Express (current)
  • CMNA, Meraki
Avaya / Nortel (ACIS)
  • CS1000 Install & Maintenance
  • Aura Communication Manager
  • Session Manager Install, Admin & Design
  • Network Switching & Routing
Mitel
  • 3300 Administration, Install & Networking
  • 5000 Series
  • Collaboration Server
  • Contact Center
  • NuPoint
ADTRAN
  • ATCA, Certified Networking Associate
Ruckus
  • Wireless Theory & Design