Inspiration

Ever get charged for that free trial you forgot to cancel? Ever look at your bank statement and wonder why you're still paying $20 a month for that Netflix account you shared with your ex? Let's face it; we're all losing money on forgotten subscriptions somewhere. That's why we built Submarine, to help you manage and keep track of all your subscriptions.

What it does

Submarine helps you keep track of your active and past subscriptions, free trials, and other recurring payments. All you have to do is enter the details of your active subscriptions (when you subscribed, when the free trial ends, how much it costs), and our app will handle the rest. Submarine will break down your spending by category, showing you exactly how much you're spending on what, and when each payment is due. With our project, you can more easily keep tabs on where your money's going, and make informed decisions about the subscriptions you're using.

How we built it

Submarine is a two-part application with a Django API backend and a Flutter frontend. The Django API backend utilized CockroachDB as its database layer for replication, instant access, and reliability. The Flutter frontend allows us to port our single frontend application to any platform we choose (web, Android, iOS, etc) with minimal edits.

Challenges we ran into

Flutter was a challenge to get working. While Flutter makes great promise about its write-once-use-anywhere model, the maturity of the framework (especially with web components) does leave quite a bit to be desired.

What we learned

UI development requires a lot of patience. It's very difficult to get things to look exactly how you want them to, and you end up fighting with the renderer if you aren't careful and deliberate in your code.

Django is a surprisingly powerful framework for rapid API development.

Registered domains

submarineapp.space

Built With

Share this project:

Updates