Skip to content

Privacy policy

No advertising, no analytics. Information is collected when you send it through the contact form or Ask; the services that host the site also handle the technical details needed to run and secure it.

Last updated:

In short

The site does not use advertising or analytics tracking. Information is collected when you actively provide it: by sending a message through the contact form, or by asking a question with Ask. The providers that host and run the site also process standard technical information, such as your IP address, to operate and secure it.

This policy describes what the code behind the site actually does, and changes when that does. The terms of use cover how the site may be used, and the colophon how it is built.

Who is responsible

This site is run by Vishal Biyani, in Mumbai, India, as a personal portfolio. It is not run by a company. For anything about your data, use the contact form and choose “Something else”.

What is collected

Information you provide, only when you use these features:

  • Contact form: what the message is about (a role, a programme or engagement, or something else), your name, your email address and your message.
  • Ask: your questions, and, if you arrived through an “Ask about this” link, the title and a short description of the page you came from.

Technical information, whenever you visit: like any website, each request reaches the hosting providers with your IP address, browser and device details, the address requested and the time: GitHub Pages, which serves the site’s pages, and Vercel, which runs its service (see Hosting and service providers below). The site’s own service does not store IP addresses, and its logs record only that a request happened, where it went, whether it worked and how long it took.

Messages you send through the contact form

A message goes from the form to the site’s own service, which stores it first and then emails a copy to Vishal so he can reply:

How a contact message travels

The stored record holds what you entered, when it arrived, whether it came from the contact page or from Ask, and whether the email copy has been sent. Storing it first means a message isn’t lost if email is briefly unavailable: the email is retried, and if it still hasn’t gone through after a day, the message is flagged for Vishal to pick up from the database.

Stored messages are deleted from the database automatically 365 days after they arrive. The email copy in Vishal’s inbox is not deleted automatically; it is kept as ordinary correspondence. Resend, which delivers the email, may keep its own delivery records under its own terms.

Questions you ask with Ask

Ask answers questions using only what is published on this site. It works like this:

How an Ask question travels

Each time you ask, your question and the earlier questions and answers in the same conversation are sent to the site’s service, so the answer can follow the conversation. The service passes them, with excerpts of the site’s content, to NVIDIA’s AI service (the NVIDIA API catalog), which writes the answer and suggests follow-up questions. The request to NVIDIA comes from the site’s service, not from your browser, so NVIDIA does not receive your IP address. NVIDIA processes the conversation under its own terms.

The site’s service does not store your questions or answers: it holds a conversation only while an answer is being written. Its logs never record what you asked.

The conversation is saved in your browser’s local storage, so it is still there when you come back. “New conversation” deletes it, and it isn’t available on any other device.

Ask doesn’t need anything personal. Please don’t enter passwords, financial details, confidential business information or other sensitive or private information in a question. If Ask drafts a contact request for you, nothing is sent until you check it and choose “Send request”; it is then handled exactly like a message from the contact form.

Limits against abuse

To stop the contact form and Ask being flooded, the site counts requests per visitor for one hour at a time. The count is kept against a scrambled (hashed) form of your IP address, so the address itself is never stored, and each count expires when its hour ends. The counts are held in Upstash Redis. A daily total of Ask usage is kept there too, with nothing about who asked.

Cookies and browser storage

The site uses no advertising or tracking cookies, and loads nothing from other sites: its fonts, images and code are all served from this site.

Cookies. One cookie, “themeMode”, set only when you pick a theme. It holds “light”, “dark” or “system”, lasts up to a year, and lets the page open in the right colours before anything else loads. It is sent only to this site.

Local storage (kept in your browser, not sent with requests):

  • “themeMode”: the same theme choice.
  • “ask:conversation:v1”: your Ask conversation, if you have used Ask.

Clearing this site’s data in your browser removes both the cookie and everything in local storage, including any Ask conversation.

Analytics

The site does not currently use analytics. If analytics or other tracking technologies are introduced, this policy will be updated to describe them and any consent choices that apply.

Hosting and service providers

The site relies on these services. Each acts on the site’s behalf, receives only what its job needs, and handles it under its own privacy and data-processing terms.

Service providers and the information each handles
ServiceWhat it doesInformation involved
GitHub PagesServes the site’s pagesRequest details (IP address, browser, address, time) for every page visit
VercelRuns the site’s service (the API)Request details for contact and Ask requests; contact messages and Ask conversations pass through it
NeonStores contact messagesWhat you entered in the contact form
ResendEmails contact messages to VishalWhat you entered in the contact form
UpstashHolds request counts for the limitsHashed IP addresses and counts; a daily Ask usage total
NVIDIA API catalogWrites Ask’s answersYour Ask conversation and excerpts of the site’s content

Processing outside India

Several of these providers are based outside India, so information you send may be processed outside India. Each provider handles it under its own privacy and data-processing terms.

Security

Reasonable technical and organisational measures protect the information the site handles: connections are encrypted, access to the database and services is limited to Vishal, IP addresses are hashed before they are counted, and logs leave out personal details. No internet service can guarantee absolute security.

Your choices

Using the contact form, you can ask what is held from a message you sent, and ask for it to be corrected or deleted. Some information may need to be kept where the law requires it, or to deal with abuse.

Your theme choice and any Ask conversation live in your browser: “New conversation” deletes the conversation, and clearing this site’s data removes both.

Changes

When the site changes what it collects or who handles it, this policy changes first. The date at the top shows the latest version.