Lararun is a self-hosted AI running coach built with Laravel, designed to help you reach your running goals with personalized, data-driven training plans. By syncing your Strava activities and leveraging OpenAI's advanced reasoning (via Prism), Lararun provides daily workout recommendations tailored to your current fitness level and specific objectives.
- Strava Integration: Automatically syncs your latest running activities.
- AI-Powered Coaching: Uses OpenAI to generate context-aware training recommendations.
- Objective Management: Set goals like "Run 5K", "Run 10K", "Run Half Marathon", or "Run Faster".
- Daily Recommendations: Receive personalized workout suggestions every day.
- Email Notifications: Stay on track with daily emails via Lettermint.
- Self-Hosted: You own your data and your coach.
Follow these steps to get Lararun running on your own server:
-
Clone the repository
git clone https://github.com/thomasvanderwesten/lararun.git cd lararun -
Install dependencies
composer install npm install
-
Configure environment
cp .env.example .env php artisan key:generate
-
Database setup
# Create a sqlite database (or use your preferred DB) touch database/database.sqlite php artisan migrate -
Build assets
npm run build
-
API Keys Configuration Edit your
.envfile and add the following required keys:OPENAI_API_KEY: Your OpenAI API key for generating recommendations.STRAVA_CLIENT_ID: Your Strava Application Client ID.STRAVA_CLIENT_SECRET: Your Strava Application Client Secret.STRAVA_REDIRECT_URI: Should matchhttp://your-domain.com/auth/strava/callback.LETTERMINT_TOKEN: Required if you want to receive daily training emails.
-
Queue and Scheduler Ensure your queue worker is running and the scheduler is set up:
php artisan queue:work # Add to crontab: * * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Lararun is currently in Beta. Contributions and feedback are welcome!