Kāneʻohe → Provo

Evan Nalu
Foster

AI receptionists, second brains, study systems.

From Kāneʻohe, Oʻahu. Studying at BYU in Provo this fall, and building inside the BYU AI Foundry, a student consulting firm that ships production AI for paying clients. The failures on this page get more room than the wins.

Claude Code TypeScript Next.js Node.js Postgres

Systems-thinker.
I write down what breaks.

I build things for real businesses and a second brain for myself. Everything below is a live link or a failure.

See the builds

What I do


AI phone receptionists

Voice agents for small businesses, built on Vapi and Claude over an Express backend. The server computes the facts. The model never invents them.

Second brains

A two-layer archive and wiki that a language model maintains. I built mine first and use it every day, and now I build them for other people.

Study systems

A spaced-recall drill built out of my own lectures and textbooks, so the questions come from the course rather than from a stranger's deck.

Websites

Astro and Next.js when a site needs a framework, and hand-written HTML when it does not. This page is the second kind.

Forward-deployed work

Sitting inside a partner company's sprint cadence and working on their live systems, instead of handing over a deck and leaving.

Nalu Agency

AI receptionists and company brains for Oʻahu businesses. The honest version: one paying client so far, and it churned; I had built way more than what they were paying for.

  • First paying client was a salon, July 2026.
  • It churned in August 2026.
  • Still live, still taking calls.
Open it

The IFN receptionist and site

An AI receptionist and website proof-of-concept for a small fiber ISP. Built with Hunter Calton for a partner.

  • It reads the subscriber's line before it speaks.
  • It tells an outage from a dead router, and both from home WiFi.
  • Verification is a PIN or a callback to the number on file.
  • Never the last four of a Social Security number.
Open it

A couples app

A dozen-plus two-player activities for couples who are apart, so a long-distance evening has something to do together besides a video call.

  • One-day sprint to a live deploy, 2026-08-16.
  • Runs on Fly.io with Supabase.
  • Two players, one room, no accounts to set up.
Open it

BYU Match

A values-based matching app for students. I built it and abandoned it in one April afternoon, then picked it back up in September 2026 as Y Match.

  • Built and abandoned in a single afternoon.
  • Revived under a small university grant.
  • Matches on stated values, not on photos.
Open it

Pointy

A desktop cursor-guide, built with a friend. I left the project in May 2026. It is still up, which is the only reason it is on this list.

  • Built with a friend, not alone.
  • I stepped away in May 2026.
  • Listed because it works, not because I finished it.
Open it

Also public on GitHub, at github.com/NaluKicks-808: portfolio, hukilau-salon, strikev3 and oahu.

Private build, public receipts

The brain, by the numbers

A second brain I have been running since July 2026. Two layers: every source kept whole, and a wiki compiled on top of it that a language model maintains. Its dashboard sits behind a key, so what I can show you is the census and the failures.

282wiki pages
29postmortems
2,564tests in its tooling
July 2026running since

Snapshot 2026-09-10, measured by the vault's own scripts, not typed.

Last 30 days: 774 commits · Yesterday: 11 answers in the drill · 1 of 1 limb on schedule · 900M tokens through the brain.

The teardown

Three things I broke, and what watches for them now

These are taken straight out of the postmortem file the brain keeps on itself. They are here because a list of things that worked is not evidence of anything.

01

Eighteen days of sales calls, recorded and filed and never transcribed

What happened
A nightly job fired on schedule for eighteen days, wrote nothing and reported nothing. Four call recordings sat untranscribed the whole time because the transcription service wanted a Content-Length header that a presigned link never sends.
Why
A job whose normal output is "nothing happened tonight" looks exactly like a dead one, and nothing was watching the difference.
The machine now
A check built this week reads every scheduled job's cadence and its log's last write, then names the limb that stopped instead of the symptom. It covers three of the four failures of this kind. This one was scheduled outside that system, so it stays paused and the gap is named rather than closed. A gap you can see beats a fix you cannot.
02

Fifteen thousand messages handed to one agent

What happened
A background agent was handed an entire message backlog, roughly 907,000 tokens, with one thread inside it worth three context windows on its own. It would have run out of room partway through and written a confident summary of whatever fraction it had read.
Why
Every coverage rule in the system governed reading. None of them governed handing work off, and handing work off feels like scheduling rather than reading. Evan caught it from one line of the launch message.
The machine now
Measure a corpus before it is handed off, split it to fit, and make every worker report coverage as a fraction, "read 1,847 of 1,847", instead of the word absorbed. Parallel workers get separate files to write to.
03

The session that wrote the rule about autostash and then ran it anyway

What happened
The commit script starts by stashing every uncommitted file and reapplying it after a rebase. A session ran it while three agents were mid-write, hours after writing down that doing so is how work gets lost. The reapply conflicted, left conflict markers in a tracked file, and the session kept dispatching work against a tree it believed was clean.
Why
The command's output was piped through tail, so the sentence saying the reapply had failed went straight to the floor. Thirteen minutes passed before anyone looked.
The machine now
A daily check reads the stash list and reports every entry it cannot prove was already superseded.

Prose rules lose to machines. Every rule that matters here has a hook, a gate, or a detector behind it.

Tech stack

Claude Code
TypeScript
Next.js
Node.js
Python
Supabase
Postgres
Vercel
Fly.io
Vapi
Astro
Obsidian
The road

How I got here

  • 2005Born in Honolulu.
  • PunahouDebate, second in the state. Two self-published books.
  • 2021 to 2023A crypto lending startup with friends. We raised $200k in under an hour and peaked near $10M in deposits. It collapsed.
  • 2022 to 2023BYU–Hawaii. Won a business-idea competition.
  • 2023 to 2025Two-year mission in Cambodia, ending as an assistant to the mission president.
  • 2026Back at BYU–Hawaii. A campus job, and mentoring new missionaries at the MTC.
  • Fall 2026BYU in Provo, and the AI Foundry.

Let's connect

No form here on purpose. A static page cannot send one, and a message that vanishes is worse than no message. Email is the fastest way to reach me.

Based in Kāneʻohe, Oʻahu. In Provo for the school year.

Let's build something that actually works.

If you have a phone that rings more than you can answer, or an archive nobody can search, that is the shape of problem I take.

© 2026 Evan Foster · hand-written HTML, no framework.