What I built · ELUMELU

AI agents that only claim what they can defend.

ELUMELU is my self-funded build lab, started on a $150 budget. In 2026 it produced a live agent on a VPS, a paid product, and three rebuilds of that product on different platforms: n8n, AWS serverless, and a second vertical for real estate brokers. Every build follows the same rule. The model reads and drafts, deterministic code computes and stores, and a person sends.

  • AWS Solutions Architect Associate
  • Terraform
  • Python
  • n8n
  • IAM tenant isolation
  • LLM agents

How the pieces connect

  1. 1 · OriginNikki

    Hermes agent on a Hetzner VPS. Real estate and job-hunt skills.

  2. 2 · ProductAvow

    The job-hunt stack, packaged and sold on Whop.

  3. 3 · Low-codeAva on n8n

    Same agent, no server. One importable workflow.

  4. 4 · CloudAvow serverless

    Multi-tenant AWS in Terraform. Isolation enforced by IAM.

  5. 5 · New verticalDottie

    The same engine, rebuilt for real estate brokers.

Where each one stands

The evidence ledger

"Tested offline" means automated tests against simulated infrastructure. "Live" means real users or real traffic. I keep the two apart on purpose.

ProjectPlatformProofStatus
NikkiHermes · Hetzner VPS · PythonEach skill tested live on the serverLive, personal use
AvowWhop · brand · go-to-market$29/month or $79 one-timeLive on Whop
Ava on n8nn8n Cloud · OpenRouter · Data Tables36 tests · 1,770/1,770 parityTested offline
Avow serverlessAWS · Terraform · Bedrock65 tests · 208-resource planTested offline
DottieAWS · Terraform · Bedrock103 tests · 18 isolation checksTested offline

1 · Origin

Nikki

A personal agent on a VPS, built one skill at a time.

Live, personal use
  • Hermes agents
  • Hetzner VPS
  • Python
  • SQLite
  • FRED API
  • Telegram

Nikki is where the lab started: one agent on a Linux server with narrow, single-purpose skills for job hunting and real estate investing. Each skill was tested live on the server before the next one began.

  • job-hunter: reads resumes, catalogues defendable skills, scans ATS boards, scores fit on an 80/20 bar, renders ATS-safe PDFs and tracks the pipeline.
  • linkedin-magnet and serge-says: a recruiter-facing profile built from best-fit roles, and interview stories built only from real experience.
  • deal-finder and area-finder: market scoring that runs free FRED checks first and spends on detailed reads only for the markets that pass.
  • The Killington incident: Nikki once invented a confident scorecard instead of running the script. I redesigned around it so the agent judges and the scripts keep the record. That rule governs every later build.

In one line

A personal multi-skill AI agent on a Linux VPS, redesigned after a hallucination incident so every score and record comes from a deterministic script.

Ask me about

The time my agent made something up.

How I caught it, what I changed, and the check I now run before building anything that depends on real data.

2 · Product

Avow

Turning an internal tool into something people pay for.

Live on Whop
  • Whop
  • Pricing
  • Brand system
  • S3 + CloudFront
  • Terraform

Avow is the job-hunt stack sold as a product: an agent that finds roles you're genuinely strong for and never writes a claim you can't back up in an interview. I wrote the decision doc, chose the launch path, built the brand and put it live.

  • Decision doc: weighed a hands-on MVP against a container-per-user platform and shipped the MVP first, so early revenue and feedback would steer the automation.
  • Payments and access on Whop: no login system or card handling to build. Founding pricing of $29 a month or $79 once.
  • Unit economics: modeled AI cost per member (about $5 a month typical, $16 heavy) against price, and found the one-time plan stops paying for itself after about 15 months.
  • This site: a private S3 bucket behind CloudFront, ACM and Route 53, with strict security headers and no JavaScript, all in Terraform for about $1 a month.

avow

Claim it. Defend it. Land it.

In one line

Launched a paid AI job-search product on Whop: wrote the build-or-buy decision, set pricing from a per-member cost model, and shipped an MVP before automating delivery.

Why it matters

I can weigh cost, speed and risk for a customer, explain a recommendation in plain words, and stand behind the numbers.

3 · Low-code rebuild

Ava on n8n

The full agent rebuilt with no server, no SSH and no Docker.

Tested offline
  • n8n Cloud
  • JavaScript
  • OpenRouter
  • Data Tables
  • Google Drive API
  • Greenhouse · Lever · Ashby

Every Python script from job-hunter became a tool inside one n8n workflow. The model maps job requirements to skills, and a Code node does the math. The model can never hand a tool a score.

  • 36offline tests run against the exact workflow file
  • 1,770scoring cases, all identical to the Python original
  • 16agent tools, shipped as one importable file
  • One file to import: every tool calls back into the same workflow, so there's nothing to re-link after import.
  • A real build process: each Code node lives in its own file, an assembler regenerates the workflow, and tests run on exactly what gets imported.
  • Guardrails in code: a job enters the pipeline only with a score computed for that exact link, and a job board is saved only after a live fetch proves it exists.

Next step: the steps that need real credentials (model calls, Telegram, Google Drive) haven't run live yet. The README lists the seven checks for that first run.

In one line

Rebuilt a Python AI agent as a single n8n Cloud workflow with 16 tools, proven by 36 offline tests and 1,770 of 1,770 matching scores against the original script.

Ask me about

Moving a working system to a new platform.

How I proved the port behaves exactly like the original before trusting it.

4 · Cloud rebuild

Avow serverless

Multi-tenant SaaS on AWS, written as six Terraform modules.

Tested offline
  • Terraform
  • Lambda
  • DynamoDB
  • S3 + KMS
  • API Gateway
  • WAF
  • CloudFront
  • SQS
  • EventBridge
  • Bedrock
  • STS session tags

I replaced the container-per-user plan with a serverless design where an idle member costs nothing. Members use the agent inside Whop, with Telegram as an optional second channel. The modules run in order: foundation, sensor, pipeline, reporting, compliance, app.

  • 208resources in a clean Terraform plan
  • 65tests running every Lambda against simulated AWS
  • ~$62estimated monthly cost at 10 members
  • Tenant isolation in IAM, not app code: no function can touch member tables directly. Each one assumes a role tagged with one member's id, and the policy only allows that member's keys. A bug gets AccessDenied instead of someone else's resume.
  • Edge security: WAF in front of API Gateway, Whop's signed user token checked on every request, and signed webhooks with replay protection.
  • Queues for scale: scanning, scoring and drafting run through SQS with concurrency limits, dead-letter queues and a stated ceiling tied to account quotas.
  • A compliance gate: every claim in a generated resume is checked against the member's own documents before delivery. If one fails, the files are deleted and the reasons are logged.

Next step: planned and tested against a simulated AWS account. Real model calls, Whop traffic and the live isolation check come next.

In one line

Designed a multi-tenant serverless SaaS on AWS in Terraform (208 resources, 6 modules), with tenant isolation enforced by IAM session tags and DynamoDB key conditions; 65 automated tests.

Ask me about

Keeping customer data apart in a shared database.

Why I moved the wall from a WHERE clause into IAM, and why no role can scan a table.

5 · New vertical

Dottie

The same engine, sold to real estate brokers for their agents.

Tested offline
  • Terraform
  • Lambda
  • DynamoDB
  • Bedrock
  • FRED · Socrata
  • Fair housing
  • TCPA / Do Not Call

Dottie reuses the Avow pattern for a harder customer: the broker pays, the agents use it, and neither may see what they shouldn't. It finds seller leads, judges markets, keeps past clients warm and builds listing-appointment packs.

  • 103offline tests across every module and function
  • 2 wallsagent from agent, and broker from agent, both in IAM
  • 4 rule setsfair housing, sourced numbers, do-not-call, disclosure
  • Two levels of tenancy: two agents in one office can't read each other's leads, and the broker sees team counts and shared leads only.
  • A regulatory gate: blocks steering language, unsourced numbers, uncleared phone numbers and missing brokerage disclosure before an agent ever sees a draft.
  • Reuse without rewriting: market scoring runs the original script byte for byte, with a test that proves it.

Next step: the Terraform was cross-checked but not yet planned against AWS. Running validate and plan comes first.

In one line

Extended the platform to a broker-and-agent SaaS with two IAM-enforced isolation boundaries and a compliance gate covering Fair Housing, TCPA and advertising disclosure; 103 tests.

Why it stands out

It joins my years in real estate with cloud security. I can talk about do-not-call rules and DynamoDB key conditions in the same breath.

The rules behind every build

How I build

  • Code keeps the record

    Models read, judge and draft. Every number, verdict and saved record comes from deterministic code.

  • A person sends

    The agent prepares. The person applies, emails or posts. Nothing goes out on its own.

  • Cheap checks first

    Free filters run before any paid call or model call. Money goes only to what passes.

  • Say where it stands

    Every README separates what's tested, what's simulated and what has run live. Same as this page.

Short on time?

Where to start, by role

Cloud / DevOps Engineer

  1. Avow serverless
  2. Dottie
  3. Nikki

Terraform, IAM, WAF, queues and cost modeling.

Technical Account Manager

  1. Ava on n8n
  2. Avow
  3. Avow serverless

Platform depth, migrations, and trade-offs explained to a customer.

Support Engineer

  1. Nikki
  2. Ava on n8n
  3. Avow serverless

Debugging, incident write-ups, and a troubleshooting table in every README.

Want to see the code, or the product?