I am working on this exact product and the way I am approaching it is having a database with different levels of abstraction for each day.
Couldn't you just timestamp each interaction (input and output?)
Couldn't you just timestamp each interaction (input and output?)