Inspiration
We do not have a shortage of reminders. We have a shortage of consequences for dismissing them. As students, we know the cycle: set a deadline, ignore a notification, and panic later. AMMA brings the energy of a caring, increasingly impatient parent: support first, accountability when it matters.
What it does
AMMA (Autonomous Motivational Management Agent) watches a study deadline and escalates as time runs out. It sends real Gmail reminders and creates or adjusts study time in Google Calendar. Its dashboard makes the countdown, escalation stage and actions visible.
Saying “I'm done” is not enough. AMMA checks an assignment submission in our Canvas-style demo: the receipt must match the assignment and active deadline, and the PDF's stored bytes must match its integrity hash. Verified submission before expiry releases the session and prevents publication.
If the deadline expires without completion, AMMA automatically publishes the user's configured photo and caption to our live Instagram-style website. This is real publication on our own website, not Instagram. Completing work after publication does not retract the existing post.
How we built it
The live agent runs as a Node.js and TypeScript process on Steel Computer. A 30-second loop evaluates deterministic deadline stages, while OpenRouter generates contextual wording. Express serves a custom HTML, CSS and JavaScript dashboard and the Canvas-style submission flow.
Google OAuth connects the Gmail API for reminders and Calendar API for scheduling. A Cloudflare Pages Function backed by Workers KV accepts authenticated publication requests and serves a shared public feed. Image URLs are tied to individual post IDs.
Atomic JSON writes, file locks and an action journal protect persistent state. If an external write has an uncertain outcome, the agent stops for reconciliation instead of blindly repeating it. We used Codex and Claude for AI-assisted implementation and design, then tested the behavior and connected the real services.
Challenges we ran into
Turning a timer demo into a real agent meant coordinating OAuth, scheduling, persistent state, file verification and external writes. A failed response cannot simply be assumed to mean a failed action: retrying could duplicate a reminder or publication.
Real Instagram login was unreliable, so we built a separate Instagram-style destination with a real publication endpoint. We also dealt with cloud-computer resume failures and stale image caching. A replacement Steel Computer completed a short live run; post-specific image URLs resolved the photo mismatch.
Accomplishments that we're proud of
We connected a deadline to observable actions: real Gmail reminders, Google Calendar study blocks, submission-receipt checks and an automatically published public photo.
A one-minute real-time run on Steel Computer reached the deadline, sent two Gmail messages and confirmed publication with no pending actions. Separate live checks verified Calendar study blocks. An isolated 18-hour-in-30-seconds replay explains the escalation within a three-minute presentation.
What we learned
An agent is more than an LLM response. It needs state, explicit rules, durable receipts and recovery when the outside world is ambiguous. Code decides what AMMA may do; the model helps express it. A fast replay explains the product, while real service receipts establish which integrations actually ran.
What's next for AMMA
Connect an authorized learning-management-system integration, improve scheduling preferences and recovery, and add clearer consent and revocation around consequences. Multi-user isolation and longer-duration reliability testing come before offering AMMA beyond this prototype.
Credits and prototype scope
Built with AI coding and design assistance from Codex and Claude. Canvas- and Instagram-inspired interfaces are independent demo replicas, not affiliated with those services. Google integrations are real. Canvas verification checks submission and file integrity, not academic correctness. The accelerated replay has no email, Calendar or publication side effects. We do not claim the original six-hour overnight run completed: its cloud computer failed to resume.
Built With
- cloudflare
- css3
- express.js
- gmail-api
- google-calendar-api
- html5
- javascript
- node.js
- openrouter
- playwright
- steel-computer
- typescript
Log in or sign up for Devpost to join the conversation.