most things that have to be done in the backend can be solved with logic hooks/workflows (event based) or schedulers (time based):
everything that should happen on the frontend can be solved with custom javascripts/jquery. Simply create your code and inject to the relevant views, there are multiple topics in this board on how to do that, e.g.: