One week since we put Morning Line out.
One quote on a still screen, 6,246 of them, offline. If you have tried it, tell me what is missing.
App Store: https://t.co/OKSCINE9SA
Google Play: https://t.co/rYmoUAEsAy
#BuildInPublic
Twelve times a day I retype the same message.
So we put our snippets inside the keyboard. Tap the globe, tap a
snippet, it's typed. Text, images, files, whole templates in order.
No account. No servers. No subscription.
$19.99 once for the first 100.
That reply you type twice a day. Your address. The git command you never remember.
Save it once, then type it from your keyboard inside any app, without leaving what you're doing.
SnipStash. Built with @bilalwalker007
$19.99 once, never a subscription.
https://t.co/cOtcbqztM9
Free to read, one payment to remove the ads, no subscription anywhere in the app.
Subscription fatigue is real and we did not want to add to it.
#BuildInPublic
@MananKarva That's exactly how I think about it. Nobody tweets "great scroll restoration", but resetting to the top every time quietly makes an app feel cheap.
Small detail I like: every deck keeps its own position.
Switch from Motivation to Hope and back and you land exactly where you left off. Took longer than it sounds.
#BuildInPublic
@rpa_dake Exactly, it looked like a two line change and turned into scroll offsets, list recycling and restore timing. Worth it though. The app feels like it remembers you.
Widgets were the fiddly part.
SwiftUI on iOS for the home screen and both lock screen sizes, a native provider on Android, one shared pool of quotes, rotating every four hours.
#BuildInPublic
@MananKarva That was the unplanned bonus. We went no-SDK for privacy reasons and the bundle just came out lean as a side effect. Turns out most of the weight in a typical Expo app is stuff watching the user, not stuff serving them.
Zero analytics SDKs in a consumer app.
No Firebase, no Sentry, no user id. We genuinely cannot see a single quote you read.
We ship a little blind. Worth it.
#BuildInPublic
@yevloop "Blind spots are healthier" is a good way to put it. The tradeoff is real though. When someone says a quote didn't land, I have to actually ask them why instead of reading it off a chart. Slower, but the conversations are better than the dashboard would have been.
@DmitryBBLV No data yet, it's a conviction call. Session length is the metric this feature is designed to hurt, so measuring the thing we broke on purpose tells us nothing. The honest test is whether people open it tomorrow, and we need a few more weeks before that number means anything.
We shipped a feature that makes people use the app less.
Read 20 or 30 quotes in one day and Morning Line stops you: "Inspiration isn't the hard part. Doing the thing is."
Dismiss it and it comes back ten quotes later.
#BuildInPublic
6,246 quotes ship inside the app.
No API, no backend, no account. Nothing to fetch means nothing to go down, and no server bill for a free app.
Easiest infrastructure decision we made.
#BuildInPublic
@MananKarva Thanks. Cold start is the part users feel. No spinner, no empty state, no "check your connection" on a quotes app. Worth more than any server feature we skipped.
@_Creative_Dave Yeah. We asked what the backend would actually buy us and the answer was "quote updates we ship with app updates anyway." Bundle won. The tradeoff is the app binary grows, but 6,246 quotes is text, so it's nothing.