gittech. site

for different kinds of informations and explorations.

My first open source project – daily SMS goal reminders

Published at
4 days ago
Goal Reminder Logo

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

Prerequisites

  1. Node.js and npm installed
  2. Stripe CLI installed
  3. A Stripe account
  4. A Twilio account
  5. A Supabase account
  6. An OpenAI account
  7. A PostHog account

Environment Setup

  1. 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

  1. Install dependencies:

    npm install
    
  2. Start the development server:

    npm run dev
    
  3. The app will be available at http://localhost:3000

Stripe Setup

  1. Login to Stripe CLI:

    stripe login
    
  2. Start Stripe webhook listener:

    stripe listen --forward-to localhost:3000/api/webhook/stripe
    
  3. Copy the webhook signing secret to .env.local:

    STRIPE_WEBHOOK_SECRET=whsec_xxx...
    

Twilio Webhook Setup

  1. Install ngrok

  2. Start ngrok:

    ngrok http 3000
    
  3. 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.