<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Алексей Шангин</title>
    <description>The latest articles on DEV Community by Алексей Шангин (@__afa7c575bd).</description>
    <link>https://dev.to/__afa7c575bd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4225078%2F9ece8477-8c74-466d-a79c-49275fa8347b.jpg</url>
      <title>DEV Community: Алексей Шангин</title>
      <link>https://dev.to/__afa7c575bd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/__afa7c575bd"/>
    <language>en</language>
    <item>
      <title>Building social loops in a Telegram mini game: clans and raids</title>
      <dc:creator>Алексей Шангин</dc:creator>
      <pubDate>Wed, 04 Nov 2026 00:22:44 +0000</pubDate>
      <link>https://dev.to/__afa7c575bd/building-social-loops-in-a-telegram-mini-game-clans-and-raids-4f65</link>
      <guid>https://dev.to/__afa7c575bd/building-social-loops-in-a-telegram-mini-game-clans-and-raids-4f65</guid>
      <description>&lt;p&gt;Tap Tim is a free mini game that runs inside Telegram. You hatch a robot named Tim from an egg, tap to grow him, and guide him through 10 different forms. Tapping is the core action, so everything else is built to give those taps a shared purpose.&lt;/p&gt;

&lt;p&gt;The first social layer is clans. A clan is just a group of players with a shared identity and a common roster. Design-wise, it answers a simple question: why would I open the game again today? Because my clan is there. Technically, a clan is a record with members, and each player holds one clan id.&lt;/p&gt;

&lt;p&gt;The second layer is raids on bosses. A boss is a shared target that the whole clan works on together. Taps from members are added to the same progress bar, so even a casual player contributes something. The implementation idea is simple: store boss state on the server, add each member's contribution, and show the result when the boss falls.&lt;/p&gt;

&lt;p&gt;Telegram helps a lot here. Players are already inside the messenger, so there is no install step, and sharing a start link with a friend takes a few seconds. Deep links with a start parameter let you see which invitation brought a player in, without extra accounts.&lt;/p&gt;

&lt;p&gt;If you want to see how this feels in practice, try the bot: &lt;a href="https://t.me/NeuroTimBot?start=src_devto2" rel="noopener noreferrer"&gt;https://t.me/NeuroTimBot?start=src_devto2&lt;/a&gt; . More details about the game are on the about page: &lt;a href="https://ofd.unlock-rent.ru/timtapbot/about/en/" rel="noopener noreferrer"&gt;https://ofd.unlock-rent.ru/timtapbot/about/en/&lt;/a&gt; . Feedback on clan and raid design is welcome.&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>telegram</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Lessons from shipping a Telegram Mini App game solo</title>
      <dc:creator>Алексей Шангин</dc:creator>
      <pubDate>Tue, 03 Nov 2026 22:35:31 +0000</pubDate>
      <link>https://dev.to/__afa7c575bd/lessons-from-shipping-a-telegram-mini-app-game-solo-2enp</link>
      <guid>https://dev.to/__afa7c575bd/lessons-from-shipping-a-telegram-mini-app-game-solo-2enp</guid>
      <description>&lt;p&gt;I recently shipped a small game as a Telegram Mini App, working alone, and a few lessons stood out. Here is what I would tell myself before starting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start the flow inside a bot.&lt;/strong&gt; Players already live in Telegram, so the bot is the front door. A single /start message with a button that opens the Mini App beats any landing page. You can also pass a start parameter to see which post or channel a player came from.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Make onboarding take seconds.&lt;/strong&gt; Nobody wants a tutorial before the fun part. The first tap should already do something rewarding, and every other mechanic can be introduced later, one at a time, when the player is ready for it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Save progress as if the connection will drop.&lt;/strong&gt; Mobile networks are flaky and the webview can be closed at any moment. Write progress locally first, sync to the server when you can, and make the merge safe to repeat. Losing a player's progress is the fastest way to lose that player.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build social loops, not just a solo grind.&lt;/strong&gt; Clans and cooperative raids give people a reason to come back that has nothing to do with a timer. Telegram makes sharing and inviting easy, so use that instead of building your own friend system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Give players a long-term goal.&lt;/strong&gt; In my game, the robot Tim evolves through 10 forms. Seeing the next form on the horizon gives short sessions a bigger meaning, and it gives me a clear roadmap as a solo developer.&lt;/p&gt;

&lt;p&gt;If you want to see how it turned out, try the bot: &lt;a href="https://t.me/NeuroTimBot?start=src_devto" rel="noopener noreferrer"&gt;NeuroTimBot&lt;/a&gt;. More about the project is on the &lt;a href="https://ofd.unlock-rent.ru/timtapbot/about/en/" rel="noopener noreferrer"&gt;about page&lt;/a&gt;. I would be glad to hear how you handle onboarding and saving in your own Mini Apps.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>telegram</category>
      <category>gamedev</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
