- og / json-sd
- logger
- bring sections headers on all pages other than home page further up (reduce top margin / padding)
- set game current position on game load to ply 0 and whatever the FEN is (starting position probably, but could be custom position)
- privacy policy - have no access to anything you generate, only keep a count of success/failed pdf generations with timestamp and error message
- a11y and lighthouse fixes
- check wcag compliance

429 lichess error handling

add throw errors or return errors in server code
try/catch where needed in client code

generate state and check it against the state returned from lichess https://lichess.org/api#tag/oauth/GET/oauth