
gittech. site
for different kinds of informations and explorations.
My first open source project β daily SMS goal reminders
Goal Reminder
The simple SMS service that sends daily reminders of your goals and motivations.
Features β’ Why? β’ Tech Stack β’ Setup Guide β’ License
Features
- β° 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
Why?
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.
Tech Stack
- Next.js β framework
- Supabase β database
- Twilio β SMS
- OpenAI β goal refinement
- Stripe β payments
- PostHog β analytics
- Tailwind & shadcn/ui β styling
Prerequisites
- Node.js and npm installed
- Stripe CLI installed
- A Stripe account
- A Twilio account
- A Supabase account
- An OpenAI account
- A PostHog account
Environment Setup
- Copy
.env.example
to.env.local
and fill in all required values:- Supabase credentials
- Twilio credentials
- Stripe credentials
- OpenAI API key
- PostHog credentials
Development Setup
Install dependencies:
npm install
Start the development server:
npm run dev
The app will be available at http://localhost:3000
Stripe Setup
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...
Twilio Webhook Setup
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
Important Notes
- 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
License
This project is licensed under the MIT License - see the LICENSE file for details.