Generating Realistic Demo Data for My App Using AI
May 25, 2025
Generating Realistic AI Demo Data
A surprising use case of AI that not a lot of people talk about is generating realistic demo data for your app. Here’s how it’s useful. Most of the time when creating demos or showing other people your app, you don’t want to share your personal data, right? That’s where high-quality AI generated content comes into play - you can share your app and demos without worrying about privacy. Another benefit is that it allows you to simulate user behavior. It’s quite interesting because often times when you’re building, it’s hard to figure out all the possible ways people will use your app. With AI, you can get some sense of how other people will use it by having it simulate different usage patterns.
I’m building a life planner / journal / self improvement app called Mogee and it’s reached a point where I want to show people, but I really don’t want to share my personal journal entries. Having AI generate fake data for a fake user saved me tons of time. I’m also testing a new AI chat feature in the app, and being able to switch to different fake users to test the AI’s responses has been an eye opener as well.
Mogee
Implementing Seeding with AI (Generating Fake Data)
Here’s how I was able to generate tons of AI generated data.
So one of the main data points of the app are journal entries. Journals require quite a bit of writing and creativity. If done badly it won’t be realistic at all, and doing it manually would take forever. Journal entries also have to follow the overall theme and life of a person. It wouldn’t make sense for different entries to not be coherent. So the very first thing I did was figure out the overall storyline of the user character. Where are they in life, what’s their situation? Basically a summary of their current persona.
Jake Morrison’s User Persona
Then we need to generate a bunch of journals for this character user. For now we’ll generate the last 30 days of journaling. A problem though - most LLMs have an output limit of 4k tokens, that means we won’t be able to generate a lot of journals without hitting the limit pretty quickly and getting cut off. Another problem is we can’t just generate the journals independently because they won’t be coherent. Like one day it could generate a journal entry about the user character in London, then next randomly in South Africa. We need coherence between the entries.
So what we’ll do is formulate a smaller scale - a timetable of the journals. So for the last 30 days we’ll only generate the title, date, and summary of the content.
Timeline of Jake Morrison’s last 30 days
Then we’ll take that coherent storyline and independently call an LLM to generate a full journal entry for it. This solves the token limit and coherency issues.
Results
Overall, this approach solved both of my original problems. The fact that I can even show you screenshots in this blog post proves it worked - I wouldn’t have been comfortable sharing my actual journal entries, but with fake data, I have no problem demonstrating the app’s features. The realism? I’d rate it about 6.5/10. The journal entries do sound somewhat AI-generated if you read them closely, but they fulfill about 90% of the functionality I needed. They’re coherent, they follow the character’s storyline, and most importantly, they make the app feel real during demos rather than empty with placeholder text.
Detailed Journal Entries
For testing my AI chatbot, this was invaluable. I discovered how the AI responds differently to various writing styles and personalities, catching issues I never would have found testing only with my own data. It gave me confidence that the feature would work for actual users, not just for me. If you’re building an app that relies on user-generated content, I’d definitely recommend this approach. It’s not perfect, but it’s much better than lorem ipsum and way faster than writing realistic fake content yourself. Plus, you can sleep easy knowing your personal data stays private while still giving great demos.
More on the AI chat next blog…