Active R&DProjects

Systems I design & build,from sensor to decision.

Self-directed research and open-source-leaning builds, weighted towardcounter-UAS (anti-drone) defense and open-source-intelligence platforms, plus the geospatial and data engineering that hold them up. Each one starts from an operational problem (noisy sensors, drowning analysts, ungoverned airspace) and ends at a single picture someone can act on.

  • 19Active programs
  • 12Domains
  • 17Live systems
  • C-UAS+ OSINT focus

Case files

Program dossiers

Each program below is a working brief: the threat, the approach, and what it delivers. Codenames are mine.

Counter-UAS / Air Defense

Counter-UAS Detection & Tracking Platform

AEGIS-COngoing · self-directed

Active R&D

A modular anti-drone system that fuses RF, acoustic, and optical sensors into one real-time air picture, classifies threats, and tracks them across the site.

  • 4Sensor modalities fused
  • <2sDetection-to-alert
  • 2.4/5.8GRF bands scanned
  • EDGEDeployment

// Threat

Small unmanned aircraft are cheap, fast, and nearly invisible to legacy radar. Off-the-shelf detectors each see only a sliver of the problem: one hears the rotors, one sniffs the control link, one sees the airframe, and none of them agree on what, or where, the threat actually is. The gap is fusion: turning a dozen noisy, disagreeing feeds into a single track an operator can act on in seconds.

// Approach

  • Software-defined-radio front end (HackRF / RTL-SDR / KrakenSDR) that scans the 2.4/5.8 GHz bands, demodulates Remote ID, and fingerprints control protocols like OcuSync and Lightbridge, with direction-finding to locate the operator.
  • A sensor-fusion engine that correlates RF bearings, acoustic signatures, and EO/IR camera detections into unified tracks using Kalman/particle filtering, so one drone stays one track across every sensor.
  • On-camera computer vision (YOLO + DeepSORT) trained to separate drones from birds and crewed aircraft, classify make and model, and hold a lock while the airframe manoeuvres.
  • An edge-first architecture: detection nodes run on rugged low-power compute over MQTT/MAVLink, buffering locally and syncing to a central node so the system keeps working when the network drops.

// Delivers

  • Single common operating picture: a live map with track history, heading, altitude estimate, and threat score.
  • Geofenced alerting that fires the instant a non-cooperative track crosses a protected boundary.
  • Drone-vs-bird classification that cuts false alarms to a level an operator can actually trust.
  • Full audit logging for after-action review and detection-model tuning.
Capabilities
  • RF detection
  • Sensor fusion
  • AI classification
  • Direction finding
  • C2 dashboard
  • Geofencing
Stack
  • Python
  • GNU Radio
  • PyTorch
  • YOLO
  • OpenCV
  • MQTT
  • PostGIS
  • FastAPI
  • React
  • deck.gl

OSINT / Intelligence

All-Source OSINT Fusion Platform

SENTINELOngoing · self-directed

Active R&D

An analyst-grade platform that collects open-source data at scale, resolves it into a single entity graph, and surfaces hidden connections on a mapped, searchable timeline.

  • 6+Source types
  • GRAPHEntity graph
  • SCHEDULEDRefresh
  • MAP+GRAPHView

// Threat

Open-source intelligence drowns analysts in volume. The signal is spread across social media, news, forums, public records, and imagery, all in different formats, languages, and reliabilities, and the hard part isn’t finding data, it’s fusing it: knowing that a handle, a company, a vessel, and a location are all the same story, and being able to see how it moves through time and space.

// Approach

  • Scheduled, respectful collectors and API integrations pull from social, news, forums, public records, and dark-web sources into a normalized ingestion pipeline with dedup and enrichment.
  • Entity resolution stitches people, places, organizations, and events across messy sources into one graph, with confidence scoring so analysts can weigh what they trust.
  • A link-analysis layer surfaces non-obvious connections through interactive network views, while every geocoded event drops onto a time-aware map.
  • Tasking, saved queries, keyword/geofence monitors, and prioritized alerting turn passive collection into active early warning.

// Delivers

  • One searchable picture across dozens of sources instead of a dozen open tabs.
  • Link-analysis graphs that expose the relationships behind an event, not just the event.
  • A geospatial timeline that replays how a situation developed, hour by hour.
  • Alerting that flags emerging situations early, in context, and deduplicated.
Capabilities
  • Automated collection
  • Entity resolution
  • Link analysis
  • Geospatial timeline
  • Alerting
  • Dark-web monitoring
Stack
  • Python
  • FastAPI
  • PostgreSQL
  • PostGIS
  • Neo4j
  • Elasticsearch
  • spaCy
  • Playwright
  • Leaflet
  • React

GEOINT / Domain Awareness

Arctic Domain Awareness

BOREAL WATCHOngoing · sovereignty R&D

Ongoing

A maritime and air domain-awareness prototype for the Canadian Arctic that fuses AIS, ADS-B, and satellite feeds and flags anomalies against normal patterns of life.

  • AIS·ADS-B·SATFeeds fused
  • ARCTICFocus
  • ANOMALYAnalysis
  • POLARBasemap

// Threat

The Arctic is vast, sparsely sensored, and increasingly contested. Vessels go dark by switching off AIS, aircraft skirt the edges of coverage, and the sheer scale makes manual monitoring hopeless. Sovereignty depends on noticing the one track that doesn’t behave like the others before it matters.

// Approach

  • Fuses AIS vessel tracks, ADS-B flight data, and open satellite imagery into a unified northern picture with PostGIS at the core.
  • Pattern-of-life modeling learns normal routes and behaviours, then flags anomalies: AIS gaps, loitering, unusual approaches, and dark-vessel rendezvous.
  • Change detection over imagery highlights new activity in remote areas between passes.
  • An interactive northern map with time-scrubbing lets an analyst replay days of movement and drill into any track.

// Delivers

  • A single northern common operating picture instead of siloed feeds.
  • Automatic flagging of AIS-dark and anomalous behaviour.
  • Time-aware replay for reconstructing what happened, and when.
Capabilities
  • AIS fusion
  • ADS-B tracking
  • Anomaly detection
  • Change detection
  • Pattern of life
Stack
  • Python
  • PostGIS
  • GeoPandas
  • GDAL
  • scikit-learn
  • Leaflet
  • FastAPI

OSINT / Geospatial

GAC Travel Advisory Tracker

WAYPOINTOngoing · open-source

Operational

A platform that archives Global Affairs Canada travel advisories over time, maps how each country’s risk evolves, and correlates changes with world events.

  • 210+Countries tracked
  • TIME-SERIESHistory
  • SCHEDULEDCadence
  • MAP+TIMEView

// Threat

Government travel advisories change quietly. A country’s risk level shifts overnight with no history, no diff, and no explanation of why, so the trend, and the event behind it, is lost the moment the page updates.

// Approach

  • Scheduled collection ingests and archives every advisory, tracking per-country and per-region risk levels as a full time series.
  • Renders advisory history as an interactive map and timeline, surfacing escalations and de-escalations across the globe at a glance.
  • Light NLP correlates advisory changes with news and world events to explain why a country’s risk moved, not just that it did.

// Delivers

  • A complete, queryable history of advisories that would otherwise vanish on update.
  • At-a-glance global view of who is escalating and de-escalating.
  • Event correlation that turns a status change into a story.
Capabilities
  • Automated archiving
  • Time-series mapping
  • NLP event correlation
  • Change tracking
Stack
  • Python
  • PostgreSQL
  • PostGIS
  • Leaflet
  • spaCy
  • FastAPI

SIGINT / RF

SDR Spectrum Survey & Signal Toolkit

SPECTREOngoing · self-directed

Prototype

A software-defined-radio toolkit for surveying the spectrum, detecting and fingerprinting drone control links, and feeding RF signatures into the counter-UAS pipeline.

  • ISMBands
  • DF + SIGMethod
  • SDRRadios
  • C-UASFeeds

// Threat

Before you can defeat a drone you have to find it, and most of them announce themselves in RF long before they’re visible. But raw spectrum is a firehose; turning it into “that’s a DJI on channel 6, bearing 040” takes a pipeline, not a spectrogram.

// Approach

  • Wideband scanning across ISM bands with HackRF and RTL-SDR, waterfall capture, and automated signal detection in GNU Radio.
  • Protocol fingerprinting characterizes control and video links and builds a reusable signature library.
  • Direction-finding with coherent multi-channel SDR (KrakenSDR) estimates bearing to the emitter.
  • Detections and signatures export straight into the counter-UAS fusion engine as another sensor.

// Delivers

  • Automated detection and labelling of drone RF activity from raw spectrum.
  • A growing signature library that sharpens classification over time.
  • Bearing estimates that help geolocate the operator, not just the aircraft.
Capabilities
  • Spectrum survey
  • Signal fingerprinting
  • Direction finding
  • Signature library
Stack
  • GNU Radio
  • Python
  • HackRF
  • KrakenSDR
  • NumPy
  • SciPy

Security / Threat Intel

Honeynet & Threat Telemetry

DECOYOngoing · homelab

Operational

A self-hosted lab of honeypots and monitoring that captures real attacker behaviour and turns it into threat telemetry and hardening feedback.

  • HARDENEDPosture
  • LIVETelemetry
  • SEGMENTEDNetwork
  • FILTEREDDNS

// Threat

Defensive skills go stale without real adversaries. Reading about attacker tradecraft is not the same as watching it hit your own decoys at 3 a.m., and that live telemetry is exactly what tunes real defenses.

// Approach

  • A fleet of honeypots behind hardened networking, VPN, and network-wide DNS filtering captures intrusion attempts across services.
  • Attack telemetry is aggregated, geolocated, and dashboarded to surface sources, tactics, and trends.
  • Findings feed back into hardening playbooks and detection rules for the systems I build and operate.

// Delivers

  • A live stream of real-world attacker tactics instead of theory.
  • Geolocated dashboards of intrusion attempts and their patterns.
  • Hardening and detection improvements grounded in what actually gets tried.
Capabilities
  • Honeypots
  • Threat telemetry
  • Network hardening
  • Intrusion analytics
Stack
  • Linux
  • Docker
  • WireGuard
  • Suricata
  • Grafana
  • Elasticsearch

Data / Transportation Research

Transportation Survey Analysis Platform

OD MATRIX2022 – present · Malatest

Production

End-to-end analysis infrastructure for origin–destination travel surveys exceeding a million trips: ETL, statistical weighting, spatial analysis, and client-ready reporting.

  • 1M+Trips analyzed
  • 40×ETL speedup
  • TTS+Studies
  • PG+PYStack

// Threat

North America's largest travel-demand surveys generate millions of trip records across households, persons, and zones. Analysts need weighted, spatially correct outputs fast enough to iterate, but legacy ETL was slow, manual steps were error-prone, and every study duplicated the same plumbing.

// Approach

  • Python ETL with SQLAlchemy bulk operations and async I/O, engineered up to 40× faster than the predecessor pipeline, with data-quality gates at every stage.
  • PostGIS-backed spatial analysis for zone assignment, trip chaining, and origin–destination matrices at metropolitan scale.
  • Statistical weighting against census profiles for households, persons, and trips, with reproducible notebooks and automated validation.
  • SurveyJS-driven data collection integrated with Flutter field apps for offline-capable interviewer workflows.

// Delivers

  • Million-record studies processed in hours instead of days.
  • Reproducible weighting and validation that survives peer review.
  • Self-serve Superset dashboards for project teams and clients.
  • Standardized ETL patterns reused across multiple large studies.
Capabilities
  • ETL pipelines
  • Statistical weighting
  • PostGIS analysis
  • SurveyJS
  • Flutter field apps
Stack
  • Python
  • PostgreSQL
  • PostGIS
  • Pandas
  • SQLAlchemy
  • SurveyJS
  • Flutter
  • Superset

Business Intelligence

Open-Source BI & Process Transformation

OPENBOOK2024 – present · Malatest

Operational

A company-wide shift from proprietary SaaS to self-hosted open-source tooling for time tracking, project management, analysis, and Apache Superset dashboards.

  • SUPERSETBI platform
  • SELFHosting
  • MULTIDashboards
  • CO-WIDETeams

// Threat

Per-seat licensing, data locked in vendor silos, and reporting tools that could not keep pace with a research organization's needs. Teams needed self-serve analytics without waiting on a proprietary BI ticket queue.

// Approach

  • Mapped every proprietary workflow to an open-source equivalent: time tracking, project management, analysis, and reporting.
  • Deployed and administered Apache Superset with connected data sources, governed metrics, and role-based access.
  • Built custom dashboards and SQL models so project teams explore study progress, staffing, and deliverables without writing queries.
  • Ran training and documentation so adoption stuck past the initial migration.

// Delivers

  • Predictable infrastructure costs instead of escalating SaaS licenses.
  • Data sovereignty: client and operational data stays in-house.
  • Self-serve dashboards across teams that previously relied on manual reports.
  • A reusable playbook for open-source process transformation.
Capabilities
  • Superset dashboards
  • OSS migration
  • Self-hosting
  • Metrics governance
  • Training
Stack
  • Apache Superset
  • PostgreSQL
  • Python
  • Docker
  • Nginx

AI / NLP

Self-Hosted LLM & RAG Stack

ORACLEOngoing · self-directed

Active R&D

A privacy-first retrieval-augmented generation stack for querying proprietary documents with open-source models, embeddings, and vector search, so no data leaves the building.

  • LOCALInference
  • PG+CHROMAVectors
  • 12K+Chunks
  • ON-PREMPrivacy

// Threat

Cloud LLM APIs are convenient until contracts, research data, or operational reports cannot leave your network. Teams still need semantic search and grounded answers over their own document corpus.

// Approach

  • Document ingestion pipeline: chunking, metadata extraction, and embedding with open models into pgvector or Chroma.
  • Ollama and vLLM for local inference: chat, summarization, and structured extraction without third-party API calls.
  • Hybrid retrieval combining semantic search and keyword filters, with source citation and query logging.
  • LangChain orchestration for multi-step RAG workflows and tool-using agents wired into existing systems.

// Delivers

  • Grounded answers over proprietary documents with full data sovereignty.
  • Queryable embedding index with measurable retrieval precision.
  • Agent workflows for research triage and document summarization.
  • Cost-controlled AI that scales without per-token billing surprises.
Capabilities
  • RAG
  • Embeddings
  • Self-hosted LLMs
  • Agent workflows
  • Semantic search
Stack
  • Python
  • Ollama
  • LangChain
  • pgvector
  • Chroma
  • FastAPI
  • spaCy

Maritime / Domain Awareness

Maritime AIS Analytics & Dark-Vessel Detection

HARBORWATCHOngoing · self-directed

Prototype

AIS track analytics that learns normal vessel behaviour, flags dark-ship gaps and anomalous loitering, and feeds a maritime domain-awareness dashboard.

  • AISFeed
  • POSTGISStore
  • ANOMALYDetection
  • TIMEReplay

// Threat

Vessels evade monitoring by switching off AIS transponders, spoofing identities, or loitering in patterns that look routine until they are not. Manual chart-watching does not scale across busy waterways and vast offshore areas.

// Approach

  • Ingests AIS feeds into PostGIS with spatial indexing for real-time and historical track storage.
  • Pattern-of-life models learn normal routes, speeds, and port-call behaviours per vessel class and region.
  • Anomaly detection flags AIS gaps, identity changes, loitering, unusual approaches, and dark-vessel rendezvous.
  • Interactive map with time-scrubbing replays track history and correlates anomalies with contextual events.

// Delivers

  • Automatic surfacing of AIS-dark and anomalous vessel behaviour.
  • Replayable track history for investigative and after-action analysis.
  • Feed integration into broader domain-awareness and OSINT fusion platforms.
Capabilities
  • AIS ingestion
  • Anomaly detection
  • Pattern of life
  • Track replay
  • Dark-vessel alerts
Stack
  • Python
  • PostGIS
  • GeoPandas
  • scikit-learn
  • Leaflet
  • FastAPI

Counter-UAS / C2

Edge C2 Dashboard & Common Operating Picture

WAR ROOMOngoing · self-directed

Active R&D

A real-time command-and-control dashboard that unifies sensor tracks, threat scores, geofences, and audit logs into a single operator picture, engineered to run at the edge.

  • <1sLatency
  • DECK.GLMap
  • EDGEMode
  • FULLAudit

// Threat

Sensor fusion produces tracks, but operators need a decision surface: who is in the air, how threatening are they, what is the history, and what happened when we alerted? Prototype dashboards that freeze under load or die when the network drops are worse than no dashboard.

// Approach

  • React front end with deck.gl map layers for live tracks, history trails, sensor coverage, and geofence boundaries.
  • FastAPI WebSocket backend pushing track updates, alert events, and system health in sub-second latency.
  • Threat scoring engine combining classification confidence, proximity to protected assets, flight behaviour, and airspace rules.
  • Offline-first edge deployment with local buffering and sync, so the COP stays live during network interruptions.

// Delivers

  • Single operator picture across all fused sensor tracks.
  • Geofenced alerting with full audit trail for compliance and after-action review.
  • Sub-second update latency at the edge on rugged hardware.
  • Threat prioritization that cuts operator cognitive load.
Capabilities
  • C2 dashboard
  • WebSocket realtime
  • Threat scoring
  • Geofencing
  • Edge deployment
Stack
  • React
  • deck.gl
  • FastAPI
  • WebSockets
  • PostGIS
  • MQTT
  • Docker

Mobile / Research Ops

Survey Field Collection Suite

FIELDKIT2023 – present · Malatest

Production

Flutter mobile apps and SurveyJS web forms for offline-capable field data collection, with sync pipelines that ingest interviewer submissions into central PostgreSQL databases.

  • iOS+ANDPlatforms
  • OFFLINEMode
  • SURVEYJSForms
  • AUTOSync

// Threat

Large field studies depend on interviewers collecting data in homes, transit stations, and remote locations, often without reliable connectivity. Paper fallback is slow; online-only apps fail in the field.

// Approach

  • Cross-platform Flutter apps with local SQLite storage, validation rules mirroring the central schema, and background sync when connectivity returns.
  • SurveyJS web questionnaires with complex branching logic, validation, and quota management for tablet-based collection.
  • Python ingestion pipelines that reconcile field submissions, flag quality issues, and load into PostgreSQL for analysis.
  • Admin dashboards for monitoring interviewer progress, quota fills, and data-quality metrics in near real time.

// Delivers

  • Reliable data collection in low-connectivity field environments.
  • Complex survey logic enforced consistently across web and mobile.
  • Automated ingestion with quality gates before analysis begins.
  • Real-time visibility into field progress for study managers.
Capabilities
  • Flutter apps
  • Offline sync
  • SurveyJS
  • Field validation
  • Progress monitoring
Stack
  • Flutter
  • Dart
  • SurveyJS
  • TypeScript
  • Python
  • PostgreSQL
  • SQLite

Counter-UAS / Acoustic

Acoustic Drone Detection Array

ECHOGRIDOngoing · self-directed

Prototype

A microphone-array pipeline that detects rotor harmonics, estimates bearing, and feeds acoustic events into the counter-UAS fusion engine alongside RF and optical sensors.

  • ARRAYNodes
  • EVENTSOutput
  • MQTTFusion
  • EDGEPrivacy

// Threat

RF silence does not mean airspace is clear: battery-powered gliders and pre-programmed routes exist. Acoustics fill gaps when control links are quiet, but urban noise creates false positives unless detections are fused and site-tuned.

// Approach

  • Distributed microphone nodes with GPS time-sync capture wideband audio and run edge DSP for harmonic peak detection and rotor-class feature extraction.
  • Beamforming and TDOA estimates azimuth to complement bearing-only RF hits when line-of-sight to the operator is blocked.
  • Event payloads (timestamp, bearing, confidence, spectral features) publish over MQTT to the fusion engine rather than streaming raw audio.
  • Per-site noise-floor calibration and seasonal retuning reduce false alarms from HVAC, traffic, and event crowds.

// Delivers

  • Additional detection modality when RF and camera coverage are weak.
  • Bearing estimates that improve cross-sensor track association.
  • Privacy-preserving telemetry: features, not audio recordings, leave the node.
Capabilities
  • Acoustic detection
  • Beamforming
  • Edge DSP
  • Sensor fusion
Stack
  • Python
  • NumPy
  • SciPy
  • MQTT
  • FastAPI
  • Docker

OSINT / NLP

News & Event NLP Correlation Pipeline

CHRONICLEOngoing · self-directed

Operational

An NLP pipeline that ingests news and event feeds, extracts entities and locations, and correlates spikes with advisory changes, maritime anomalies, and OSINT monitor hits.

  • MULTIFeeds
  • SPACYNER
  • GEOCODEGeo
  • TIME+SPACEJoin

// Threat

Analysts need context when a risk score jumps: not just that it changed, but what was reported nearby in time and space. Manual news tab archaeology does not scale across hundreds of monitors.

// Approach

  • Scheduled ingestion from RSS, APIs, and structured event databases with deduplication and language detection.
  • spaCy and transformer NER extract people, organizations, locations, and event types; geocoding resolves place names to coordinates with confidence scores.
  • Time-windowed correlation joins entity spikes and geocoded mentions to platform events: advisory updates, AIS anomalies, geofence alerts.
  • Summarization templates produce analyst-readable briefs with linked sources, not opaque model prose.

// Delivers

  • Automated "why did this change?" context on dashboards and alerts.
  • Searchable archive of geocoded news tied to operational events.
  • Reduced time from alert to situational understanding.
Capabilities
  • NLP
  • Entity extraction
  • Geocoding
  • Event correlation
Stack
  • Python
  • spaCy
  • FastAPI
  • PostgreSQL
  • PostGIS
  • Redis

Data / Research Methods

Census-Aligned Survey Weighting Engine

BALANCE2023 – present · Malatest

Production

A reproducible weighting engine that calibrates household, person, and trip weights against census controls with validation, capping, and audit trails for large travel surveys.

  • HH·P·TRIPLevels
  • CENSUSControls
  • FULLAudit
  • MULTI-STUDYReuse

// Threat

Manual weighting in spreadsheets does not scale across studies, does not version well, and fails peer review when assumptions are implicit. Large OD surveys need methodology encoded in software.

// Approach

  • Python engine implementing raking/calibration with configurable cells for geography, household size, tenure, and trip purpose.
  • Automated validation against census marginals with tolerance thresholds and exception reports for extreme weights.
  • Versioned inputs and outputs with run metadata (analyst, code hash, control file version) for reproducibility.
  • Integration hooks export weighted tables directly into PostGIS analysis and Superset dashboards.

// Delivers

  • Consistent methodology across multiple large studies.
  • Faster iteration when census controls update mid-project.
  • Audit-ready documentation for client and peer review.
Capabilities
  • Statistical weighting
  • Validation
  • Reproducibility
  • Automation
Stack
  • Python
  • Pandas
  • NumPy
  • PostgreSQL
  • Jupyter

Infrastructure / DevOps

Multi-VPS Fleet Orchestrator

HARBOROngoing · homelab & contract

Operational

Terraform and Ansible automation for provisioning, hardening, and monitoring a fleet of VPS instances across providers with WireGuard mesh, backups, and Datadog agents.

  • TF+ANSIaC
  • WGVPN
  • DDObs
  • MULTIProviders

// Threat

A handful of servers becomes a fleet quickly when every project wants its own stack. Manual provisioning drifts; security baselines slip; nobody remembers which box runs what.

// Approach

  • Terraform modules for AWS, Linode, and generic VPS providers with consistent tagging, firewall rules, and SSH key management.
  • Ansible playbooks apply hardened baselines: unattended upgrades, fail2ban, Suricata, Docker, and reverse-proxy templates.
  • WireGuard full-mesh VPN for admin access without public SSH on every host.
  • Centralized backup schedules and Datadog agent deployment with service-specific monitors.

// Delivers

  • Reproducible server builds in minutes, not afternoons.
  • Consistent security posture across the fleet.
  • Observable hosts with alerts before disks fill or certs expire.
Capabilities
  • Terraform
  • Ansible
  • WireGuard
  • Fleet management
Stack
  • Terraform
  • Ansible
  • Docker
  • Datadog
  • WireGuard
  • Nginx

AI / Document Processing

Document Intelligence & OCR Pipeline

SCRIBEOngoing · self-directed

Active R&D

A pipeline that ingests PDFs and scans, runs OCR and layout analysis, extracts structured fields, and indexes chunks for RAG search over operational and research document corpora.

  • TESSOCR
  • PGVECTORIndex
  • PAGECite
  • ON-PREMPrivacy

// Threat

Organizations sit on thousands of PDFs, scanned forms, and legacy reports that full-text search cannot reach. Analysts need findable, citable excerpts, not another shared drive.

// Approach

  • Ingestion watches folders and S3-compatible buckets; Tesseract and layout models extract text with page-level coordinates.
  • Structured field extraction for recurring form types using templates and light fine-tuned models.
  • Chunking with metadata (document ID, section, date, classification) embedded into pgvector for semantic search.
  • FastAPI endpoints return excerpts with citations for RAG and human review queues.

// Delivers

  • Searchable corpus over previously opaque document archives.
  • Grounded answers with page-level citations.
  • Reduced manual transcription for recurring document types.
Capabilities
  • OCR
  • Document AI
  • RAG
  • Field extraction
Stack
  • Python
  • Tesseract
  • FastAPI
  • pgvector
  • PostgreSQL
  • Ollama

Platform / Integration

Realtime Alert Router & Escalation

SIGNALOngoing · self-directed

Operational

A central alert router that ingests events from counter-UAS, OSINT, maritime, and infrastructure monitors, then deduplicates, prioritizes, and dispatches to email, webhook, and dashboard channels.

  • MULTISources
  • TIME-WINDedup
  • EMAIL+HOOKChannels
  • FULLAudit

// Threat

Every subsystem emits its own alerts. Operators get duplicate emails, unclear priority, and no single inbox for "what needs attention now."

// Approach

  • Normalized event schema: source, severity, geo, entity IDs, confidence, and TTL.
  • Deduplication windows collapse repeated geofence or keyword hits into one escalated thread.
  • Routing rules by category, geography, and on-call schedule; webhook integrations for external ticketing.
  • Audit log of deliveries, acknowledgements, and suppression rules for post-incident review.

// Delivers

  • One prioritized alert stream instead of siloed notifications.
  • Fewer duplicate pages during high-tempo events.
  • Traceable escalation history for compliance and tuning.
Capabilities
  • Alert routing
  • Deduplication
  • Webhooks
  • Escalation
Stack
  • Python
  • FastAPI
  • Redis
  • PostgreSQL
  • PostGIS

Security / Infrastructure

Network Topology & Asset Mapper

TOPOOngoing · homelab

Prototype

A self-hosted tool that discovers hosts and services on segmented networks, maps dependencies, and highlights exposure, supporting hardening and incident response in lab and small-business environments.

  • NMAPDiscovery
  • DIFFHistory
  • VLANSegments
  • DEPSGraph

// Threat

You cannot secure what you cannot see. Homelabs and small offices accumulate devices, open ports, and shadow services that never made it into documentation.

// Approach

  • Scheduled nmap and service fingerprint scans from a dedicated jump host per segment.
  • Inventory stored in PostgreSQL with history: new port, service change, missing host.
  • Graph view of host relationships and reverse-proxy routes; diff view after firewall changes.
  • Integration with honeypot telemetry to flag scans that match observed attacker patterns.

// Delivers

  • Living network map instead of stale spreadsheets.
  • Faster answers during incidents: what changed, what is exposed.
  • Evidence for hardening priorities backed by scan history.
Capabilities
  • Network discovery
  • Asset inventory
  • Change detection
  • Segmentation
Stack
  • Python
  • nmap
  • PostgreSQL
  • React
  • Docker

Building in this space?

Counter-UAS, OSINT fusion, domain awareness, or the data plumbing underneath. I'd like to hear about it.

Start a conversation