
Converse
Your keys, your models, your rules
Why I Built This
Power users access AI through APIs—OpenAI, Anthropic, Gemini—often switching between providers based on task. But there's no mobile app that lets you bring your own keys, configure providers, and get the control you expect. Official apps are walled gardens: ChatGPT's 100MB+ download, Claude's limited customization, no multi-provider support anywhere. I built the iOS client I wanted: BYOK architecture, observable performance with SLO monitoring, and the configurability power users expect.
Who We Designed For
Power users who access AI through APIs and want mobile flexibility
Developers
Engineers who already have API keys and want a lightweight mobile client without subscription overhead
Freelancers & Consultants
Professionals juggling multiple AI providers based on client needs and cost optimization
Prompt Engineers
AI specialists who need to compare model outputs side-by-side for quality assessment
Tech Stack
App Preview
Inspired by iOS 26 native library for a native experience.
Screenshot coming soon
Streaming with P95 < 100ms
Screenshot coming soon
Streaming with P95 < 100ms
Screenshot coming soon
Token usage and cost tracking
Screenshot coming soon
Multi-provider support
Screenshot coming soon
Keychain-backed API keys
Process
Used ChatGPT to draft a Product Requirements Document as a markdown file, then refined it into discrete build phases. Built the foundational views—home, chat, and settings—testing and iterating on each phase before moving forward. The PRD became a living document, updated as requirements evolved.
Click to reveal insights
Used AI as a learning partner to understand API integration patterns, chat streaming protocols, and SSE parsing. Applied these concepts iteratively, testing each implementation against real API responses. The learning-by-building approach accelerated comprehension of complex async patterns.
Click to reveal insights
Built out core features: message streaming with AsyncThrowingStream, multi-provider support via OpenRouter, compare mode for side-by-side responses, and the analytics dashboard. Each feature was tested in isolation before integration. The UI layer came together with three density variants and theme customization.
Click to reveal insights
CPU usage was extreme with all features enabled. Spent three weeks profiling, refactoring, and rebuilding entire subsystems to reduce overhead. Rebuilt the application multiple times—each iteration faster without sacrificing functionality. Instruments became my primary tool; the goal was to get idle usage to near zero.
Click to reveal insights
AI Collaboration
Tools
Approach
Used ChatGPT directly within Xcode—prompting for implementations, then using Xcode's tools to resolve compiler errors and runtime issues. Many things required manual work: setting up Core Data models, integrating Apple-specific features like CloudKit and Sign in with Apple, and debugging platform quirks that AI couldn't anticipate. The workflow was prompt → generate → fix → refine. AI accelerated the known; I handled the Apple-specific.
Example Prompts
Implement AsyncThrowingStream-based SSE parsing that handles partial JSON chunks and connection drops.
Design a P95 latency tracker using a fixed-size circular buffer. Explain the tradeoff vs. reservoir sampling.
What Keychain accessibility constant should I use for API keys that need biometric protection but should survive app restarts?
Generate test cases for a retry system with exponential backoff. Include edge cases around max retries and non-retryable errors.
Key Learnings
Specs + AI = faster implementation with fewer misunderstandings
AI is excellent at generating edge case tests humans forget
Security APIs have subtle gotchas—AI helps navigate documentation
The best prompts provide constraints, not solutions
Streaming is deceptively complex; budget time for edge cases
Observability should be designed in, not instrumented after
Features
Cool idea? Let's collaborate.
Have a passion project or experimental concept? I love exploring new ideas and building things that push creative boundaries.
Start a Conversation