A high-level summary that everyone should be able to understand. What problem are you trying to solve? Where is this problem coming from and how are you trying to solve it. Give some context so that the reader exactly know's what he or she is going to read.
Goals and Non-Goals
What do want to achieve?
Why are we doing this?
What are we
What might have been expected but is not covered?
This is the main part of the document. This can contain multiple designs i.e. data-model design, architecture design, UI-design, procedural design.
Think about answering these questions (at this stage, involve relevant stakeholders in Systems & Data -
currently Max VB & Kartik
What systems and components will be affected?
Which API's need to be created or changed?
How will this be tested?
Which other topics are to be considered? Logging, Analytics, Localisation, Error-Handling?
What are potentially the contentious parts of this proposal that need to be discussed?
Does your solution involves introducing new data points (New Dynamo Db, ???)?
Does your solution involve changing the schema of a data source (Dynamo Db Table, ???)?
This section will be of interest especially when people outside of engineering are involved and need to be able to plan accordingly.
How long will this project take overall?
How long will it's broken-down tasks take for whom?
Thoughts and Open Questions
Add anything going through your mind or any open questions you might have that need to be discussed with other people.