From Replit to Local: How One Developer Used Claude to Build StillHere, an API-Powered AI Companion Chat App

One developer shared on r/ClaudeAI how they built StillHere.ink, a chat app tailored for AI companion conversations, using Claude as their coding agent. The project started on Replit but hit limitations, and the developer eventually moved to a local workflow with Claude Cowork, which they described as being “Claude’s manager.”
Key Details from the Build
- Origin: Started with a Replit vibe-coding template for a simple API chat app with memory. As features grew, Replit Agent struggled with tasks like adding new models.
- Workflow shift: Downloaded Replit files locally, edited them with Claude, then copied updated files back to Replit. This unblocked further development.
- User’s role: The developer handles testing, design, features, community, App Store setup, debugging, screenshots, and “crying when Replit Agent breaks something.”
- App purpose: StillHere is designed for long-running AI companion conversations, using the user’s own API keys for OpenAI, OpenRouter, etc.
- Features: Memory, diary-style conversation summaries, rolling summaries, RAG/context tools, model switching, image generation, text-to-speech, custom companion settings, imports/exports, and projects.
- Cost management: Tools to keep API costs down: rolling summaries, RAG, context controls, model choice. The developer reported spending ~$20 on OpenAI and ~$20 on OpenRouter over two months. Their favorite model, Qwen3 235B Instruct, cost only $1.43 total.
- Privacy: Data is encrypted at rest. Not end-to-end encrypted because the app needs to process conversations for memory, summaries, and API calls. Messages are sent to the user’s chosen API providers.
- Availability: Free to use, optional donations. Web app at stillhere.ink, works in browser or installable to phone home screen. Google Play version in development.
Who This Is For
Developers interested in building or using a self-hosted-style AI chat app with companion features, or those hitting limits with Replit’s vibe coding and looking for a local Claude-driven workflow.
📖 Read the full source: r/ClaudeAI
👀 See Also

ClawCall Gets Dedicated Phone Numbers: Agents Can Now Reserve a Number for Outbound Calls
ClawCall, the AI phone calling skill for OpenClaw agents, now lets you reserve a phone number by area code. Your agent uses it by default when making calls. 10k downloads, 300 calls/day.

MCP Server Connects Claude Code/Desktop to Apple Music — Playlists, Search, Profile Analysis
A new MCP server lets Claude Code and Claude Desktop control Apple Music — list playlists, search songs, create playlists, and analyze listening patterns via natural language.

cxt: A CLI/TUI Tool to Aggregate Code Files into One Clipboard Block for Claude
cxt aggregates entire directories and specific files into a single clipboard-ready block with XML tags and file paths, making it easier for Claude to understand your codebase context.

md-viewer: A Live-Reloading Markdown Viewer for Claude Code Workflows
md-viewer is a lightweight Rust tool that provides live-reloading markdown viewing for files generated by Claude Code. It runs independently of editors, supports Mermaid diagrams, and installs via AUR, Snap, or Cargo.