Nice work! Have you considered using localStorage instead of sessionStorage so it works across browser tabs as well?
If I were to do localStorage I would only do it if the first touch and last touch tags (even if empty) were saved as separate values. That just means slightly more coding which I haven’t gotten around to. Pull requests welcome :)