I help small nonprofits get technology and funding work done, and I help engineering teams build AI systems that hold up in production. Wherever I can, I quote a fixed price up front, so there’s no meter running.
For small nonprofits
AI Operations Setup
$1,500, fixed price. In two weeks, I set up three working AI workflows, such as intake triage, first drafts of grant proposals, and meeting notes. Everything runs on your organization’s own accounts, not mine, and I finish with a one-hour training for your staff.
Broadband & Digital-Inclusion Funding Readiness Review
$950, fixed price. A day of eligibility checks and coverage mapping against the California and federal programs that fund broadband and digital inclusion, such as the California Advanced Services Fund and the Digital Divide Grant Program. You find out which programs fit, what each one requires, and whether a full application is worth your time, before you commit to one.
Grant proposal for technology or digital inclusion
From $1,500, flat fee per proposal. I write the proposal for one flat fee, quoted before I start. I never take a percentage of the grant. Paying a grant writer that way is considered unethical in the field, and many funders disqualify proposals written on those terms.
Nonprofit Support Plan
$150 a month. Up to two hours of remote advice and troubleshooting each month, with priority response.
Hourly
For work that doesn’t fit one of the options above.
| Where | Rate |
|---|---|
| On-site in Nevada and Placer counties | $120 an hour |
| Remote | $90 an hour |
For AI engineering teams
$150 an hour. Part-time and remote. I work asynchronously and in writing.
I help teams get from “we tried an AI tool” to “we run work through agents reliably.” My work is in agent orchestration with Claude Code, AI memory and retrieval on Postgres with pgvector and Apache AGE, and neural inference that runs on the device. Most of it is public, so you can read the code before you hire me.
Candela: neural voices that run on the phone
An Android reading and audiobook app that speaks any text using neural voices that run on the phone itself: no cloud round-trip and no per-word cost. Four text-to-speech engines share one interface, and thirty-four content sources sit behind a plugin seam where KSP generates the dependency-injection wiring, so adding a source takes about four touchpoints. It also has per-document LLM chat with function calling. It runs on phones, tablets, Wear OS and Android Auto, and I wrote 96% of its commits.
github.com/techempower-org/candela · Kotlin · GPL-3.0
mempalace: memory for AI agents on Postgres
A memory system for AI agents on Postgres, using pgvector for embeddings and Apache AGE for graph traversal, with more than 335,000 records in production. Its rule: what an agent said is kept word for word, and summaries are separate records that never overwrite it. My work includes search that reserves a slot for curated results so newer ones can’t bury them, and honest reporting when results are cut short. I made 773 commits to this fork of the open-source MemPalace/mempalace project.
github.com/techempower-org/mempalace · Python
dreamteam: AI coding agents, run in parallel
A Claude Code plugin for running many AI coding agents at once without them getting in each other’s way. Each agent works in its own git worktree, so no agent can corrupt another’s branch, and a memory gate refuses to start a new agent when the machine is short on memory. There are conventions for how agents message each other and when to bring in a human. It is small, and I wrote 100% of its commits.
github.com/jphein/dreamteam · Claude Code plugin
Credentials
- Nonprofit technology work in Nevada County since 2001.
- California Small Business (Micro) certified, #2055455.
- Registered on Cal eProcure, the State of California’s procurement system.
- Founder of TechEMPOWER, a California Department of Technology Digital Inclusion Partner.
- Built Excelsior Fiber, a working fixed-wireless network with three households connected.
How to start
The first step is a free 20-minute consultation. Enter your contact info at jphein.com/consult and I will get back to you to schedule it, or email me at [email protected].
Tell me what you’re trying to get done. If one of these fits, I’ll say which one. If none does, I’ll say that too.
