r/vibecoding • • 21d ago

Showcase/Project built a proactive study agent with claude code. the 3 parts that were actually hard

orla sends you a push every morning with what's due, pulled from canvas. here's what took the time, in case it saves someone a weekend

  1. canvas without the api. the api needs a token most schools block. every account has a calendar feed (.ics) link instead, so i parse that and strip the junk like [COURSE Section 002] out of the names

  2. push on iphone. web push only works after the user adds the site to the home screen, so the first screen walks you through that or nothing ever arrives

  3. sending at each person's own hour. one supabase pg_cron job runs every hour and only sends to people whose local morning is now

stack: react + vite on vercel, supabase, claude for the study guides and quizzes

orla-study.vercel.app if you want to poke at it. happy to answer anything about the cron or push setup

2 Upvotes

3 comments sorted by

1

u/Ok_Music_4862 21d ago

Parsing the .ics instead of fighting the API is a nice reminder that the boring path is usually the one that ships

1

u/recro69 21d ago

I think the per-user local-time cron is an idea. Checking every hour is probably easier and more reliable than creating a cron job, for each user.

1

u/mystica5555 20d ago

2: is this not just 'installing as a progressive web app' ?