The spreadsheet was my job
In 2017 I was a supermarket buyer. Suppliers sent promotions in spreadsheets; buyers checked the prices and dates, sent corrections back, then tried to keep track of what had been approved. The same promotion could pass through several versions before it reached a shop.
I wanted one place for submissions, validation, approvals and a calendar both sides could read. I knew how annoying the handoffs were because I dealt with them every day.
The hard part was history
I chose React over jQuery because JSX made more sense to me, then kept the backend in JavaScript so I wasn't learning two languages at once. For the first couple of months I crashed the server more than once and spent far too long on 'of undefined' errors. I was still a buyer doing this in my spare time, so Stack Overflow got a lot of use.
Promotion versioning was the hard feature. Prices and dates change, approvals get revised, and you need to know which version someone signed off. I refactored the schema several times before I could keep an audit trail and roll a promotion back. Redux was its own headache: immutability bugs and dynamic keys in a growing store took me a while to understand.
StackReact, Node, Express, MongoDB, Redux, Material UI
It changed my direction
Dealio took about a year. I'd done courses before, but building around a problem I dealt with at work is where web development started to click. The project got me out of buying and into software engineering.