This portfolio uses optional PostHog analytics to understand what is useful and improve the experience. Analytics stays off until you choose, and you can change that choice at any time.
No optional analytics before consent
Your analytics setting
Choose whether this browser may send optional usage analytics. Your choice takes effect immediately.
No choice saved yet. Optional analytics remains off until you choose.
This preference is stored in localStorage on this browser. Clearing site data will reset it.
What analytics can collect
If you allow analytics, the site may send the following usage information to PostHog:
An anonymous visitor and session identifier
Page paths and titles, view or leave times, and navigation paths
Only defined interactions, such as project, call-to-action, outbound-link, and form-status events
A sanitized referring domain and allowlisted source or UTM campaign parameters
Language, time zone, color preference, and coarse device or viewport categories
Core Web Vitals and coarse performance measurements, including metric type, value, rating, and navigation type
The analytics code does not send query strings or URL fragments, raw form text, raw names or email addresses, full user-agent strings, exact screen dimensions, hardware details, or network-quality details. Session replay, automatic DOM capture, rage-click capture, and automatic exception capture are disabled.
Anonymous by default
Analytics begins without your name or email. If you voluntarily submit a form on this site, a one-way pseudonymous identifier may link that action without sending the raw name or email. Contacting me through your email app is separate, and inbox content is never read by analytics.
Why I use it
I use aggregate patterns to understand which work people find useful, improve navigation and accessibility, and spot pages that may need attention. I do not use this data for targeted advertising.
Retention and service provider
PostHog processes analytics on my behalf. The retention period is controlled in the PostHog project dashboard and may change as this site evolves. I do not sell analytics data.
Like any hosted analytics endpoint, PostHog necessarily receives the network connection and IP address when an event is ingested. This repository does not add the IP address as an event property. Whether PostHog discards it or uses it for geolocation, and how long any derived data is kept, depends on the PostHog project dashboard settings.
You can ask about retention or request deletion by email. Because visits are anonymous by default, I may need the anonymous visitor ID from your browser to locate a specific record.
How your choice works
Your preference is saved in this browser's localStorage. If you allow analytics, PostHog may also store anonymous identifiers there. Nothing follows you to another browser or device, clearing site storage resets the choice, and Global Privacy Control or Do Not Track still overrides an allow choice.
Questions or data requests
For privacy questions, retention details, or a deletion request, contact me directly.