<?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: Andrew Perepechay</title>
    <description>The latest articles on DEV Community by Andrew Perepechay (@andrew_perepechay_ee25378).</description>
    <link>https://dev.to/andrew_perepechay_ee25378</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%2F4012663%2Fedd58748-84f0-4e34-8973-ec7d8913a86e.png</url>
      <title>DEV Community: Andrew Perepechay</title>
      <link>https://dev.to/andrew_perepechay_ee25378</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/andrew_perepechay_ee25378"/>
    <language>en</language>
    <item>
      <title>Dashboards That Save You From Burnout and Despair, or How I Keep Building My Online Game</title>
      <dc:creator>Andrew Perepechay</dc:creator>
      <pubDate>Tue, 21 Jul 2026 19:14:10 +0000</pubDate>
      <link>https://dev.to/andrew_perepechay_ee25378/dashboards-that-save-you-from-burnout-and-despair-or-how-i-keep-building-my-online-game-koc</link>
      <guid>https://dev.to/andrew_perepechay_ee25378/dashboards-that-save-you-from-burnout-and-despair-or-how-i-keep-building-my-online-game-koc</guid>
      <description>&lt;p&gt;If it weren't for dashboards, I think I would have abandoned my product by now. It seems that's exactly how vibe-coded projects die.&lt;/p&gt;

&lt;p&gt;(But mine isn't dead yet, so come and play.)&lt;/p&gt;

&lt;h2&gt;
  
  
  A product without users is like a plane without a pilot: cool, but useless
&lt;/h2&gt;

&lt;p&gt;When building any product, even with AI, it's important to remember a simple thing: the most functionally impressive product without users is a waste of time, effort, and money. And the worst product that has paying users is already a successful product.&lt;/p&gt;

&lt;h2&gt;
  
  
  I set up dashboards so I wouldn't have to guess
&lt;/h2&gt;

&lt;p&gt;To track the life of the product like a real product manager, I set up dashboards for metrics: retention, DAU, MAU, and a few more indicators. Technically, it's all built on events. The client sends a signal at every step of the player's journey: opened the site, entered a nickname, created or joined a lobby, started a game, finished it. The server aggregates this by day, and a separate admin panel turns the numbers into charts and a funnel. At one point the funnel showed more started games than players who entered the lobby. It turned out I was counting events, not unique players — and the same person could play several times a day. Now I try to make data-driven decisions, but without users and data it's still hard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dashboards save you from burnout
&lt;/h2&gt;

&lt;p&gt;If it weren't for these charts, I think I would have abandoned the project already. But when you see that someone actually came in and played a game, you feel a surge of motivation.&lt;/p&gt;

&lt;p&gt;I want to say a huge thank you to everyone who has already come in and played!&lt;/p&gt;

&lt;p&gt;This will probably resonate with many people who are just starting their product. Even one real user feels completely different from a big abstract number in someone else's case study.&lt;/p&gt;

&lt;h2&gt;
  
  
  One request to those who played
&lt;/h2&gt;

&lt;p&gt;If you played "Growing City," please write in the comments where you played from: at home, at work, on the subway. I have a hypothesis, but I can't test it without feedback. If I get enough answers, I'll definitely share what came of it in one of the next articles.&lt;/p&gt;

&lt;p&gt;And if you haven't played yet, come to &lt;a href="https://rastushiy-gorod.ru" rel="noopener noreferrer"&gt;https://rastushiy-gorod.ru&lt;/a&gt; and give it a try — it's free and requires no registration.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>ai</category>
      <category>showdev</category>
    </item>
    <item>
      <title>The Story of How Claude Called a Task Impossible and Then Built It Himself</title>
      <dc:creator>Andrew Perepechay</dc:creator>
      <pubDate>Sat, 18 Jul 2026 09:04:37 +0000</pubDate>
      <link>https://dev.to/andrew_perepechay_ee25378/the-story-of-how-claude-called-a-task-impossible-and-then-built-it-himself-44ib</link>
      <guid>https://dev.to/andrew_perepechay_ee25378/the-story-of-how-claude-called-a-task-impossible-and-then-built-it-himself-44ib</guid>
      <description>&lt;p&gt;Recently I decided to rebuild the mobile version of my game "Growing City" (&lt;a href="https://rastushiy-gorod.ru" rel="noopener noreferrer"&gt;https://rastushiy-gorod.ru&lt;/a&gt;). I wanted more than a responsive version of the desktop interface — a full mobile game screen with convenient controls and a proper layout of the main elements. I asked Claude to help with the implementation, but got a fairly confident answer: a task like this can't really be done in Cursor, you need a developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  "This can't be done in Cursor"
&lt;/h2&gt;

&lt;p&gt;The problem was quite real. The game was originally designed for a large screen: the card market, player actions, and information about cities and participants all fit fine on a computer monitor, but on a phone this whole structure started falling apart.&lt;/p&gt;

&lt;p&gt;The simplest path is to shrink everything down to the mobile screen. But that usually ends badly: tiny elements, awkward buttons, and the constant need to scroll.&lt;/p&gt;

&lt;p&gt;A different approach was needed: a separate mobile layout with its own logic for arranging elements. A header with the key information, the card market, a player panel, an action block, working with swipes and fixed interface areas. Claude assessed this as full-blown mobile client development and concluded that it couldn't be done without an experienced developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Someone else's opinion turned out to be more useful than mine
&lt;/h2&gt;

&lt;p&gt;Instead of wasting time arguing with the model, I opened ChatGPT and asked it to break the task down from an architectural angle: how best to organize the screen, which blocks to make independent, where to use fixed panels, how to handle mobile interaction. The result was a detailed implementation plan.&lt;/p&gt;

&lt;p&gt;I simply copied it and sent it to Claude. Without extra explanations or attempts to convince it that the task was actually doable. Claude analyzed the proposed structure, suggested its own corrections, and started implementing. In the end I got exactly that architecture: separate interface blocks, a bottom action panel, gesture controls, and a screen designed specifically for a smartphone rather than just a shrunken computer version. In other words, a task that had literally just looked "too big for Cursor" turned into an ordinary development iteration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't argue with AI — verify its answers
&lt;/h2&gt;

&lt;p&gt;The most interesting takeaway here isn't that Claude was wrong. That's normal: the model doesn't see the whole project the way a developer does, and it evaluates a task based only on the available context. The problem starts when you treat such an answer as a final verdict. AI can misjudge complexity, miss another approach, or assume a task requires far more resources than it actually does.&lt;/p&gt;

&lt;p&gt;In situations like these, it's better not to prove the model wrong but simply to get a second opinion and test the hypothesis in practice.&lt;/p&gt;

&lt;p&gt;The mobile version of "Growing City" is already live at &lt;a href="https://rastushiy-gorod.ru" rel="noopener noreferrer"&gt;https://rastushiy-gorod.ru&lt;/a&gt;. I'd be glad to get feedback on the interface, the game mechanics, and ideas for attracting the first users.&lt;/p&gt;

&lt;p&gt;And I'm curious: have you run into situations where AI first confidently said "this is impossible," and then, after you changed the approach, calmly solved the task? How often does that happen to you?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>How I Rebuilt the Mobile Version of My Free Online Game in a Single Day</title>
      <dc:creator>Andrew Perepechay</dc:creator>
      <pubDate>Sat, 18 Jul 2026 08:59:45 +0000</pubDate>
      <link>https://dev.to/andrew_perepechay_ee25378/how-i-rebuilt-the-mobile-version-of-my-free-online-game-in-a-single-day-202c</link>
      <guid>https://dev.to/andrew_perepechay_ee25378/how-i-rebuilt-the-mobile-version-of-my-free-online-game-in-a-single-day-202c</guid>
      <description>&lt;p&gt;When I built my free online game "Growing City" (&lt;a href="https://rastushiy-gorod.ru" rel="noopener noreferrer"&gt;https://rastushiy-gorod.ru&lt;/a&gt;), it only existed as a desktop version. The MVP was put together in three days, and at that point it was more important to test the core game mechanics than to worry about adapting it for smartphones. But once it came time to promote the game, one thing became obvious: the lack of a proper mobile version was the project's weakest spot. Most users come from their phones, and playing on mobile was simply uncomfortable. So I decided not to limit myself to cosmetic fixes and to completely rebuild the interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why you can't just shrink the desktop version
&lt;/h2&gt;

&lt;p&gt;The first option seemed obvious: take the existing interface and adapt it with media queries. It quickly became clear that this wouldn't produce a game for phones, but a shrunken copy of the desktop site. Everything technically fits on the screen, but it's inconvenient to use: elements are too small, there's too much information, and important actions constantly require zooming or extra taps.&lt;/p&gt;

&lt;p&gt;Instead, I rebuilt the very structure of the screen. Now the interface consists of independent blocks: the header, game progress, the card market, the player list, the action panel, and a bottom sheet. Each block adjusts itself to the available space rather than depending on the size of the whole screen.&lt;/p&gt;

&lt;p&gt;I also dropped the endless set of breakpoints for different phone models. Instead of dozens of conditions like "if the width is 390 pixels, do this," there are now a few logical interface states and adaptive typography that scales smoothly between them.&lt;/p&gt;

&lt;p&gt;It sounds fairly simple. In practice, it took several iterations before the system really started working reliably.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I had to remove the pretty icons
&lt;/h2&gt;

&lt;p&gt;At the same time, I wanted to make card advantages more visual. I added small icons that were supposed to explain card effects: where bonuses apply, who they affect, how they impact money, and what happens after a card is played. I thought it would become a small visual language that would let players read information faster. But after the first tests it turned out that almost no one understood these icons.&lt;/p&gt;

&lt;p&gt;The only exception was the money bag — it had long been used in the interface, so players recognized its meaning without fail. All the other icons only slowed the game down. During a match no one wants to figure out symbols — a player needs to make a decision quickly. In the end I removed most of the icons.&lt;/p&gt;

&lt;p&gt;Instead, I rewrote the effect descriptions. I didn't just shorten the text — I reworded each description so it could be read completely in a second, with no cut-off phrases or hidden continuations.&lt;/p&gt;

&lt;h2&gt;
  
  
  One bug I had to fix four times
&lt;/h2&gt;

&lt;p&gt;The most stubborn one was a bug with the market cards. First, empty space appeared under the grid; after fixing that, the cards unexpectedly collapsed to nearly zero height. Then the problem came back again.&lt;/p&gt;

&lt;p&gt;At some point I stopped trusting messages like "done" and started looking only at concrete values: the container height, the content height, and the difference between them. Once real numbers replaced descriptions, the cause showed up almost immediately. Sometimes the best way to find a bug is to stop discussing it in words and look at the data.&lt;/p&gt;

&lt;h2&gt;
  
  
  What came out of it
&lt;/h2&gt;

&lt;p&gt;Now "Growing City" is comfortable to play from a phone. There's a separate mobile layout, the bottom sheet works with familiar gestures, and the city-building progress is always in front of you rather than hidden behind extra taps.&lt;/p&gt;

&lt;p&gt;Of course, the interface work can't be considered finished. Any browser game keeps changing after the first users show up. But now it really is a mobile version of the game, not just a squeezed desktop page.&lt;/p&gt;

&lt;p&gt;On the same day, I also managed to deal with the site being blocked for some users at the provider level. That story turned out to be unexpectedly interesting — I'll tell it in the next article.&lt;/p&gt;

&lt;p&gt;If you have a couple of minutes, I'd be glad if you tried the free online game "Growing City" (&lt;a href="https://rastushiy-gorod.ru" rel="noopener noreferrer"&gt;https://rastushiy-gorod.ru&lt;/a&gt;) on your phone and wrote what works well and what still needs improvement. I really do read every piece of feedback — it's thanks to comments like these that the game gets better.&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>I Looked at My Game's Stats and Realized People Almost Can't Beat the Bots</title>
      <dc:creator>Andrew Perepechay</dc:creator>
      <pubDate>Sun, 05 Jul 2026 20:15:15 +0000</pubDate>
      <link>https://dev.to/andrew_perepechay_ee25378/i-looked-at-my-games-stats-and-realized-people-almost-cant-beat-the-bots-1j62</link>
      <guid>https://dev.to/andrew_perepechay_ee25378/i-looked-at-my-games-stats-and-realized-people-almost-cant-beat-the-bots-1j62</guid>
      <description>&lt;p&gt;Quick disclaimer: nothing is rigged. Bots don't get lucky dice rolls and have no hidden advantages. Everything available to a human is available to a bot, and vice versa.&lt;/p&gt;

&lt;h2&gt;
  
  
  Players Only Win 25% of Matches
&lt;/h2&gt;

&lt;p&gt;I recently looked at the stats for every game played and stumbled on a number that surprised me: real players win only 25% of matches.&lt;/p&gt;

&lt;p&gt;When I wrote the bot logic, I never expected this outcome. They were meant to fill empty lobby slots and give people a chance to practice before playing against humans, not to become the final boss.&lt;/p&gt;

&lt;p&gt;Either the bots play noticeably better than I thought during development, or people are making far less optimal decisions than I assumed.&lt;/p&gt;

&lt;p&gt;If you want to test yourself, the game lives here: rastushiy-gorod.ru. It'll be interesting to see whether you can improve humanity's overall stats.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I'm Not Adding Difficulty Levels Yet
&lt;/h2&gt;

&lt;p&gt;My first thought, of course, was to add a difficulty selector. But the more I think about it, the less I like the idea.&lt;/p&gt;

&lt;p&gt;This isn't a shooter where you can just lower the enemy's aim accuracy. In an economic card game, almost all the difficulty comes from decision-making. I want the bot to play honestly, and for players to beat it by understanding the game and building a strategy, not because the developer deliberately made it dumber.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Even Found This Out
&lt;/h2&gt;

&lt;p&gt;I recently rebuilt the analytics dashboard from scratch. Before, it mostly answered questions about the game itself: which cards get picked more often, which modes are more popular, and so on.&lt;/p&gt;

&lt;p&gt;It turned out to be far more interesting to look at the players: who wins, who loses, how many matches people play, where people drop off. Sometimes a single number tells you more about a product than a hundred of the developer's own impressions.&lt;/p&gt;

&lt;p&gt;I'm planning to write a separate article about the dashboard itself. If you have questions, leave them in the comments, I'll address them in one of the next articles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Now There's a Different Problem
&lt;/h2&gt;

&lt;p&gt;Most matches right now are one human plus several bots. When I first designed the game, I pictured it very differently. I wanted people to play against each other, with bots simply filling out the roster.&lt;/p&gt;

&lt;p&gt;In practice, a lot of people just start a game with bots.&lt;/p&gt;

&lt;p&gt;No matter how good the bots are, they're still bots. After a while their style becomes predictable, and the game gets less exciting. The real fun starts when you play with friends or random players, that's the experience I ultimately want to deliver.&lt;/p&gt;

&lt;p&gt;The game is still live at rastushiy-gorod.ru. If you play and beat a bot, consider it your personal contribution to a stat that currently isn't looking great for humanity.&lt;/p&gt;

&lt;p&gt;As always, I'm collecting feedback and would love to read your comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>gamedev</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How I Started Attracting International Players to My Game With AI Automation</title>
      <dc:creator>Andrew Perepechay</dc:creator>
      <pubDate>Sat, 04 Jul 2026 23:07:42 +0000</pubDate>
      <link>https://dev.to/andrew_perepechay_ee25378/how-i-started-attracting-international-players-to-my-game-with-ai-automation-114f</link>
      <guid>https://dev.to/andrew_perepechay_ee25378/how-i-started-attracting-international-players-to-my-game-with-ai-automation-114f</guid>
      <description>&lt;p&gt;In previous articles, I wrote about how I built a browser-based city-building game called "Growing City" in three days using AI, and then how I spent a couple of weeks polishing the lobby, bots, and interface. This time, I want to talk about something that could genuinely help a lot of people on the market.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2Fc901b00d-c869-5dd6-a730-b37fecb916f1%2F-%2Fscale_crop%2F592x%2F" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2Fc901b00d-c869-5dd6-a730-b37fecb916f1%2F-%2Fscale_crop%2F592x%2F" alt="International players" width="592" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A Game That Doesn't Care Who's Playing
&lt;/h2&gt;

&lt;p&gt;An economic city-building board game isn't tied to any particular region. The rules are exactly the same whether you're in Moscow, Madrid, or New York: roll the dice, build something, outplay your opponents. There's nothing in the mechanics themselves that only works for one audience.&lt;/p&gt;

&lt;p&gt;And yet the site was only available in one language. Not because I decided that on purpose — simply because when you're putting together an MVP in three days, you're not thinking about a three-language interface, you're thinking about making the thing work at all. But it started to feel wasteful to artificially cut off part of my audience with a language barrier that the game itself doesn't actually have.&lt;/p&gt;

&lt;h2&gt;
  
  
  Translating Isn't the Hard Part. It's Genuinely the Easiest Part
&lt;/h2&gt;

&lt;p&gt;Here's what I did on the technical side, briefly: every piece of interface text got moved into separate dictionary files — one for Russian, one for English, one for Spanish — all sharing the same set of keys. A "Buy" button isn't text hardcoded into the code; it's a key that gets swapped depending on the selected language. I also had to separate the card names the player sees (translatable) from the internal names the game engine uses for logic (which must never change). Otherwise, translating the interface would have quietly broken the game itself.&lt;/p&gt;

&lt;p&gt;The neat part was how I handled the default language. There's no need to ask the user anything on their first visit — the browser already knows what language the person's system is set to. Someone arrives with a Spanish OS, and the interface is instantly in Spanish, no extra click required. And if they manually switch the language afterward, that choice is remembered and never gets silently overwritten again.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Surprise: Not the Translation, But Everything Around It
&lt;/h2&gt;

&lt;p&gt;Writing an article isn't hard. Translating it into English and Spanish isn't hard either — that's literally one prompt. But after that comes exactly what I described in my first article: the difficulty shifts away from code and onto everything surrounding the product.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2Ff7a233ab-4c7d-5ff9-8f6a-f7d55f3640fe%2F-%2Fscale_crop%2F592x%2F" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2Ff7a233ab-4c7d-5ff9-8f6a-f7d55f3640fe%2F-%2Fscale_crop%2F592x%2F" alt="Publishing routine" width="592" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Publishing an article across a dozen different platforms for different audiences used to mean manually opening every single site, pasting in the text, and adjusting the headline to fit each community's format. Honestly, that routine was eating me alive — the kind of repetitive work you'd love to avoid entirely.&lt;/p&gt;

&lt;p&gt;That's where Claude for Chrome came in. It's a browser extension that can see the page in front of it and click, fill out forms, and publish content on its own. I just handed it a link to a finished article and asked it to post it to public platforms. Done — it was already live. Literally one prompt and about ten minutes, and the article was sitting on international platforms, kind of like this one (happy to write up the exact steps if anyone's curious — it's genuinely simple).&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;The game is still live at rastushiy-gorod.ru, now available in Russian, English, and Spanish depending on who's visiting. No registration required — you can play with friends, against bots, or get matched with a total stranger from the other side of the world in the same open lobby.&lt;/p&gt;

&lt;p&gt;International players have already started showing up. It's too early to draw conclusions, but I'll share numbers and early observations in the next article.&lt;/p&gt;

&lt;p&gt;As always, I'm collecting feedback and would love to hear your thoughts in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>gamedev</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I Launched an AI-Built Board Game — Here's What Happened Next</title>
      <dc:creator>Andrew Perepechay</dc:creator>
      <pubDate>Thu, 02 Jul 2026 18:36:40 +0000</pubDate>
      <link>https://dev.to/andrew_perepechay_ee25378/i-launched-an-ai-built-board-game-heres-what-happened-next-504h</link>
      <guid>https://dev.to/andrew_perepechay_ee25378/i-launched-an-ai-built-board-game-heres-what-happened-next-504h</guid>
      <description>&lt;p&gt;Not long ago I wrote about how I built a browser-based board game called "Growing City" in three days using AI — and how the hardest part wasn't the code at all. Some time has passed, and I wanted to share what happened next.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2F1a6fa1a7-1392-568b-b3f0-e960933f2e49%2F-%2Fscale_crop%2F592x%2F" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2F1a6fa1a7-1392-568b-b3f0-e960933f2e49%2F-%2Fscale_crop%2F592x%2F" alt="0 days without incidents - vibe coder" width="592" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Layout Bugs
&lt;/h2&gt;

&lt;p&gt;While vibe-coding solo, I only tested on my own screen, resolution, and browser. The problem surfaced as soon as real users joined with different setups: some people saw everything misaligned, some things got clipped, some cards overlapped each other.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2F6d3c5c33-b44b-591a-9429-aa1b7ca7563e%2F-%2Fscale_crop%2F592x%2F" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2F6d3c5c33-b44b-591a-9429-aa1b7ca7563e%2F-%2Fscale_crop%2F592x%2F" alt="This is how it looked on some screens" width="592" height="276"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;This is how it looked on some screens&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I had to rewrite the layout to use adaptive sizing so the game looks correct regardless of screen resolution. It should work now — but if something still looks off on your end, let me know and I'll fix it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bots Started Talking
&lt;/h2&gt;

&lt;p&gt;Another change, unrelated to bugs. The service started feeling more alive. Previously, bots just played: rolled dice, bought cards, said nothing. Now they react in the chat to what's happening in the game — if someone's building gets taken, if someone buys an expensive card or runs out of money.&lt;/p&gt;

&lt;p&gt;It's a small thing, but the game feels noticeably more lively. An empty game with silent bots versus a session where someone's commenting on what's happening in chat — it's a meaningfully different experience, even though the game itself is the same.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thank You to Early Players
&lt;/h2&gt;

&lt;p&gt;A special thanks to everyone who tried the game after my first article.&lt;/p&gt;

&lt;p&gt;And extra thanks to a user with the nickname SHAM, who pointed out that the game rules never said you can't buy multiple purple cards in a row — even though the game itself has that restriction. Fixed!&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;The project is still going. I'm thinking about ads and other ways to bring in players. Without new users, it's hard to get feedback — and without feedback, it's hard to know what to fix or improve first.&lt;/p&gt;

&lt;p&gt;The unit economics don't quite work out yet: paid acquisition costs more than I'm willing to invest at this stage. I'll keep figuring it out. If you have ideas on how to find players for a project like this, I'd genuinely love to hear them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Want to Play?
&lt;/h2&gt;

&lt;p&gt;The game is still live at &lt;a href="https://rastushiy-gorod.ru" rel="noopener noreferrer"&gt;rastushiy-gorod.ru&lt;/a&gt;. No registration needed.&lt;/p&gt;

&lt;p&gt;Same as before — all feedback gets read and used. That's how the project keeps moving forward.&lt;/p&gt;

</description>
      <category>gamedevaishowdevstartup</category>
    </item>
    <item>
      <title>I Built a Board Game in 3 Days with AI — and Realized Code Was the Easiest Part</title>
      <dc:creator>Andrew Perepechay</dc:creator>
      <pubDate>Thu, 02 Jul 2026 18:34:06 +0000</pubDate>
      <link>https://dev.to/andrew_perepechay_ee25378/i-built-a-board-game-in-3-days-with-ai-and-realized-code-was-the-easiest-part-3ebi</link>
      <guid>https://dev.to/andrew_perepechay_ee25378/i-built-a-board-game-in-3-days-with-ai-and-realized-code-was-the-easiest-part-3ebi</guid>
      <description>&lt;p&gt;I love board games — especially the kind you can play without leaving home. You just call your friends, drop a link, and you're playing in minutes. At some point, I caught myself wondering: how realistic is it to build a complete game almost entirely with AI? Not a prototype, but something actually playable. I decided to find out.&lt;/p&gt;

&lt;p&gt;Three days later, I had a working browser-based board game: rooms, multiplayer, bots, chat, full game sessions.&lt;/p&gt;

&lt;p&gt;But the most interesting thing turned out to have nothing to do with AI writing code.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's the Game?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2F26f895bb-b1d5-5c52-ae19-af7d3f7d8ac6%2F-%2Fscale_crop%2F592x%2F" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2F26f895bb-b1d5-5c52-ae19-af7d3f7d8ac6%2F-%2Fscale_crop%2F592x%2F" alt="Growing City welcome screen" width="592" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The game is called "Growing City" (Растущий город). It's an economic board game about developing your own city. Each turn, players roll a die, buildings activate, income flows in, and you earn money to buy new structures. Gradually you build up enterprises, construct your economic engine, and race to complete all the key buildings before your opponents.&lt;/p&gt;

&lt;p&gt;You can play directly in the browser with no registration. I wanted the simplest possible entry: open the site, enter a nickname, create or join a room.&lt;/p&gt;

&lt;p&gt;If the mechanics seem familiar — you're not imagining it. I was inspired by a well-known city-building board game.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 1: AI Really Can Write Games
&lt;/h2&gt;

&lt;p&gt;I'm not a developer. I work in tech, but I don't code professionally. Over the past few months I've been experimenting heavily with vibe coding, so I decided to build this project the same way.&lt;/p&gt;

&lt;p&gt;I didn't start with code at all. First, I wrote out the mechanics in detail: what cards exist, how a turn plays out, what should happen in each situation. Once the logic settled, I started gradually converting the description into code using AI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2F2042c788-b376-583c-b9a5-dbafe6ca2574%2F-%2Fscale_crop%2F592x%2F" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2F2042c788-b376-583c-b9a5-dbafe6ca2574%2F-%2Fscale_crop%2F592x%2F" alt="Growing City game board" width="592" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 2: Writing the Game Was Just the Beginning
&lt;/h2&gt;

&lt;p&gt;When the first playable version appeared, it quickly became clear that the code was far from the hardest part. The biggest problem was &lt;strong&gt;balance&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you leave everything as-is, players find the single most profitable strategy within a few games and repeat it endlessly. I had to manually tweak card costs, adjust activation probabilities, revisit effects, and examine how different buildings interact. And here, AI doesn't really help.&lt;/p&gt;

&lt;p&gt;It can suggest ideas, it can rewrite code — but whether the game actually becomes &lt;em&gt;more fun&lt;/em&gt; after changing one number is something only a human can judge. I ended up spending more time on balance than on the initial working version of the game.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2Fba4df754-3d0b-5ef1-8b22-86cef41e5875%2F-%2Fscale_crop%2F592x%2F" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fleonardo.osnova.io%2Fba4df754-3d0b-5ef1-8b22-86cef41e5875%2F-%2Fscale_crop%2F592x%2F" alt="Growing City dice roll" width="592" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 3: Infrastructure Hurt More Than the Code
&lt;/h2&gt;

&lt;p&gt;Once the game worked locally, all that was left was the "easy part" — deploying it to a server. How wrong I was.&lt;/p&gt;

&lt;p&gt;SSH, Node.js, PM2, Nginx, SSL, domains... and a bunch of other unfamiliar words.&lt;/p&gt;

&lt;p&gt;I started with the cheapest VPS. Then I ran an AI agent directly on the server, editing code and deploying changes in real time. Predictable result: the server kept crashing.&lt;/p&gt;

&lt;p&gt;The lesson that followed was obvious in hindsight: developing directly on production, especially on a minimal VPS, is a bad idea. Sometimes the most useful lessons are the most basic ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Unexpected Conclusion
&lt;/h2&gt;

&lt;p&gt;When I started the project, I was sure the hard part would be writing the game. In practice, it was the opposite. Within a few days, I had a working product.&lt;/p&gt;

&lt;p&gt;Friends played it, found bugs, we fixed things and tweaked others. Then came the question AI handles much worse: &lt;em&gt;where do you find players?&lt;/em&gt; Code is easy to verify — either it works or it doesn't. Building an audience is a completely different challenge.&lt;/p&gt;

&lt;p&gt;Code has become much more accessible. You can ship an MVP very fast, especially if you're good at working with AI. But after that, a completely different kind of work begins.&lt;/p&gt;

&lt;p&gt;You need to find your first users, collect feedback, retain players, understand why they return or don't. And AI can't do that for you.&lt;/p&gt;

&lt;p&gt;This seems to be the key bottleneck for most vibe-coded projects right now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Want to Try It?
&lt;/h2&gt;

&lt;p&gt;The game is live at &lt;a href="https://rastushiy-gorod.ru" rel="noopener noreferrer"&gt;rastushiy-gorod.ru&lt;/a&gt;. No registration needed — just open it, create a room, and start playing. Solo against bots or with friends.&lt;/p&gt;

&lt;p&gt;If you give it a try, I'd really appreciate any feedback. Two things I'm most curious about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Was it clear what to do without digging into the rules?&lt;/li&gt;
&lt;li&gt;Did you find a strategy that breaks the balance?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I read every comment and keep iterating on the game. That's how the project is developing right now.&lt;/p&gt;

</description>
      <category>gamedevaiwebdevshowdev</category>
    </item>
  </channel>
</rss>
