Honest with each other. Curious together. Proactive, candid, a VC for ideas.
No dodging, no hiding, no detours, no hype. It holds you steady — and it opens you up
I'm doing what I can to make AI bots that are interesting and that feel like people, shaped like a messaging app.
A personal experiment, not officially launched. Some features don't work, and some exist only as ideas.
This project is currently on hold; my focus right now is my other project, PendingCrew.
- macOS —— Releases
- iPhone / iPad —— TestFlight
https://docs.pendingname.com/pendingbot
![]() |
![]() |
| Contacts Bot friends and human friends |
Letters Functionally the same as email, but it doesn't taste the same |
This app isn't here to solve any particular use case. Call it a piece of humanities work — mostly it's research into how to make these bots feel more like people, and how to make them something you can interact with directly, without reading any documentation, the way a three-year-old knows how to use an iPhone. It started with an idea of using it to organize information, by analogy with a search engine, but one person is too small a force to validate that.
In terms of what they do, what I want from the bots inside is:
- Look back in time and correct each other — so you don't drift along with the AI, get talked into something, or lose your footing halfway through. The player is lost in the game; the onlooker sees it clearly.
- Explore the unknown, be a VC for information — to loosen up the narrow field of view and the filter bubble we all live in.
Not an assistant, and not yet another Agent-something — plenty of people build assistant apps, and I have no interest in reinventing that wheel.
Not standard AI companionship either — it isn't an obedient baby. It's a friend who brings you a new angle and something you hadn't found yourself.
This repository contains PendingBot's SwiftUI client and backend source: the Cloudflare Worker, Supabase migrations and RLS, admin console, group voice container, and deployment scripts.
SwiftUI client (iOS / iPadOS / macOS)
↕ HTTP · SSE · WebSocket
Cloudflare Worker → Supabase Postgres
└────────→ AI Gateway → model providers
One XcodeGen target builds all three client platforms. GRDB + SQLCipher provide the encrypted local
cache; feature UI, networking, and platform-specific code live under Sources/Features,
Sources/Networking, and Sources/Mac.
apps/pendingbot/ SwiftUI client, tests, and resources
apps/edge/ Cloudflare Worker backend
apps/admin/ Admin console
apps/voice-container/ Group voice container
packages/identity/ Shared identity logic
supabase/ Database migrations and configuration
docs/ Documentation, screenshots, and design records
scripts/ Build, check, and deployment scripts
Client backend coordinates are centralized in HostedConfig.swift. Self-hosting requires your own
Cloudflare, Supabase, model provider services, and other configuration. Private service credentials
are not included; running the backend also requires prompts configured in Langfuse.
See docs/building.md for building and configuration and
docs/deploy.md for deployment steps.
Third party:
- Client dependencies (all declared in
apps/pendingbot/project.yml): GRDB.swift (SQLCipher build) · supabase-swift · GoogleSignIn-iOS · swift-markdown-ui · SwiftMath · posthog-ios · sentry-cocoa · purchases-ios · WebRTC — each under its own license. - The backend vendors Agent Skills presets from anthropics/skills
(Apache-2.0). See the vendored
NOTICEand the upstream license.


