In totoal I have spent around 4 hours on this task, including research time. This is due to me being strapped for time but there are a lot of things that I would do differently.
noteabley I would have ustilised the context api and created a global state that hanldes the storage of data & errors as this would be a cleaner approach to handleing this.
testing - I would have added test cases for the api
hooks - All custom hooks will go in here lib - All external libaries/packages that I am utilising will live here. interfaces - All interfaces go here