Ryan Jordan

Senior Full-Stack Developer building AI agents and OSINT tools.

Built

About

I'm a Senior Full-Stack Developer with 13 years of building software, and I started my career in public safety. I spent 8 years in law enforcement, most of it as an instructor training officers. That taught me to stay calm under pressure, follow the evidence, and explain hard things so people remember them.

These days I build AI agents and the plumbing around them, working with tools like Cursor, the Pi agent harness and Herdr, plus my own agent system, AIDEN. I also do the DevOps and backend work it takes to run them. On the security side, I'm learning through hands-on TryHackMe labs and working toward the C)DFE (Certified Digital Forensics Examiner).

Software
13 years
Law enforcement
8 years
TryHackMe
active
C)DFE
in progress

What I work on

  • AI agents.

    Systems that research, organize and act on information, with a human in the loop.

  • OSINT and security.

    Small tools that collect and structure public information, and learning how people and organizations leak more than they realize.

  • Full-stack, DevOps and backend.

    Web apps, APIs, containers and self-hosted infrastructure that keep everything running.

Projects

  • AIDEN (private)

    My personal AI assistant platform. One brain and one memory across every surface, with agent orchestration, tasks, calendar, voice and outbound calls. Built with FastAPI, Next.js, PostgreSQL + pgvector, Redis workers and Claude. Private for now, write-up coming.

    Source
    private
  • VibeWatch

    Wraps your dev commands so terminal errors go straight to your AI assistant.

    GitHub: https://github.com/krjordan/vibewatch

    Language
    TypeScript
    License
    MIT
    Last push
  • GitLexJS

    An intelligent commit message generator using OpenAI, written in Node.js.

    GitHub: https://github.com/krjordan/GitLexJS

    Language
    TypeScript
    License
    MIT
    Last push
  • Fetchdoc-CLI

    A command-line tool for pulling up documentation fast.

    GitHub: https://github.com/krjordan/fetchdoc-cli

    Language
    JavaScript
    License
    MIT
    Last push

Contact

The best way to reach me is email.

PGP:
Fingerprint: 7783 1B98 DD9C C763 CAC0 DB74 897B 73B2 7E9D 6D3D Download public key
ShowHide public key
-----BEGIN PGP PUBLIC KEY BLOCK-----

xjMEavP8TxYJKwYBBAHaRw8BAQdA6X6/rVOVmi0glvc1ZVjLmyKXYEBXuKYT
LDBu/92/uWfNM3J5YW5qb3JkYW4uZGV2QHByb3Rvbi5tZSA8cnlhbmpvcmRh
bi5kZXZAcHJvdG9uLm1lPsLAEQQTFgoAgwWCavP8TwMLCQcJEIl7c7J+nW09
RRQAAAAAABwAIHNhbHRAbm90YXRpb25zLm9wZW5wZ3Bqcy5vcmeDMJXIboJy
6COiHlyzccIGIG95SLYl0uj8GzpYfcnxjQMVCggEFgACAQIZAQKbAwIeARYh
BHeDG5jdnMdjysDbdIl7c7J+nW09AAC0ogEAyoU/cZjJEOILTL0yfIt7xVQ2
d3s39l0vkiCgN90Hh4kA/j6P2oH3FJZ5MqKbTrtVSZA1OmIjbeuwJ2UX19P/
D8IOzjgEavP8TxIKKwYBBAGXVQEFAQEHQJOe6rlGRfvSb/YDK8RhlDFDcpuF
aiGJ7U4t1jcRXOQnAwEIB8K+BBgWCgBwBYJq8/xPCRCJe3Oyfp1tPUUUAAAA
AAAcACBzYWx0QG5vdGF0aW9ucy5vcGVucGdwanMub3JnAXDGhmA1oFE8wsI6
Nw+906Msyg05TslWedEQ5aHvWJUCmwwWIQR3gxuY3ZzHY8rA23SJe3Oyfp1t
PQAA5FwBAJp3J2YTpNC2SN2kE8ZlrNxIUTSgJHLQl56FjZGIeZU1AP9KHlZO
6iMX0eAIUcfkC3BvdgX4rPiSGGHJeDJWnoJ2BQ==
=CoKT
-----END PGP PUBLIC KEY BLOCK-----

Command palette

↑ ↓ to move Enter to run Esc to close

Custody log

A SHA-256 hash for every file in this build. The same log opens the page source and is published at /custody.txt.

# Chain of custody: ryanjordan.dev
# commit  6073697-dirty
# built   2026-11-11T17:27:41.517Z
# files   21, SHA-256, in sha256sum format.
# verify  cd <site root> && sha256sum -c custody.txt
#
8f345b088b08c339c609d147863b9f7a0a6f7b704eb3f7b1d4148637b4c13273  .well-known/security.txt
6401d2dd5f49a18ca14b5339a804e9b3d355352ce55c122cc69acaeda6767da3  404.html
4a5037bfaf6680f40147407407ec09fa42925774bde809a579283d27f9f08106  _astro/atkinson-hyperlegible-next-latin-wght-italic.DC5MiAaX.woff2
18b2a1a39a2fa298b0ba5390aca68462669826c90925656f1c1f6796e0e1bbaf  _astro/atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.woff2
e63e0012f2f0d73a4113abf4d4fa1ec464894101d23f7678fe9b7869b25beed0  _astro/base.UQlVkBhn.js
a5c486642ae4a5e337141188d745ca6bdf192cf122e1e936aa7f712d3802500a  _astro/hero.BuJ6XPdb.js
f9c1655c2c9d1ed5bb8b301a57d1169a1123ffef1a588dc50a7a487810f7d732  _astro/martian-mono-latin-wdth-normal.1TqSgyfh.woff2
c01051dbe71ac75d275871fc084a060559135ed06e062c4f30e4e77bf77ffa32  _astro/palette.C2rDLrMg.js
288e44c97086b3306263a1693c37ac0dd0f77951cdabe8ed5b988a8621dba2b1  _astro/site.Ch_ZNf3L.css
ed38d2501bbec63bf814390635b4c0a3758e586112485ffa187ff8f41852a03b  apple-touch-icon.png
ba0d28c9681baa349990ae51ededfc917f9ff031d8956b3af5b20f9845a08244  favicon-32.png
bd528ae1857f16b1c73901c5926710c924bedc890b1fc1fe8356ec159eea15fb  favicon.svg
beeba42ddfcd696440a0c702d94049a9fc4ca21c0a45d62f20143ca087874643  icon-192.png
2f65dfd272fa546f23a3dbeb048d7adb559664610ddad44a8397cfb64af25844  icon-512.png
ac6a47d47c78e47d5e058620161fbff2a6dbdf2824b83054c053b6bde99b83ba  og.png
8559f9cd6115ebd150186ba17a5da7f54ae154d5ef0070006f982115669ecf4d  pgp.asc
ae57ba843d8c5c647649b1e481494d0af313305d5f686c310f14e1357a017081  robots.txt
ecee14014a334e590e7359572a588086ecd593946b2a100ded32f1ea6e2213d5  site.webmanifest
310d57a088d16187ef063f9a794ca1af30f9fc95e4be60405674bcc7e68167d5  sitemap-0.xml
d798d4698317532f265e28ba4be2477b14ee259ec7dd7ea12f6f00cec3e90a53  sitemap-index.xml
1c7f24c5e4e705347ea15c7c867d7b0431184f004d5195d70ab8538b40fbf2ab  theme.js