Skip to content

Building in Public Ep. 1 - Developing the Spontaneity App for ADHD, Mental Health, and Productivity

Published: at 

By Henry Doce

If you missed my last post introducing the Spontaneity app, I shared some of the ideas I have for the main features of this ADHD-friendly productivity tool — a mobile app designed to balance structure with flexibility by bringing meaningful randomness into daily routines. Inspired by my own journey, Spontaneity aims to help users break free from rigid routines and discover joy in the small, unexpected moments each day can offer.

Spontaneity App Development Recap: ADHD and Productivity Tools in Focus

The past few weeks have been a whirlwind. I had a weeklong trip with my family, came back sick, and have been dealing with some general life chaos. Despite these challenges, I’m excited to get back to working on my app idea and sharing this building in public journey with you all.

Key Development Decisions for the Spontaneity App

After some back and forth, I’ve decided to launch the app using SQLite as a local backend to get it off the ground quickly and iterate from there. As development progresses, I plan to transition to using Supabase for backend services and authentication.

Current Focus

Creating Customized Reminders for ADHD Users

Scope

I’m currently defining the scope of creating more customized reminders while keeping complexity manageable. An easy start would be scanning the reminder for certain keywords to place it in a specific category. Each category would have a table of gentle reminder messages, making them feel more genuine than a generic “Do [reminder task you entered].”

Long-term Vision

Implementing AI-generated reminder messages where users can define the tone of the messages they receive.

Optimizing Data Schema for SQLite and Push Notifications

SQLite Setup

Now that I’ve decided on initially launching with a local database using SQLite, I’m revisiting my initial data schema draft and making necessary adjustments. The goal is to ensure scalability when transitioning to Supabase with PostgreSQL while keeping things simple for now.

Tables Structure

To handle push notifications effectively, I’ll set up two separate tables:

This setup will streamline rescheduling active notifications when the app or device restarts.

Weekly Goals: Integrating SQLite and Building a More Flexible Spontaneity App

Challenges: Managing Push Notifications with a Local Database in Spontaneity App

One of the drawbacks of using a local database like SQLite is handling push notifications. With a local DB, I’ll need to set the next notification time and schedule an Expo notification when the reminder is created. If the app or device restarts, I’ll have to reschedule all notifications for currently active reminders. By setting up separate tables for active and completed notifications, I can efficiently manage this process without parsing through all notifications ever created.

The Future of Spontaneity, a Productivity App for Mental Health

I’m excited to continue this journey and share my progress with you all. Stay tuned for more insights and updates as I work on balancing structure, creativity, and spontaneity in the Spontaneity app.

Let’s Connect! Share Your React Native and App Development Tips

Do you have experience with handling notifications in mobile apps or recommendations for UI/component libraries for React Native? How have you managed data schema transitions in your projects? I’d love to hear your thoughts! Feel free to reach out to me on Mastodon, where I also post more frequently.


If you’d like to get in contact, try reaching me on Bluesky first. LinkedIn works too, but I don’t check it often.