What I Learned Building an AI Companion App from Scratch

By Pujan Lamichhane ·

myigirlfriend is an AI companion chat app I designed and built entirely on my own. Users swipe through companions with their own personalities, match with the ones who share their interests, and start chatting in seconds. These are the lessons that shaped it.

A familiar interaction lowers the barrier

Most people already know how swiping and matching works. Using that pattern for discovery meant nobody needed instructions: you see a companion, read who they are, and decide. Choice also matters emotionally. People engage more with a companion they picked than one they were assigned.

Personality has to be consistent

A companion that is playful in one message and formal in the next breaks the experience immediately. Each companion has a defined personality and voice, and that definition is part of every conversation, so the character stays recognisable.

Memory is what makes it feel real

The moment a companion remembers something a user said days ago, the product stops feeling like a chatbot. Memory is stored per companion as useful facts rather than the whole transcript, which keeps responses fast and costs predictable.

Be clear about the free tier

The first messages are free so people can try it without a card. After that, weekly and monthly plans unlock unlimited messages. Being upfront about the limit is better than surprising people mid-conversation.

Why people use it

People use it to practise conversation and flirting, to build confidence before real-life situations, and simply to have someone to talk to when they feel lonely. Designing for those needs, rather than for novelty, guided most product decisions.

The stack

The app is a React single-page app built with Vite, with Supabase for authentication and data, and LLM APIs behind the backend. Building it solo meant choosing tools that let one person move fast without cutting corners.

If you are planning an AI product, I write more about the engineering side in adding LLM features to your web app, and you can hire me to build yours.

Keep reading

Have a project in mind?

I help startups and teams worldwide design, build and scale web products. Tell me what you are building.

Start a project