Here’s how I’d do it:
Have the Typeform data sent over API to Bubble. Have bubble store the form data in the database. Also, have Bubble do logic / calculations on the data to create new values in the same workflow and have it stored in the database. If you need advanced functions then may need to call an external API for that as part of this step.
You’ll need Typeform to create a random number (use enough digits that each is highly likely to be unique. 10 should do fine.) and pass that through to Bubble. This will be the unique user ID. After user fills out input in Typeform, display your Bubble domain and a URL parameter for user ID (e.g., yourdomain.com/?ID=1234567890). On your Bubble homepage, set a condition when URL parameter “ID” is not empty, then redirect to the page with charts/data and pass the Bubble ID for that user based on the original Typeform random number (Bubble will auto-create it’s own ID and that’ll be part of the URL which is why you need a redirect using the Typeform ID).
Then, build that page to show the data you want displayed to users and have it set to be a user-page such that it’ll only show the data for that user on the page.
Best of luck!