<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://avgrebenkin.com/</loc>
    <lastmod>2026-08-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/og-cover.jpg</image:loc>
      <image:title>Aleksei Grebenkin — iOS and full-stack engineer, founder of Speak-Y</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/avgrebenkin_avatar.jpg</image:loc>
      <image:title>Portrait of Aleksei Grebenkin</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/speak-y/01_main_screen.webp</image:loc>
      <image:title>Speak-Y app — list of voice notes and transcripts</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/speak-y/02_recording.webp</image:loc>
      <image:title>Speak-Y app — recording a voice note with live waveform</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/speak-y/03_custom_keyboard.webp</image:loc>
      <image:title>Speak-Y app — custom voice keyboard for dictating into any iOS app</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/speak-y/04_ai_smart_mode.webp</image:loc>
      <image:title>Speak-Y app — AI smart mode settings for cleaning up dictated text</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/speak-y/05_ai_result.webp</image:loc>
      <image:title>Speak-Y app — dictated speech turned into formatted text by AI</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/speak-y/06_cross-device_sync.webp</image:loc>
      <image:title>Speak-Y app — cross-device sync between macOS, Windows and iOS</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/ryadom/phone1.webp</image:loc>
      <image:title>Ryadom app — nearby feed with posts from local people and businesses</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/ryadom/phone2.webp</image:loc>
      <image:title>Ryadom app — business profile with map location and loyalty programme</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/ryadom/phone3.webp</image:loc>
      <image:title>Ryadom app — post with photo and video gallery, likes and comments</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/ryadom/phone4.webp</image:loc>
      <image:title>Ryadom app — full-screen media viewer with reactions and comments</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/ryadom/phone5.webp</image:loc>
      <image:title>Ryadom app — long-form post from a local business</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/ryadom/phone6.webp</image:loc>
      <image:title>Ryadom app — QR check-in and VIP loyalty card for subscribers</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/babydayka/screenshot_feed_en.webp</image:loc>
      <image:title>Babydayka app — family feed of baby photos and milestones</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/babydayka/screenshot_private_posts_en.webp</image:loc>
      <image:title>Babydayka app — private posts visible only to invited family</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/babydayka/screenshot_measurement_graphs_en.webp</image:loc>
      <image:title>Babydayka app — height and weight growth graphs</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/babydayka/screenshot_keep_health_en.webp</image:loc>
      <image:title>Babydayka app — health and vaccination tracking</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/babydayka/screenshot_celebrate_achievements_en.webp</image:loc>
      <image:title>Babydayka app — baby development milestones</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/babydayka/screenshot_likes_and_comments_en.webp</image:loc>
      <image:title>Babydayka app — likes and comments from family members</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/babydayka/screenshot_subscription_by_invitation_en.webp</image:loc>
      <image:title>Babydayka app — invite-only subscription to a child's journal</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/talks/speak-y-cofounder-meeting.jpg</image:loc>
      <image:title>Aleksei Grebenkin presenting Speak-Y at the Co-Founder Meeting in Batumi, March 2026</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/talks/method-dispatch-in-swift.jpg</image:loc>
      <image:title>Aleksei Grebenkin speaking on method dispatch in Swift at the iOS meetup in Tbilisi, October 2023</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/ramble-sessions.webp</image:loc>
      <image:title>Ramble sessions: the technique finally has a name</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/autonomous-agents-risk.webp</image:loc>
      <image:title>This one actually felt like Skynet</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/hugging-face-breach.webp</image:loc>
      <image:title>An AI broke into Hugging Face. Here is what actually happened.</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/llm-attribution-gap.webp</image:loc>
      <image:title>Marketing has an attribution gap, and nobody has closed it</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/dictation-productivity.webp</image:loc>
      <image:title>What actually moved my productivity this year</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/context-engineering.webp</image:loc>
      <image:title>Context engineering is the defining skill of 2026</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/context-before-code.webp</image:loc>
      <image:title>Context before code</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/ai-code-capacity.webp</image:loc>
      <image:title>AI-generated code is becoming an infrastructure problem</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/pay-transparency.webp</image:loc>
      <image:title>Open salary ranges: I like the direction</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/productivity-panic.webp</image:loc>
      <image:title>Productivity panic: AI made cognitive load higher, not lower</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/spec-driven-development.webp</image:loc>
      <image:title>Spec-driven development will become the norm</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/engineering-fundamentals.webp</image:loc>
      <image:title>The entry bar dropped. The quality bar went up.</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/ide-vs-terminal.webp</image:loc>
      <image:title>IDE or terminal: where programming is actually moving</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/my-stack.webp</image:loc>
      <image:title>My stack in 2026</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/notes/prompting-bottleneck.webp</image:loc>
      <image:title>Your keyboard is the bottleneck</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://avgrebenkin.com/research/</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/research/find-your-city.jpg</image:loc>
      <image:title>Find your city — a globe of 303 cities, each dot sized by its score</image:title>
    </image:image>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/research/cities-globe.webp</image:loc>
      <image:title>Globe with 303 cities marked as dots, sized by score</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://avgrebenkin.com/research/cities/</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://avgrebenkin.com/images/research/find-your-city.jpg</image:loc>
      <image:title>Find your city — 303 cities, twelve metrics, your weights</image:title>
    </image:image>
  </url>
</urlset>
