A note on privacy.
This is Tristan Sinohin’s personal portfolio. Here is what happens to the information you share here.
Project inquiries
The contact form sends your name, email address, selected service, message, and any optional budget, timing, preferred meeting date, website, or project reference you provide to my inbox through Resend. I use those details to respond to your inquiry and discuss potential work. Please avoid including passwords or confidential files in your message.
Your message is handled by Resend and my email provider, Gmail. It is not added to a mailing list. I keep correspondence as needed for the conversation or any project that follows. You can email me to request access to or deletion of your inquiry.
The guided brief formats your answers locally, without an AI request. Its summary reaches me only if you include it in a sent inquiry. A meeting request does not reserve a calendar slot. Your device shows the corresponding local time without sending its time zone to the server.
Saved on your device
The site remembers window sizes, positions, and your appearance choice in your browser’s local storage. Auto appearance uses your device’s local clock: light from 5 AM to 6 PM and dark overnight. It does not request your location or send your time zone to a server. If you choose “Save my draft on this device,” the contact fields you enter are also saved locally for up to seven days. On return, you choose whether to restore them. A draft is removed after sending, when you turn off draft saving, or when the site next detects that it has expired. Anyone using the same browser profile could access a saved draft, so use this option only on a device you trust. Clear your browser’s site data to remove local preferences and drafts.
Chat
When the chat is labeled “Tristan’s AI guide,” sending a question sends that message, a limited recent conversation history, and Tristan’s approved public portfolio information through this site’s server to OpenRouter and the model provider it selects. The guide can answer portfolio and general technical questions. Do not include passwords, API keys, confidential work, or sensitive personal information. AI answers can be inaccurate and do not commit Tristan to prices, availability, or project terms.
This site does not save chat transcripts to a database or your browser’s local storage. The conversation stays in page memory until you start over or reload. Starting over clears the local conversation; it does not erase data already handled by providers. The application uses short-lived, hashed request identifiers for rate limiting, without keeping raw IP addresses in that limiter. Vercel also applies IP-based request limits at the hosting layer to protect the chat and may process security-related request metadata.
Requests exclude providers that allow data collection under OpenRouter’s routing policy. OpenRouter and the selected provider still handle the request under their respective policies. See OpenRouter’s privacy policy. If AI is unavailable, answers are clearly labeled “Built-in guide” and are generated locally. A failed AI request may already have reached the provider before a local answer is shown.
AI allowance and service protection
A separate database hosted by Neon keeps a daily date and a count of AI attempts, capped at 100 across all visitors. It contains no messages, names, or IP addresses. The allowance resets at midnight UTC. If the allowance cannot be checked, the site uses its built-in guide. The contact form also has IP-based hosting protection. Static failure categories and status codes help diagnose service problems; application error logs do not include inquiry contents or chat messages.
Offline viewing
After an online visit, a service worker saves a read-only copy of the public biography, services, project descriptions, and sample screenshots in your browser. If a portfolio page cannot be reached, that copy lets you keep reading. Chat and inquiry requests are never cached or queued. Clear this site’s browser data to remove the offline copy. Your browser may also remove cached files to free storage.
Interactive demos
The LeadClean demo’s editable CSV stays in your browser. The SnapBooth demo uses illustrative sample artwork and does not access your camera. The n8n walkthrough is a browser simulation with fictional records and does not connect to the real workflows. Demo inputs are not uploaded; files are prepared locally when you request an export.
Analytics and search visibility
This site does not use Google Analytics, Microsoft Clarity, or session recording. It does not create analytics cookies. Google Search Console is used to understand how the site appears in Google Search; it does not add a visitor tracking script here.
Hosting and external links
Vercel hosts the site and processes request information needed to serve and protect it. Links to WhatsApp, Telegram, LinkedIn, GitHub, and project websites open services with their own privacy practices. Direct messages are handled in the service you choose; this site does not pass your inquiry-form draft to those links.
Get in touch
For questions about your information, email tristansinohin@gmail.com.