Inspiration
As Seniors, we are all getting ready to say goodbye to our college town. That means leaving our network and, more importantly, our friends behind.🥺 Keeping in touch with the homies as life pulls you apart is difficult, and the problem truly lies in forgetting to reach out...
What it does
Now with Cadence, your private social network for routine reconnection, staying in touch is as simple as setting a time interval. Every number of months (picked by you), a text will be sent to an SMS group chat containing you and a friend letting you know it's time to catch up. Keeping friends for life is that easy!
How we built it
From early on, we made project management a core of our workflow. We began by breaking down the problem into 4 user stories (2 needs, 2 wants) and documenting the subtasks required by each team member in our Notion. We found having our frontend wireframes drawn out, data models written down, and api endpoints agreed-upon in advance to be highly conducive for reducing conversational ambiguity and staying focused as a team. With our ultimate goal being to release the Cadence MVP, as the weekend progressed we were relentless with scoping down our plans to give shipping its greatest likelihood.
Challenges we ran into
The hardest challenge for us was the classic race against time. Unfortunately, we didn't get a chance to connect our backend and frontend, so as of this submission Cadence is a 'bucket of parts.' Some speed bumps we ran into on the backend included hitting the size limit for deploying a python server in AWS Lambda and registering an origination number for SMS messaging with AWS Pinpoint, which takes over 2 weeks. On the frontend, we wrestled with an up and coming Flutter State Management Package called RiverPod, but ended up implementing our state management with the trusty Provider package.
Accomplishments that we're proud of
- Built a full cross-platform (iOS & Android) Flutter app
- Deployed a Python backend with AWS Lambda, Docker, and FastApi
- Speced out 4 user stories into features and subsequently into small dev tasks
- Defined clear roles and synced with team members at set intervals
- Designed clear, lofi, UI/UX wireframes
- logged key team decisions and plans in our Project Management Notion
What we learned
- 36 hours is more than enough time to ship an MVP... until you hit your first bug
- There is a trade off between balancing communication time and building time - to maintain steady dev progress without losing alignment there must be a cadence
- It's never to late to pivot to alternatives when you reach limitations with a current technology
- learning how to prioritize features and cut down MVP specs to increase the likelihood of shipping
- Investigating technologies early plants the seeds for building efficiently at Runtime (HackTime)
- How to make adjacent progress when the main story line is blocked by someone else's work
What's next for Cadence
Here's our 3 step plan for world domination: 1- Connect our backend and frontend 2- Launch Cadence on Apple TestFlight and Android's Google Play 3- Apply to Y-Combinator! (wish us luck🙏)
Built With
- amazon-web-services
- aws-lambda
- aws-pinpoint
- dart
- docker
- fastapi
- flutter
- python

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