Abstract product description
Socii Money is a new way for couples to manage their shared finances (like bills, groceries, meals out etc).
The app links with your banks to automatically get a feed of your expenses (or, you can enter expenses manually). These are private to you, but you can simply swipe right to split the expense with your partner and swipe left to remove transactions/delete from list (for ones that are just for you).
Splitting can be done by a pre-set default percentage, or customised for each individual expense. You can also set it up to ‘learn’ to automatically split specific expenses each month (first with manual user generated rules, later with ML).
You have a shared space page which shows a summary of the current state of your expenses e.g. who owes whom and how much and what are the expenses. You can press a button to ‘mark as settled up’ resetting the balance owed to zero.
In V2 of the app, we will integrate a way to transfer funds with PayPal, and/or some form of notification (Twilio texts would be easy to integrate), so space should be included in the design for this.
High level to do list
Decide on frontend tech stack Decide on backend tech stack Ascertain full list of requirements Build out frontend and connect to backend Thorough test through all major user journeys
Front end
Tech stack
Reason: My understanding is that our priority is to launch as quickly as possible with an MVP. By using what seems to be the market leader, we benefit from a larger ecosystem. This can be very useful for speed of execution, because often many of the challenges we will face have already been completed and shared as either plug and play components, or tutorials on YouTube etc. This significantly decreases development time by not having to ‘re-invent the wheel’.
Furthermore, it’s worth noting that the majority of the speed of an app (especially a ‘data centric’ app) typically comes from the backend tech. Also, in the unlikely event that we do encounter an issue, since we have structured the app in a way that prioritises the workload on the backend, it will be easy for us to switch and rebuild with another system.
App specs based on the product description
User types
This specifies who will be using the app, and divides them into ‘cohorts’, so that we can think through individual journeys for each user type.
Interactable elements
These are the ‘things’ that the users can interact with.
Actions
Actions a user can take
Third-Party Service Integrations
Page layout
Amalgamating the above, this list details all the pages that the app will require, and what features will be included on each one
Back end
Tech stack
Reason: No-code, meaning drastically reduced setup and dev time, also means incredibly quick for us to iterate through ideas, and add features. Dedicated resource allocation powered by Google Cloud, meaning secure, scalable and fast.
My understanding is that we are prioritising quick build and learn/iterative development cycles, this allows us to do exactly that, and is more than robust enough to scale as we do. Also, no complex lock-in of data either.
Setup
Description
Overview
Relationships between tables
Database Schema as a diagram
Database schema as tables, and with dummy data