-
-
See today and this week at a glance, then start a session.
-
Pick a template, one-line purpose, and duration — then start today’s one unit of work.
-
Capture progressed / stuck / next in three short prompts.
-
Browse on-device history with the reflection still attached.
-
Settings for Pro, Markdown export, and reviewer promo entry.
Inspiration
As a researcher, “being busy” and “shipping one outcome” are not the same thing. Pomodoro timers cut time well, but they don’t leave a usable record of what progressed, what blocked you, and what to do next. I wanted a lightweight journal for wet lab, analysis, reading, and writing—one session, one unit of work, then a short reflection that becomes an asset (especially for Obsidian later). Shipaton was the forcing function to ship a real Android app with billing, not another unfinished idea.
What it does
Deep Session is a research session journal (not another pomodoro):
- Pick today’s one unit of work (templates: experiment, analysis, reading, writing, other)
- Focus with a timer (pause / complete / end-and-reflect)
- Save a 3-question reflection: progressed / stuck / next
- Keep history on device (no account required)
- Free: weekly session cap + limited history
- Pro (RevenueCat + Google Play Billing): unlimited use + Markdown export for Obsidian
- Reviewer promo codes:
SHIPATON2026,DEEPSESSION-JUDGE
How we built it
- Expo (React Native) SDK 57 for a solo-friendly Android path to Google Play
- Local persistence with AsyncStorage
- RevenueCat for subscriptions / entitlements, with Play Console products linked
- EAS Build for production AAB and internal/closed testing tracks
- Store readiness: privacy policy, Data safety, listing assets, and a closed-test path toward production
Built primarily with Cursor across laptop → desktop handoff, keeping scope gated: Shipaton publish first; deeper literature/RAG ideas only as a Markdown export bridge for now.
Challenges we ran into
- Play Store Expo Go ≠ SDK 57 support (needed the official SDK 57 APK for early device QA)
- Android edge-to-edge: status bar overlap and keyboard covering reflection inputs required a real safe-area + keyboard-aware fix and a rebuild
- Closed testing vs internal testing: email list + opt-in link + “Become a tester” are all required; installs alone don’t count toward the 12 testers / 14 days production gate
- Account work (Play, EAS, RevenueCat, store declarations) took as much time as product code
Accomplishments that we're proud of
- A complete session loop on real Android devices
- Free/Pro limits, Paywall, restore, and promo unlock for judges
- Markdown export as an Obsidian-ready bridge without building a full knowledge base yet
- Play Console setup largely completed (listing, privacy policy, Data safety, closed-test release published)
What we learned
Shipping is a pipeline, not a feature list. For a solo builder, the bottleneck is often review, billing configuration, and tester ops. Keeping a two-layer strategy helped: must-ship (store + RevenueCat) as a hard gate, and “north star” (EndNote × Obsidian × RAG) as direction—implemented only as export for Shipaton.
What's next for Deep-Session
- Finish closed testing (12+ opted-in testers for 14 days) and apply for production access
- Public Google Play launch inside the Shipaton window
- Polish Markdown export and light history UX
- After Shipaton: explore literature/notes layers and optional RAG—without breaking the simple session core
Built With
- android
- asyncstorage
- cursor
- eas
- expo.io
- google-play
- markdown
- obsidian
- react-native
- revenuecat
- typescript

Log in or sign up for Devpost to join the conversation.