Daily selfie, the photo every day app.
I’ve been building a mobile app that helps people take a daily selfie and turn those photos into a video later on, so they can end up with a video covering any period of time — from one week to 10 years.
I initially thought this would mostly be a product problem. It turned out to be much more about execution and discipline.
From the outside, the app looks simple. Under the hood, it isn’t. It’s offline-first, stores a lot of photos per user, aligns faces across days, and runs video generation jobs on a separate backend.
It took longer than I expected, but I eventually got it stable and shipped.
Shipping felt good. Then reality kicked in.
The app worked, but users didn’t stick.
People downloaded it. Some took a few photos. A few generated a video. Then most disappeared.
Nothing was obviously broken. The flows were clean. The features worked. The videos looked good.
But this is a habit-based product, and habits are unforgiving. Liking the idea of something is very different from doing it every day.
I overestimated how much features matter early on.
I spent a lot of time building multiple video types, configuration options, flexible templates, and edge cases I thought I’d need later.
All of that might matter eventually, but it didn’t help someone come back tomorrow.
What actually mattered was much more basic: reminders that don’t get ignored, frictionless capture, a clear reason not to miss a day, and seeing the gap when a day is skipped.
I built those too — just later than I should have.
While I was building, it always felt like progress. There was always another system to improve or optimize.
Looking back, I was avoiding harder questions. Why would someone open this app on day 14? What’s the first win they feel? Is this a daily habit or an occasional tool?
Code gives fast feedback. User behavior doesn’t.
I’m not throwing the app away. I still believe in the core idea, but I’m stepping back and focusing less on adding features and more on understanding what actually drives retention in habit-based apps.
Features:
If you’ve built a consumer app that depends on daily behavior, I’d love to hear:
Website: http://selfietimelapse.com/
iOS : https://apps.apple.com/app/id6756184981
Android : https://play.google.com/store/apps/details?id=com.diary.dailyselfie
Post-launch lesson: traffic came, activation didn’t
I Stopped Browsing Reddit Randomly. Here's the Keyword Monitoring System That Actually Gets Me Customers.
For indie hackers: Outsource marketing or do it yourself?
retention on daily photo apps is hard. been thinking about this too.
the apps that work seem to give users something beyond "save memories" - like sharing with close friends only (BeReal tried this) or some social accountability.
curious how the AI video generation helps with habit forming? that could be the hook that keeps people coming back
Yeah, exactly. “Save memories” isn’t strong enough day to day.
For AI video, I learned it only helps if it’s felt along the way. If it’s just a reward at the end, people don’t stick. But if it constantly shows progress and makes skipping feel like you’re breaking something, it can become the hook. That’s the shift I’m focusing on now.
This is super real. Habit apps are brutal, and I’ve definitely overbuilt before proving anyone would come back tomorrow. Respect for the honesty and reflection.
Daily habits are way harsher than they look, and your point about code giving fast feedback while users don’t is painfully true. It’s so easy to feel like you’re making progress while quietly dodging the real question: why would someone open this again tomorrow?
What moved the needle for me was obsessing over the first tiny win and making skipping feel noticeable. Features didn’t matter until the habit existed.
Respect for shipping, reflecting, and not fooling yourself — that’s the hard part.
As the article states: Understanding what truly drives user retention in habit-based applications is a crucial factor in an application's survival.
exactly!
This reflection really resonates — especially the part about code giving fast feedback while user behavior doesn’t.
I’m curious how you’re validating the “don’t miss today” moment now.
Are you running small experiments (e.g. different reminder framing, visible gaps vs. streaks, immediate preview feedback), or mostly observing organic behavior changes?
In other words, what’s the smallest signal you look at to decide “this actually nudged someone to come back tomorrow”?
It's an interesting idea, but building a daily habit is a huge friction point for users. I think you could solve the retention issue by leveraging the user's existing gallery instead.
If possible, have the app scan the camera roll for photos starting from way back (e.g., 2015). It could pick one photo every 6 months, verify it's a human face (not a cat/object), and stitch them together. That way, the user gets an immediate "10-year evolution" video right after installing, without needing months of discipline first.
That’s a great point, and I agree with the core idea. An immediate “wow” moment lowers the activation barrier a lot, especially for a habit product. I’ve been thinking in the same direction — using existing photos to give people a meaningful result on day one, then reframing the daily selfie as continuing an already-started story rather than starting from zero. The challenge is balancing that instant reward without removing the reason to come back daily, but I think you’re right that this is a strong lever to explore.
The insight that habits are often very firm in their direction is spot on. I have witnessed countless applications that people seem to enjoy the idea of but will not incorporate into their daily routines. ~
For myself, I learned a hard lesson that people develop habits by removing friction, not by features.
If a person feels that opening the app is an option, he or she has already lost.
What did you find most surprising when you actually started looking at where users dropped off?
Thanks — that resonates a lot. What surprised me most was how early the drop-off happened, often after just a few days, even when everything “worked.” People didn’t leave because of bugs or missing features, but because there was no strong enough reason to open the app today. That’s when it really clicked that friction and motivation mattered far more than polish or capability.
This is a really honest reflection, and the habit vs. features lesson resonates a lot. I’ve seen the same thing play out — it’s easy to feel progress while shipping systems and options, but that doesn’t automatically translate into someone coming back tomorrow.
The point about overvaluing features early is especially true for habit-based apps. Until users feel a clear “I shouldn’t miss today” moment, everything else is secondary.
Appreciate you sharing this so openly — it’s a useful reminder that retention is less about sophistication and more about consistency and motivation.
Thank you — I really appreciate that. You summed it up perfectly with the “I shouldn’t miss today” moment. That’s exactly the gap I underestimated early on. It’s reassuring (and a bit humbling) to hear others have seen the same pattern, and it helps reinforce where the focus needs to be now.
Glad the reflection resonated 🙏
Your point about code giving fast feedback while users don't really hit home. It's so easy to measure progress by features shipped instead of behavior changed.
Curious — when you say "seeing the gap when a day is skipped," are you showing the visual gap in the timelapse preview? That sounds like a clever way to make consistency feel rewarding rather than just punishing absence.
Yes, exactly. The idea is to make the absence visible in the timeline / preview so it’s not just a missed notification, but something you see. Not in a punitive way, but as a gentle reminder of continuity — and something you naturally want to fix the next day. Still experimenting with how subtle vs. explicit that should be, but early signals suggest it helps anchor the habit more than abstract streak counters.
I just finished a project too! I actually built an AI tool to help with the social media marketing side of things (turns READMEs into posts) because I'm a dev who sucks at copy. Happy to give you some free credits if you want to try it out on your new launch.
Good luck bro 👍
I am happy to try, share the link please.