Inspiration
Modern life is full of micro-commitments — things we fully intend to act on but never formally capture.
A screenshot of a message we meant to reply to. A photo of a document we planned to follow up on. A casual “I’ll call you in an hour” typed in a chat.
These fragments get dumped into photo galleries, chats, and cloud storage, where they slowly disappear into clutter. Not because they weren’t important — but because there was no frictionless way to convert intent into action.
Existing assistants require explicit commands and structured input. Real life doesn’t work that way.
We built Butler Glue around a simple belief:
If a human butler would recognize something as a commitment, software should too.
What it does
Butler Glue is an intelligent personal commitment tracker that transforms raw intent into scheduled action — automatically.
Users don’t fill out forms or issue commands. Instead, they:
Type natural language
Take a photo
Share a screenshot or message from another app
Butler Glue:
Extracts meaning from text and images
Detects promises, tasks, and deadlines
Converts them into structured, scheduled jobs
Manages reminders until the commitment is fulfilled
All actions are reviewed and confirmed — nothing happens silently.
To make the experience human and memorable, users interact with a butler persona (Alfred, Jarvis, or Peeves), each with distinct tone and visual identity.
How we built it
Butler Glue is a mobile-first, intent-native system built for speed, autonomy, and trust.
Client (Flutter Mobile)
Framework: Flutter (stable)
State Management: flutter_riverpod for reactive job tracking
Navigation: go_router with a global navigator key for background share intents
Local Storage: Drift + SQLite (scaffolded for offline persistence)
Notifications:
flutter_local_notifications for precise local scheduling
firebase_messaging for background and push handling
AI & ML
OCR: Google ML Kit (on-device) for fast, private text extraction from images
Intent Parsing: OpenAI GPT-4o-mini parses raw text into structured JSON:
Action
Deadline (ISO 8601)
Summary
Commitment Type (Promise / Task)
Confidence score
Avatar Generation: OpenAI DALL·E 2 generates persona-based 2D butler portraits
Backend & Cloud
Serverpod: Scaffolded as the long-term backend “glue”
Future migration of AI parsing and persistence
Multi-device sync and secure API key handling
Firebase: Messaging and background delivery
Challenges we ran into
Intent ambiguity: Not every screenshot implies a task — false positives had to be minimized
Trust boundaries: Automation had to feel helpful, not intrusive
Latency: AI parsing needed to feel instant on mobile
Platform constraints: Deep OS integrations vary, especially around background intents
These challenges pushed us toward a review-first, confidence-scored workflow instead of blind automation.
Accomplishments that we’re proud of
Built an end-to-end intent → job → reminder pipeline
Achieved sub-second OCR + parsing flows on mobile
Designed a system that works with unstructured, real-world inputs
Created a personality-driven UX that enhances clarity rather than novelty
Delivered a complete, extensible architecture without scope creep
Most importantly: We turned forgotten screenshots into follow-through.
What we learned
Screenshots are deferred decisions, not memories
The best automation is selective and explainable
AI assistants shouldn’t wait for commands — they should notice intent
Personality can improve usability when tied to function, not gimmicks
What’s next for Butler Glue
Move AI parsing fully server-side via Serverpod
Enable cross-device commitment syncing
Add long-horizon routines and recurring intent detection
Expand ingestion to email and messaging platforms
Introduce adjustable autonomy levels per user
Our long-term vision is simple:
Close the gap between what people meant to do — and what actually gets done.
Log in or sign up for Devpost to join the conversation.