This was my biggest project at HMB. Routines were a way for users to automate different actions in their bank account using IFTTT like logic. I was in charge of planning and building most of the frontend and backend architecture and worked closely with design and product to get routines off the ground.
Routines were built and updated via a complex graphql schema that autogenerated typescript types and form validation. Users configured routines and when saved our backend processed business rules to make sure that the routine was acceptable.
Routines were made possible by the backend core migration of 2022??. Our new elixir based architecture was event-driven and for the first time we could process transactions in real time. One transaction or balance change could spawn multiple routines and we utilized a job-queue system called Oban to handle the concurrency and tracing for each job. Each routine had a trigger and an action. The trigger was connected to a given event in the system and would go off whenever we detected an event that met its criteria. The routine job would then queue the routine’s action which would get processed through its given command.
Routines were well loved by HMB customers and employees alike and truly felt like a feature that had not been attempted before. While the product itself was successful HMB unfortunately had to shut down its consumer platform before we could see its long term impact. I would love to build something like this again and I desperately miss the 20+ routines I had running to automate my own account. If you are building or are interested in building something like this please contact me!