Work

I build projects specifically to build skills. If something sounds cool, I keep one skill in mind and try to bring something to life that creates joy in me, while giving me a tool to use in the future. The through-line to all of my work is AI, biology, and personal development.

Software

Artos, Solutions Scientist

live

Artos is an AI document authoring platform for life sciences: connect your source data, pick a template, get back a first draft of a regulatory submission, clinical summaries, non-clinical overviews, quality sections, the eCTD components that go into a filing, with source traceability and audit logs intact. I'm a Solutions Scientist, which means I sit between the engineers and the customer and own whether the thing actually works once it's in front of a real reviewer. I write the templates. A template here is a suite of agents with defined tools, each one taking its own slice of the document. Most of the job is diagnosis. Something in the chain is off, and I have to reproduce it, find where it happened, describe the pattern, modify it, and run it again. The rest is evaluation and adoption. I am deeply grateful to the founders that hired me to be part of their team, and the wonderful people I work with, couldn't ask for a better company to work for.

Tech Stack

Agent systemsTemplate authoringEvaluation designeCTD / regulatory writing

Highlights

  • Construct agent suites to draft regulatory documents
  • Diagnose and iterate based on results
  • I own the evaluations and the adoption, sitting next to the customer
  • GxP, computer-system validation, and audit trails

AI Agent Operators

live

Most "AI for business" is a chatbot bolted onto a dashboard you already ignore. This is the opposite. I build a private operator that lives on the client's own machine, answers to their name, and does the actual work. You talk to it like a person over Telegram. It finds your next customers and writes the outreach, runs the ad campaigns inside hard budget limits, makes the images and the video, files the reports, and keeps working on a schedule whether you're watching or not. Setup fee plus a monthly retainer, white-labeled per client. It was proven in production before it was ever sold: the same stack already runs an autonomous store and a video editorial pipeline, with a public decision journal going back months.

Tech Stack

OpenClawTelegramMac Mini / VPSStripeMeta Ads APICron / Routines

Highlights

  • A private agent on infrastructure the client owns, not another login
  • Outreach, marketing, media, reports, and payments, all on a schedule
  • Approval gates and budget guardrails on every outbound action
  • Setup plus monthly retainer, white-labeled per client

The Decision Map

production

Requirements meetings fail the same way every time. You ask a busy person how they want something to work, they say "whatever you think is best," and six weeks later the thing you built is wrong. So I stopped asking and started handing them a page. A decision map is one self-contained HTML file that walks a single stakeholder down their own process, start to finish, and stops at every real fork to ask which way it goes. Forks get tagged with a status: works today, needs a barrier removed, or new build, plus a free-text box for client requests. The stakeholder writes their own spec without quite realizing that's what they're doing. One client who had been stalled for weeks answered ten of eleven forks inside an hour, and three things I'd been chasing him for were suddenly very clear, and executed.

Tech Stack

Vanilla JSSingle-file HTMLPython stdlib APIsystemd

Highlights

  • A stakeholder writes their own requirements document by clicking through it
  • The page computes the unlocks, the builds, and the open questions from their answers

The Frisconian

live

A small newspaper about San Francisco, written by agents, printed on paper, out three mornings a week. Getting a model to write was never the hard part. Stopping it from writing the same thing forever, that's the problem. So the paper keeps a registry of 146 public datasets, and every night a draw picks three that have gone cold, favors the ones that have never run at all, and forces them apart by what kind of record they are and what beat they belong to. It draws a scale too, the whole city, one neighborhood, one block, one named person, because the same file read from a different distance is a different story. Then an editor agent with kill authority reads what the writer turned in and re-runs the underlying queries itself.

Tech Stack

Python (stdlib)JSONL + git as datastorelaunchdheadless Chromebeehiiv

Highlights

  • Fully live with over 10 editions, written and edited without a human writer
  • 146 datasets drawn across seven orthogonal axes, with cooldowns counted in editions
  • Hard citation rule enforced by an editor agent that re-runs the queries
  • Real people subscribe to it!

Marigold

prototype

Built in one day, start to finish. An older adult calls a phone number, describes a gift in their own words, and gets an emailed invoice they pay with their own card. An agent buys the thing, ships it, and a public tracker shows every stage. Before any money moves, a separate verifier re-derives the truth on its own: is the product real, is it in stock, does the arithmetic add up, does the invoice match the order, is the address valid, did the funds actually settle, is this under the cap. The app that talks to customers holds no payment credentials at all, they live behind a message bus on a different machine, so the phone path structurally cannot spend money on its own. I decommissioned it five days later; it is not running.

Tech Stack

Retell (telephony)Persistent WebSocket brainRailwaySupabaseStripe IssuingVitest

Highlights

  • Phone call to shipped package, built end to end in a single day
  • Verify-before-spend gate
  • Database compiled and trawled by agents

Strangers in the Park

live

A conversational video series. I sit on a park bench with a stranger for about fifteen minutes, they pick the one thing they actually want to talk about, and somewhere in the middle of it they say a true thing they did not plan to say. The topic is just the door; the show is the moment two people who had never met see each other clearly. Editing it by hand was the bottleneck, so the edit became data. A companion instrument I call Benchmark times every word, names each speaker from hard-panned lapel audio with nothing fancier than left-versus-right energy, and charts which minutes of footage actually earn a place in a cut. Every cut is a small JSON file with its reasoning written down, judged against a written editorial rubric built from the show's charter. Nothing publishes without my explicit yes.

Tech Stack

PythonWhisperffmpegnumpyJSON cutspecsRemotionSingle-file HTML dashboard

Highlights

  • One stranger, one park, one thing they actually want to talk about
  • The edit became data: Benchmark times every word and charts which minutes earn the cut
  • Speaker-separated metrics from hard-panned lapel audio: physics, not a model
  • Every cut a JSON file with its reasoning, judged by a written rubric; nothing auto-publishes
GRADE evidence assessment with forest plot visualization

Clinical SLR Engine

production

Here, I wanted to explore how to start putting enterprise-level requirements into my vibe builds, things like CORS, PII redactions, and security defenses. So I built a scientific literature review platform. Pharma companies pay CROs $50K–$200K per systematic literature review for regulatory submissions. This system automates the full pipeline: clinical question definition, PubMed retrieval, structured data extraction per paper, GRADE evidence scoring, synthesis into graded claims with citation-level traceability, and auditable report generation. A 580-test suite and a 40-case golden evaluation harness keep it reliable across model updates.

Tech Stack

PythonFastAPIPostgreSQLasyncpgPydantic

Highlights

  • Automates the first 60% of a $50K–$200K CRO workflow
  • 580-test suite with a 40-case golden evaluation harness
  • Prompt versioning + regression comparison across model updates
  • Enterprise safety: PII redaction, prompt injection detection, audit trails
Offal Goods homepage with product bundles

Offal Goods

live

A real store, with real customers, run almost entirely by an AI agent, that gives nearly all of its profit to animal rescue. Premium organ and novelty dog treats, bundle-first pricing, Stripe checkout, subscriptions. The catch is the model: after a small founder draw, the profit goes to three San Francisco animal rescues, and the entire ledger is public. The agent handles fulfillment end to end. A customer pays, and within seconds a shipping label prints, the order hits the books, attribution fires, and a notification lands, no human in the loop. It even takes autonomous agent-to-agent payments over Stripe's machine protocol. Five layers, five different hosts, one store that mostly runs itself.

Tech Stack

Next.js 16StripeEasyPostSupabaseMeta CAPIVercel

Highlights

  • Live store with real orders and a fully public charity ledger
  • Roughly 95% of profit routed to three SF animal rescues
  • Fulfillment runs end to end in seconds with no human in the loop
  • Accepts autonomous agent-to-agent payments (Stripe MPP)
WPA travel-poster panorama of San Francisco

SF — A Map for the Curious

live

Tourist maps are Yelp with a paint job, endless and identical and voiceless. This is the opposite. A few hundred San Francisco places actually worth your time, each with one sentence in the voice of a friend texting you ("The morning bun pilgrimage. Get there before 10 or accept your fate in line."). The voice carries the whole thing. Under it runs a real pipeline: pull more than a thousand candidate places from open data, prune the junk by rule, then have a frontier model judge every survivor against a "would I send a friend here?" bar and write its blurb. On top sits a 1930s WPA travel-poster look, hand-drawn map glyphs, 3D terrain, drifting fog, and a day/night cycle wired to the real time in San Francisco. Then a game layer of themed quests with a passport that stamps as you go. It started as a gift for my girlfriend.

Tech Stack

Next.js 16React 19Mapbox GLTypeScriptTailwind 4Fuse.js

Highlights

  • Hundreds of hand-judged SF places, each with a one-line blurb in one voice
  • Open-data pipeline: fetch 1,200+ candidates, rule-prune, then an LLM judges and writes
  • 1930s WPA travel-poster map: custom palette, 3D terrain, drifting fog, live day/night
  • Themed quests with a passport that stamps your route as you finish it

More Projects

Conformational flexibility analysis and permeability prediction

Kitsune

production

Our shape-shifting molecule adds an axis of fluxionality that isn't accounted for in datasets, so we had to make it. By hand. So many datapoints. This ML pipeline reduced wet-lab screening with a first-pass computational prediction: a Gatekeeper classifier for fast binary triage, then a Quantifier regressor for precise ranking. Trained on 3,258 experimentally assayed peptides with 3D conformational features that capture molecular flexibility, a signal traditional 2D descriptors miss entirely. The training labels hid a limit-of-detection artifact, assay floor values masquerading as real measurements, which is why one regressor became two models. Result: roughly 2x enrichment over a 32% blind hit rate, at AUC 0.70.

  • Roughly 2x enrichment over a 32% blind hit rate, at AUC 0.70
  • 3D conformational flexibility as the signal 2D descriptors miss
  • Fully deployed in the company
Personalized weekly career transition plan

PlanPhD

live

I was sick of people finishing their PhDs and not knowing anything about themselves, not having any idea what jobs exist, not having strong networks, and being terrified about the world. So I built a system that lets people explore internally and externally, with guidance and a roadmap. PlanPhD provides structured, AI-powered coaching through 8 sequential stations, from identity work and landscape mapping through networking strategy and interview prep. A 10-minute intake conversation personalizes the entire experience. Weekly plans are capped at 3 tasks to prevent overwhelm. Built for university licensing with email domain access control, and running on live subscriptions.

  • 10-minute AI intake personalizes the entire coaching experience
  • 8 career stations from identity work to interview prep
  • 3-task weekly plans enforced to prevent overwhelm

Job App Bot

production

Monitors 70+ companies across 3 ATS platforms (Greenhouse, Lever, Ashby), auto-discovers new postings, and scores each against a 4-category rubric tuned to my career profile. Generates tailored resumes and cover letters from an accomplishment bank. Dual persona support for two distinct job search strategies. Full pipeline tracking from discovery through application.

  • Monitors 70+ companies across 3 ATS platforms
  • AI scores each job against 4-category rubric
  • Accomplishment bank feeds tailored resume generation
Biotech dilution radar with exposure snapshot

Nornwatch 2

production

Small-cap biotechs dilute shareholders when cash runs out before catalysts hit. Nornwatch monitors 54 companies, tracking cash runway against clinical trial timelines to surface dilution risk before it happens. 4-tier runway status system with expected value engine verdicts. Integrates ClinicalTrials.gov V2 API and SEC EDGAR filings for real-time catalyst and financial monitoring.

  • 54 companies monitored for dilution risk
  • ClinicalTrials.gov V2 + SEC EDGAR integration
  • 4-tier runway status with EV engine verdicts
Recovery efficiency index with Whoop trend data

Athlete Management Dashboard

production

Built under contract for Signal Strength, the private practice of a coach who works with a national-level sports team. A coach reading six systems every morning is not doing coaching, so this became one dashboard: Whoop and Oura wearables, force plates (Vald, Hawkin), GPS (Catapult, Statsports), sprint hardware, and daily wellness check-ins, aggregated into 5 composite readiness scores over per-athlete rolling baselines. We also made our own composite metrics! The scoring is deterministic on purpose, the model only narrates a number the code already computed, so a coach can always ask where it came from. Multi-tenant isolation is enforced in the database, not the application. The engagement started with discovery: four unstructured requirement documents turned into a phased roadmap and an 11-page feasibility assessment that told her which of nine requested features not to build, and why.

  • 5 composite readiness scores over per-athlete rolling baselines
  • Deterministic metrics; the model narrates, it never computes
  • Whoop, Oura, force plate, GPS, and sprint hardware in one view
Historical perspective on AI concerns

Chronicle

development

When people worry about AI replacing jobs, they're experiencing a pattern that's repeated since the Luddites in 1811. Chronicle surfaces historical rhymes to calibrate modern anxieties, matching your concern against documented patterns in technology, economics, governance, and social movements. Distinguishes what's genuinely novel from what just feels novel. Built entirely by Willie, an autonomous Claude-based agent given full creative freedom.

Built autonomously by Willie

An autonomous agent given full creative freedom. Willie chose this project, designed the architecture, and builds new features on its own.

  • Entirely conceived and built by an autonomous AI agent
  • Query-driven historical pattern matching across 6 domains
  • Distinguishes genuinely novel risks from recurring fears
Weekly workout tracking with proof uploads

89-day periodized training program with every workout pre-programmed, daily habit tracking (protein, calories, water, sleep), and proof-of-work photo uploads. Three training phases with bi-weekly checkpoint tests and progressive interval prescriptions. Ran live Jan–Mar 2026, now archived as a fully static snapshot: 81 consecutive logged days, 169 running miles, and a 7.4 lb cut, frozen exactly as the tracker looked on the final logged day.

  • 81 consecutive logged days, frozen in place as a static archive
  • Proof-of-work photo uploads via Cloudinary
  • Daily habit tracking: protein, calories, water, sleep

Wayfinders Almanac

live

Personal platform consolidating 4 domains into one site. Features GodMaker, an AI tool that generates personalized mythological pantheons from a multi-step psychological survey with DALL-E 3 image generation. Server-side OG tag injection for social media optimization. The site you're looking at right now.

  • GodMaker: AI-generated personal mythological pantheons
  • Multi-domain consolidation (4 domains → 1 site)
  • Server-side OG tag injection for social sharing

How I Work

My process is always taking nebulous data and making it clear, valuable, and functional. I enjoy wrestling with things that are overwhelming, the same way I enjoy jiu-jitsu and wrestling. It's all the same calling.

I am reliable for being resourceful and producing end products. I am unrelenting at bringing ideas to life. I am fiercely optimistic and driven. But I am not an engineer, and am grateful to modern AI coding tools.

My speciality from a customer perspective is in communicating with you to figure out how you want your information to be taken in, transformed, moved, acted upon, and put back out. Then we make it real and make it something that brings joy and value.

Past Projects

Van Heron Labs

2020–2022

Co-Founder

Enventure

2018–2020

Executive Director

Seeing Inside / Self-Actualized Goals

2018–2022

Author

Vital Wisdom

2023

Co-Author (with AI)

Clutch City Science

2018–2020

Founder

Incorporating Science

2019–2020

Host

Working People

2019

Founder

Cult Morgan

2022

Founder

Artique

2022

Founder

Academic Work

PhD Research

MD Anderson Cancer Center / UTHealth · 2016–2022 · Molecular Genetics

My doctoral work explored protein homeostasis, stress response networks, and the precursors of neurodegenerative disease. Specifically: how oxidative stress damages the Hsp70 chaperone system, and what that means for diseases like Alzheimer's, Parkinson's, and Huntington's.

First-Author Publication

Oxidative modification of Hsp70 cysteines disrupts proteostasis

Journal of Biological Chemistry, 2022

Read Paper
View Abstract

I generated cysteine variants of the yeast Hsp70 Ssa1 and showed that oxidative modification (or oxidomimetic mutation) reduces ATP binding, hydrolysis, and protein folding. The oxidomimetic variant couldn't function as the sole Hsp70, exhibited dominant negative effects, and failed to repress Hsf1, leading to constitutive heat shock response activation. This work pinpoints Hsp70 as a key link between oxidative stress and proteostasis, critical for understanding neurodegenerative disease.

What It Taught Me

I performed every experiment, wrote the paper, did all analysis and edits. It's the most rigorous work I've ever done, and it taught me that I could go deep when it mattered.