2018
In 2018 KARM wanted a point of sale, which became OnTrac, an iPad app, and it needed an API. That API needed to be separate from the web app, so it could be scaled on its own, while sharing the same logic.
So in February 2018, the same week the web app moved to Rails 5, I extracted ThriftTrac’s core into a Rails engine: its models, and later its jobs and services, in a gem of their own on a private gem host. The web app installed it that month, and a month later the API was started on it.
Time has proven a separate API a very wise decision. The main web app is the more memory-intensive of the two, and keeping the API lean has meant I can scale it more cheaply and respond to demand as it comes. Since May 2018, ThriftTrac has recorded about 25 million transactions from its point of sale, with $625 million taken at the register. When the Pricing Guide came along in 2024, it was built on the same engine, with no models of its own at all.
Step through the years here to see how the platform grew.