# AI character dating app for iOS and Android — Loopi

An AI character chat app built with Expo for iOS and Android, shipping on iOS first — swipe, match, and talk to characters who keep their own memory of the relationship. Empty repo to working app in three days of phases.

Type: project

Published: 2026-07-30

[Original page](<https://artlu.ai/project/ai-character-dating-app-for-ios-and-android-loopi>)

[Browse this group](<https://artlu.ai/ai/groups/loopi.md>)

Parent project: Loopi

Recorded status: launched

Updated: 2026-09-16T18:29:16.994Z

Technologies: TypeScript, React Native, Expo, Fastify, BullMQ, Postgres, Drizzle, Supabase, Redis, Railway, Cloudflare R2, OpenRouter

## Details

**What is Loopi?**
A mobile app where people match with AI characters and chat with them. Each character has a personality, a life of her own, and a memory of the specific relationship rather than one shared pool.

**What it does**
- A chat orchestrator that assembles what a character is told before every reply
- A memory service that keeps per-relationship notes
- A safety pipeline that checks every reply before it reaches the person
- A beats engine that decides when a story moment is allowed to land
- A character factory that writes new characters from a template
- Matching, roster management, and an admin console for all of it

**How it works**
Built in numbered phases against a written spec, starting with the workspace, core schema, types, and a provider adapter so the model behind the characters can be changed without rewriting the app. The API and its background workers run on Railway, media in cloud storage, chat through OpenRouter.

**Built with**
TypeScript throughout — React Native and Expo on mobile, Fastify with BullMQ workers on the API, Postgres with Drizzle on Supabase, Redis on Railway, Cloudflare R2 for media, OpenRouter for chat.

## Links

[Site or demo](<https://aidate-app.pages.dev/>)

## Related build notes

[loopi, from empty repo to working app in three days](<https://artlu.ai/ai/log/day-135-loopi-from-empty-repo-to-working-app-in-three-days.md>)


Status and dates describe the published record, not a recent test of an external service. Missing details are not inferred. Public links do not imply an open-source licence or permission to reuse material.

[Directory](<https://artlu.ai/llms.txt>)
