I had 3dprinted a piggy bank, but realized they do a poor job of showing progress, so I considered an electronic one, but decided to go simpler.
I repurposed a clear pvc pipe I had from another project and found small tiles he got for Christmas that fit perfectly on top of each other and show very clear vertical progress.
He gets a ticket for doing chores/sharing/trying new things/complimenting people/etc.
He picks what the reward is, and we'll move a rubber band that acts as a goal marker based on how many tickets we think that reward "costs".