Inspiration
In a world of constant communication, we were struck by a paradox: we talk more, but do we say what truly matters? We're surrounded by social media that encourages performance, but we wanted to create a space for our unspoken thoughts: the genuine compliment we're too shy to give, the funny observation we keep to ourselves, or the vulnerable question we're afraid to ask.
We were inspired to build a channel where anonymity wasn't about hiding among strangers, but about enabling honesty with the people we already know. That’s how Closet was born, from the idea that the most important messages are often the ones we keep locked away.
What it does
Closet is a mobile application built for Android that lets you send anonymous messages to people in your phone's contact list.
- Anonymous, Not Strangers: Recipients know a message is from someone in their contacts or not, sparking curiosity without revealing your identity.
- Dormant Messages: You can send messages to friends not yet on the app. The message waits for them to join, creating a fun reason for them to sign up.
- Total User Control: As the sender, you can choose to reveal your identity within a chat. As a user, you can decide who can message you and permanently delete your entire account and all its data with one click.
- Privacy-First: We never store your raw contact list, relying on secure, on-device hashing to preserve your privacy.
How we built it
This project was a true testament to modern, AI-assisted development. Our stack was Flutter for the cross-platform UI, Supabase for a robust backend, and at the heart of our workflow was Bolt, the agentic AI.
Our entire development process was centered around prompting. Instead of writing every line of code, we focused on crafting detailed specifications for Bolt to execute. We architected the database schema, RLS policies, and server-side RPC functions in Supabase, and Bolt generated the SQL and implementation code.
The most incredible part was building the UI. We described a modern aesthetic with gradients, glassmorphism, and fluid animations. In a fraction of the time it would have taken manually, Bolt generated beautiful, complex Flutter widgets that brought our vision to life. It allowed us to focus on the bigger picture, that is the user experience, rather than getting bogged down in boilerplate code.
Challenges we ran into
Building with a cutting-edge agentic AI came with unique challenges, both technical and practical.
The Token-Burning Bug Hunt: Our most memorable technical challenge was a "token-burning" bug. An early, ambiguous prompt caused Bolt to generate logic that entered an infinite loop. Watching our token count skyrocket taught us a valuable lesson: you must be incredibly precise with termination conditions when instructing an AI. It's the new form of debugging.
Working Around Real-World Costs: We knew real phone number verification via an OTP service was crucial for a production app. However, due to the budget and time limitations of the hackathon, integrating a paid SMS service wasn't feasible. Our challenge was to build the complete user flow without it. We solved this by implementing a "mock" OTP screen that simulates the verification process, allowing us to build and demonstrate the full, seamless onboarding experience without incurring costs.
Coordinated Migrations: The real test of our workflow came when we needed to add the "unread message" feature late in the game. This required changing the Supabase schema and several backend functions simultaneously. Crafting a single, precise prompt to make Bolt perform this complex migration without breaking the existing app was a huge challenge and a major learning experience.
Accomplishments that we're proud of
First and foremost, we are incredibly proud of the final product. It's a polished, secure, and beautiful app that fully realizes our initial vision. We didn't just build a demo; we built something we would genuinely use.
We're proud of our resourcefulness in implementing the complete user onboarding flow, including phone verification, by creatively mocking the OTP step to respect hackathon constraints. It shows the full vision for the app, even without a budget.
And, of course, we are proud of how we successfully leveraged Bolt to build at a speed that would have been impossible for our team otherwise. To go from an idea to a feature-complete, cross-platform app of this complexity in such a short time feels like a massive accomplishment.
What we learned
This project taught us that the future of development is a partnership between human architects and AI implementers.
Our biggest takeaway is that "prompt engineering" is software architecture. The primary skill shifted from writing flawless code to writing flawless, unambiguous instructions. Any ambiguity in our prompts led to unexpected results, forcing us to become better planners and to think through every edge case upfront. This new way of working is faster, but it demands an even higher level of clarity and foresight.
What's next for closet app
We believe Closet has real potential beyond this hackathon. Our next steps would be:
- Implement Real OTP Verification: Replace our mock verification with a live service like Twilio to prepare for a public launch.
- Launch a Closed Beta: Get Closet into the hands of real users to gather feedback on the core loop and user experience.
- Implement Robust Moderation Tools: Introduce more sophisticated tools for reporting and handling misuse to ensure the community remains safe and positive as it scales.
- Explore Rich Media: Allow for anonymous sending of GIFs or ephemeral photos to make conversations even more fun and expressive.
Challenge Compliance:
- Startup Challenge: Supabase organization slug: hmwaotqjwyhrcanofwbf
Built With
- bolt.new
- flutter
- supabase
Log in or sign up for Devpost to join the conversation.