<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Ramine Darabiha · Blog</title>
  <subtitle>Side projects, experiments, and case studies from Ramine Darabiha, product and R&amp;D leader. New things I build, often with AI as the build partner.</subtitle>
  <link href="https://ramine.net/blog" />
  <link href="https://ramine.net/atom.xml" rel="self" type="application/atom+xml" />
  <id>https://ramine.net/blog</id>
  <updated>2026-06-25T00:00:00.000Z</updated>
  <author>
    <name>Ramine Darabiha</name>
    <email>ramine@ramine.net</email>
    <uri>https://ramine.net/</uri>
  </author>
  <generator>ramine.net prerender</generator>
  <entry>
    <title>Spatial Gallery</title>
    <link href="https://ramine.net/blog/spatial-gallery" />
    <id>https://ramine.net/blog/spatial-gallery</id>
    <published>2026-06-25T00:00:00.000Z</published>
    <updated>2026-06-25T00:00:00.000Z</updated>
    <summary>A walk-through 3D museum of my work, native on Apple Vision Pro and browsable in any browser.</summary>
    <content type="html">&lt;p&gt;&lt;img src="https://ramine.net/previews/spatial-gallery.webp" alt="Spatial Gallery" /&gt;&lt;/p&gt;
&lt;p&gt;A spatial edition of this site: a coved-rotunda gallery you move through, with the projects, talks, and writing hung as art and each talk playing as full video while you stand in front of it.&lt;/p&gt;
&lt;p&gt;The same scene runs two ways. On Apple Vision Pro it enters a true immersive WebXR session driven by gaze and pinch, room-scale, with the gallery taking over your view. Everywhere else it is a flat, mouse and touch navigable 3D scene in the page (the embed on the left).&lt;/p&gt;
&lt;p&gt;It is also a study in shipping real-time 3D with AI as the build partner. A few of the harder parts:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Locomotion that does not make you sick.&lt;/strong&gt; Turning is a continuous, one-to-one grab of the world done by offsetting the WebXR reference space, with the maths arranged so it can never feed back into a runaway spin. Teleport-to-where-you-look replaces walking.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;A frame budget that holds 90fps on the M2.&lt;/strong&gt; Foveated rendering, a headset-only quality tier, and selecting only the two nearest videos to decode at any moment, which also removed a full-view flash on every head turn.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Talks that play in-headset.&lt;/strong&gt; A YouTube embed cannot render inside WebXR, so the full talks are self-hosted and streamed from Cloudflare R2 onto video planes, with tap for sound and drag to seek.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Most portfolios describe the work. This one lets you stand inside it.&lt;/p&gt;</content>
    <category term="WebXR" />
    <category term="three.js" />
    <category term="Apple Vision Pro" />
    <category term="AI-built" />
  </entry>
  <entry>
    <title>Retro Radio</title>
    <link href="https://ramine.net/blog/retro-radio" />
    <id>https://ramine.net/blog/retro-radio</id>
    <published>2026-06-20T00:00:00.000Z</published>
    <updated>2026-06-20T00:00:00.000Z</updated>
    <summary>A retro-styled web radio you can tune and play, built as a small AI-assisted experiment.</summary>
    <content type="html">&lt;p&gt;&lt;img src="https://ramine.net/previews/retro-radio.webp" alt="Retro Radio" /&gt;&lt;/p&gt;
&lt;p&gt;A retro-styled web radio, live at radio.ramine.net and embedded here so you can tune it without leaving the page.&lt;/p&gt;
&lt;p&gt;It started as a vibe-coded experiment and is becoming its own product, with a proper name and home of its own.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;More on how it was built coming soon.&lt;/em&gt;&lt;/p&gt;</content>
    <category term="Web Audio" />
    <category term="AI-built" />
  </entry>
  <entry>
    <title>Building ramine.net</title>
    <link href="https://ramine.net/blog/ramine-net" />
    <id>https://ramine.net/blog/ramine-net</id>
    <published>2026-06-18T00:00:00.000Z</published>
    <updated>2026-06-18T00:00:00.000Z</updated>
    <summary>The novel techniques behind this site, from a live citation engine to a spatial WebXR edition.</summary>
    <content type="html">&lt;p&gt;&lt;img src="https://ramine.net/previews/ramine-net.webp" alt="Building ramine.net" /&gt;&lt;/p&gt;
&lt;p&gt;This site is itself a side project: a place to try ideas about how a portfolio should work, and a test bed for building polished things quickly with AI. A few of the less obvious pieces:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A citation engine.&lt;/strong&gt; Claims across the site can carry numbered citations that renumber themselves per view, so the evidence stays consistent no matter which page you land on and nothing has to be tracked by hand.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;An ask-anywhere evidence console.&lt;/strong&gt; A small AI surface that answers questions about my work by composing sourced, cited answers from the underlying corpus, rather than from a model's memory. It is gated behind a private entry so the public site stays clean.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A WebGL home.&lt;/strong&gt; The landing experience leads with real-time 3D rather than a wall of text, with the chrome kept to plain DOM for accessibility and speed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A spatial edition.&lt;/strong&gt; The whole site is also a walk-through WebXR gallery for Apple Vision Pro. That is its own Lab entry: the &lt;a href="https://ramine.net/lab/spatial-gallery"&gt;Spatial Gallery&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Built to be fast and durable.&lt;/strong&gt; Every route is prerendered to static HTML with no single-page fallback, so each page resolves and is crawlable on a cold load, and all media runs through a pipeline that emits modern formats with inline placeholders and fallbacks.&lt;/p&gt;
&lt;p&gt;The throughline: use AI to take an idea to a working, well-crafted product, then keep the bar high on performance, accessibility, and taste.&lt;/p&gt;</content>
    <category term="React" />
    <category term="WebGL" />
    <category term="AI" />
  </entry>
</feed>
