The simple SMS service that sends daily reminders of your goals and motivations.
Features β’ Why? β’ Tech Stack β’ Setup Guide β’ License
- β° Daily SMS reminders at 7 AM local time
- π± Simple onboarding via SMS
- π€ OpenAI-powered goal refinement
- π Privacy-first design
- π Timezone-aware scheduling
- π³ Stripe payment integration
Goal Reminder is built on proven psychological research:
-
π Consistent Reminders: Research shows that regular reminders significantly boost goal achievement by maintaining focus and motivation (Journal of Experimental Psychology).
-
π― Intrinsic Motivation: Daily reconnection with your personal "why" leads to better long-term success than external rewards alone (Motivation and Emotion, 2014).
-
π§ Habit Formation: Regular, timed notifications create neural pathways that make goal-oriented behaviors more automatic over time.
By combining these scientific principles with simple SMS delivery, Goal Reminder helps turn your aspirations into daily priorities.
- Next.js β framework
- Supabase β database
- Twilio β SMS
- OpenAI β goal refinement
- Stripe β payments
- PostHog β analytics
- Tailwind & shadcn/ui β styling
- Node.js and npm installed
- Stripe CLI installed
- A Stripe account
- A Twilio account
- A Supabase account
- An OpenAI account
- A PostHog account
- Copy
.env.example
to.env.local
and fill in all required values:- Supabase credentials
- Twilio credentials
- Stripe credentials
- OpenAI API key
- PostHog credentials
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
The app will be available at http://localhost:3000
-
Login to Stripe CLI:
stripe login
-
Start Stripe webhook listener:
stripe listen --forward-to localhost:3000/api/webhook/stripe
-
Copy the webhook signing secret to
.env.local
:STRIPE_WEBHOOK_SECRET=whsec_xxx...
-
Install ngrok
-
Start ngrok:
ngrok http 3000
-
In your Twilio console:
- Go to Phone Numbers > Manage > Active Numbers
- Select your number
- Under "Messaging", set webhook URL to:
[your-ngrok-url]/api/webhook/twilio
- Ensure Stripe webhook listener is running during development
- The app requires all environment variables to be properly set
- For production, set up Stripe webhook endpoints in the Stripe dashboard
- Set up your Supabase database schema according to
supabase/migrations/0001_initial_schema.sql
This project is licensed under the MIT License - see the LICENSE file for details.