Custom Invitation-Only Privacy Site with Magic Link

Job ID: 40271601

Budget: $30 – $250 USD

I’m building a small, privacy-centric site that only invited visitors can reach. The flow is simple yet must be airtight:

A guest first types a username and then picks a domain name from a predefined drop-down list, then receives a one-time magic link. When the link is followed, the page should greet the “anonymous owner of <username>@<domain name>”. "An alternate <domain name2> is also offered"—the HTML scaffold for both messages already exists, so the task is to inject the three variables. (Each domain name in the drop-down list is paired with its own unique <domain name2>. The pairing is "subsequent" to contacting with the selected email host.) If either value was entered incorrectly, the visitor must be allowed to correct it and request another link; no hard lockouts. See the scaffolding within brackets [].
[ HELLO AND WELCOME TO THE ANONYMOUS OWNER OF EMAIL ADDRESS, <username> @ <domain name> ]
[ YOU ARE INVITED TO APPLY FOR YOUR OWN UNIQUE ADULT EMAIL ADDRESS, <username> @ <domain name2> ]

After a successful login the visitor needs instant access to a PDF that is already filled with the same <username>, <domain name> and <domain name2>. Plus access to a second PDF page which is static. I’m flexible on whether you generate the file in the browser (jsPDF, pdf-lib) or server-side (Python, Node) as long as no raw data leaks and the code stays lightweight.

Deliverables
• Magic-link authentication tied to the text+drop-down inputs
• Dynamic welcome page that places three variables into the existing HTML
• Auto-generated PDF populated with those three variables plus a second static page and served for download
• Error handling that lets users re-enter details without locking them out

Please write clean, commented code I can drop into a mostly static site, include a full README for any env vars or test steps, and demo the flow before hand-off.
"Note that I am not tech savvy and may need your help to integrate everything."