Hushflow – Hackathon Submission Draft
Inspiration
Every day, more than 30 emails land in my inbox—and most of them are subscription emails. What do I do with them most of the time? I delete them all, because even scanning the subject lines feels overwhelming.
But I subscribed for a reason: learning English, staying updated on news, and getting promo deals and discount codes. As the overall volume of information keeps growing, finding the valuable parts inside these subscriptions has become almost impossible.
What I need is a “subscription to my subscriptions”—something that summarizes the key information from subscription emails, so I can keep these channels that proactively deliver content to me, but use them in a much more efficient way.
What it does
Hushflow connects to the user’s Gmail, automatically scans the inbox, and identifies a list of senders worth tracking. The system then generates a regular subscription digest, highlighting important emails and key messages so users can quickly understand everything they’ve received.
In addition, we track engagement across all subscription senders. If there’s a sender whose emails we almost never open, it might be time to unsubscribe—so the system proactively suggests that action.
Hushflow also includes mobile movement detection. When you’re commuting in the morning, a voice prompt automatically asks if you’d like to listen to today’s email summary, helping you stay informed using small pockets of time.
How we built it
Hushflow is a full-stack Dart showcase. We chose Flutter and Serverpod as our core stack, allowing us to use one language—Dart—across both frontend and backend, which dramatically improved our development speed.
Core Architecture: Serverpod & Flutter
One language and one type system
With Serverpod, our backend data models can generate Flutter client code directly. That means we don’t need to write boilerplate API integration code, and we don’t have to worry about frontend/backend type mismatches. If we change a field on the backend, the frontend compiler immediately tells us what needs updating. This development workflow feels incredibly smooth.
Fast iteration cycle
Serverpod’s built-in caching, ORM, and task queue (Future Calls) let us focus on business logic instead of infrastructure. We use its asynchronous task system to handle time-consuming AI summarization work, keeping the frontend experience fast and responsive.
Flutter’s cross-platform magic
With Flutter, we wrote one codebase and delivered polished UI for both iOS and Android. Especially for the “driving mode” animations and interactions, Flutter’s rendering engine gave us native-level smoothness.
Intelligence Engine
OpenAI GPT-4
Responsible for deep semantic summarization of emails. We use Serverpod streaming to send summaries back to the client in real time as they are generated.
XGBoost
While we embrace Dart end-to-end, we also integrate the Python ecosystem where it makes sense. Our XGBoost ranking service runs as a microservice and integrates seamlessly with the Serverpod backend via API, predicting email importance and prioritization.
Challenges we ran into
Cross-language communication between Dart and Python
While Serverpod solves frontend/backend communication nicely, introducing a Python-based XGBoost model created cross-language challenges. We designed an efficient API interface so the Dart backend can send feature vectors to the Python service and quickly receive prediction results.
High-performance real-time updates
We wanted users to see analysis results immediately when new emails arrive. Serverpod’s WebSocket support made this easy—we didn’t need to set up a complex push notification service.
Accomplishments that we’re proud of
Deep Serverpod usage beyond CRUD
We didn’t just use Serverpod for basic CRUD. We deeply used features like Terraform integration, Redis caching, and asynchronous task processing—proving it can support complex, production-grade applications.
10× development speed with full-stack Dart
In a hackathon’s limited time, we iterated quickly largely thanks to the completeness of the Dart ecosystem. We saved more than 50% of the typical effort spent on defining API contracts and debugging frontend/backend integration.
A seamless user experience
From Flutter’s polished UI to Serverpod’s stable backend responses, we built a product that’s not just functional, but genuinely pleasant to use.
What we learned
The power of type safety
Serverpod’s enforced type generation helped us catch many potential bugs at compile time.
Choosing the right ecosystem matters
Flutter + Serverpod allowed a small team to perform with the effectiveness of a much larger team.
What’s next for Hushflow
We plan to continue expanding the app’s features and strengthening the mobile experience.
Built With
- dart
- flutter
- gmail-api
- openai-gpt-4
- postgresql
- python
- redis
- serverpod
- websockets
- xgboost


Log in or sign up for Devpost to join the conversation.