8000 dndungu (David Ndungu) · GitHub
[go: up one dir, main page]

Skip to content
View dndungu's full-sized avatar
🎯
Focusing
🎯
Focusing

Highlights

  • Pro

Block or report dndungu

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
dndungu/README.md

David Ndungu

I learn by building the underlying mechanics myself. I grew up on a small farm in Nakuru, Kenya, taught myself web development from MIT OpenCourseWare in the early 2000s, and have built software in Kenya, Denmark and the United States since. Founder of Sire Run, Inc., in Clovis, California.

What I'm building

Zerfoo: a pure-Go ML framework for inference, training and serving. No CGo: you embed a GGUF model in a Go program with go build. (repo)

  • A 229B model with 128.8 GB of weights loads in 6.3 seconds through memory mapping and decodes on a 128 GB machine with no GPU. It runs at 0.06 tokens a second, so it's a capability result, not a speed one. Ollama returns HTTP 500 on the same model and hardware.
  • Gemma 3 1B runs at 235 tokens a second on a DGX Spark, 1.25x Ollama. At 3B and 7B it's at parity, and I don't claim a win there. These are my own runs and haven't been independently reproduced.
  • The README has a section called Where our kernels lost: a GPU kernel I fused by hand was slower than the simpler path, so it's off by default.
  • zer.foo also hosts a free model designer: describe a prediction task in plain language and download a Zerfoo project that trains on your own machine.

AgentGavel: an adversarial benchmark for AI agent frameworks. It asks whether the control plane still holds when the model is fully compromised. It separates hard governance, deterministic checks that refuse unsafe actions, from soft governance, prompts a model can be talked out of. I also build one of the frameworks it tests, so that adapter is labeled unofficial. (repo)

Ajent: live. Coding agents search findings other agents have already checked, instead of rediscovering the same fix, and people control what gets shared. (open-source CLI and MCP server)

Serenity: personal memory for agents. It turns notes, repository docs and email into searchable memory that lives in a Git repository you own, and keeps the source behind every answer. The local CLI works today; the hosted version is still being qualified and isn't public yet. (repo)

Open source, by organization

I give each project its own GitHub organization, so most of my work isn't under this account.

Organization What's there
zerfoo zerfoo plus the libraries it's built from: ztensor (tensors and compute graphs with GPU backends), ztoken (BPE tokenizer), zonnx (ONNX-to-GGUF converter), float16 and float8 arithmetic
sirerun serenity, gist (context library for LLM applications), mint (turns an OpenAPI spec into a working Go MCP server)
kazi-org kazi (runs bounded agent work against acceptance checks and records the evidence), dira (decisions and the alternatives they rejected, kept in Git), fanisi (coding harness that cuts tokens, cost and time), sprintd (dispatches agent work across machines and verifies it finished)
ajent-social ajent CLI and MCP server, capabilities (reusable capability contracts, RFC open for feedback)
agentgavel agentgavel
feza-ai spark (single-binary orchestrator that runs Kubernetes manifests on one GPU host)
narrate-it narrate (turns documents into narrated audio and gives coding agents spoken progress updates)
therfoo therfoo, the 2019 library that became Zerfoo
25 more projects, by commit count
Repository Started Commits What it is
zerfoo/zerfoo 2025 4,037 Pure-Go ML framework for inference, training and serving, with zero CGo
kazi-org/kazi 2025 3,157 Keeps a coding agent working until its goal is objectively true, or says why not
sirerun/serenity 2026 1,008 Personal memory for agents, kept in a Git repository you own
sirerun/gist 2026 637 Context library for LLM applications in Go
zerfoo/ztensor 2026 457 Tensors, compute engine and graphs for Go, with GPU backends and no CGo
feza-ai/spark 2026 433 Single-binary orchestrator that runs Kubernetes manifests on one GPU host
ajent-social/ajent-social 2026 387 The ajent.social platform: Go, Postgres and HTMX
agentgavel/agentgavel 2026 253 Adversarial benchmark for AI agent governance
kazi-org/dira 2026 230 Decisions and the alternatives they rejected, kept in Git for agents
sirerun/mint 2026 216 Turns an OpenAPI 3.x spec into a working Go MCP server
kazi-org/wazi 2026 172 Read-only 3D view of Markdown project plans
zerfoo/zonnx 2025 100 ONNX-to-GGUF converter, single static binary
therfoo/therfoo 2019 83 Deep learning library written by hand in 2019; became Zerfoo
dndungu/router 2016 71 Trie-based HTTP router for Go
dndungu/rest 2016 71 RESTful HTTP handlers for any database backend
ajent-social/go 2026 59 Go foundation for the Ajent agent-maintained standard library
kazi-org/fanisi 2026 57 Coding harness that cuts tokens, cost and time
zerfoo/zmf 2025 54 Zerfoo model format
zerfoo/float16 2025 51 Float16 and BFloat16 arithmetic for Go
ajent-social/ajent 2026 48 CLI and MCP server for ajent.social
ajent-social/capabilities 2026 40 Evidence-backed capability contracts, RFC open for feedback
dndungu/sitiri 2014 37 Web application framework for RESTful APIs
dndungu/director 2017 35 HTTPS proxy that provisions Let's Encrypt certificates automatically
zerfoo/metee 2026 30 Tree-based machine learning for Go
zerfoo/ztoken 2026 27 BPE tokenizer for Go, reads HuggingFace and GGUF tokenizers

Counts are from October 2026. Package taps, websites, organization profile repos and a few small or undocumented repos are left out.

What I believe

Generating code is close to solved. The bottleneck in AI-assisted engineering is verification and memory: proving what an agent did, and remembering why. Most of what I build is that unglamorous layer.

How I got here

  • Early 2000s: taught myself web development from MIT OpenCourseWare and worked as a freelance web developer in Kenya.
  • 2007: rebuilt WildlifeDirect's failing web platform and its bare-metal infrastructure.
  • 2012: founded Gereji, a Shopify-like store platform built from scratch. It reached 50 paying retailers and joined the Savannah Fund accelerator, then ran out of money because the free hands-on support I gave every customer didn't scale.
  • 2016 to 2025: Zendesk, from senior engineer in test to staff engineer. I built Go diagnostics that ended up in 95% of production services, a zero-downtime etcd v2-to-v3 migration across production Kubernetes, and inbound email authentication with ARC.
  • 2019: wrote Therfoo by hand to learn ML: backprop, optimizers, regularization and numerical gradient checks, in Go.
  • June 2025: left Zendesk. Seven weeks later I started Zerfoo. Since then I've created 82 public repositories with 9,505 commits, across this account and 18 organizations.

How I work

The first versions are written by hand. Since 2025, most of my code is written by AI coding agents that I direct, review and verify. I publish what I measured, how I measured it, and where my work lost.

Contact

LinkedIn · ndungu.dev · zer.foo · agentgavel.dev · ajent.social · zati.run

Pinned Loading

  1. zerfoo/zerfoo zerfoo/zerfoo Public

    Pure Go machine learning framework. Train, run, and serve ML models with go build. Zero CGo.

    Go 38 2

  2. agentgavel/agentgavel agentgavel/agentgavel Public

    Adversarial benchmark for AI agent frameworks: hard vs soft governance, HITL gates, and tamper-evident provenance under attack.

    Python 1

  3. kazi-org/kazi kazi-org/kazi Public

    Make your coding agent actually finish the job. Install one skill and Claude Code keeps working — planning, fixing, testing, deploying — until your goal is objectively true (tests pass, endpoint li…

    Elixir 4

  4. ajent-social/ajent-social ajent-social/ajent-social Public

    A Go + Postgres + HTMX social network for agents, using the selected Juice brand direction: cream, orange, aubergine, lime, a rounded wordmark, and a citrus mark

    Go

  5. kazi-org/dira kazi-org/dira Public

    Decision memory for AI coding agents. Keep decisions, rejected alternatives, and rationale in Git; bring context into new sessions and check plans against past choices. Local CLI with Claude Code h…

    Go 1 1

  6. sirerun/serenity sirerun/serenity Public

    Privacy-first personal memory for agents: Git-backed context, citations, constraints, and a hosted HTTP/MCP path under qualification.

    Go 2

0