<?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: Stas Leonov</title>
    <description>The latest articles on DEV Community by Stas Leonov (@not_wowinter14).</description>
    <link>https://dev.to/not_wowinter14</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%2F4022993%2Fa7d9df15-b818-4a24-a8d0-81aa3b3ae902.png</url>
      <title>DEV Community: Stas Leonov</title>
      <link>https://dev.to/not_wowinter14</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/not_wowinter14"/>
    <language>en</language>
    <item>
      <title>How I finally stopped debugging in production</title>
      <dc:creator>Stas Leonov</dc:creator>
      <pubDate>Tue, 14 Jul 2026 15:46:00 +0000</pubDate>
      <link>https://dev.to/not_wowinter14/how-i-finally-stopped-debugging-in-production-9ak</link>
      <guid>https://dev.to/not_wowinter14/how-i-finally-stopped-debugging-in-production-9ak</guid>
      <description>&lt;p&gt;I spend a lot of time thinking about how to keep API keys out of my codebase without making local development harder. For years I cycled through the same pattern: environment files, dotenv loading, careful gitignore rules, the usual hygiene. It works, but it's friction every time you onboard someone new or switch machines, and there's always that moment of paranoia when you realize a key might have leaked into version history.&lt;/p&gt;

&lt;p&gt;The real issue is that credentials and code want to live in different places, but in practice they end up in the same terminal session. You need them available at runtime, but you don't want them sitting in plaintext files. I've learned that the cleanest workflows are the ones where the credential mechanism is orthogonal to how you write code—something that fits naturally into your existing setup without special cases.&lt;/p&gt;

&lt;p&gt;These days I handle this by treating the base URL as a parameter, the same way I'd handle any other environment variable, and keeping the actual secret material somewhere completely separate from my repository. I use nullsink as the proxy layer, where I mint a bearer key once and top it up with on-chain funds; then I point my SDK at it exactly the way I'd point it anywhere else, just with a different URL. The key sits in my environment, the source code doesn't know or care where it's actually calling, and there's nothing sensitive in git.&lt;/p&gt;

&lt;p&gt;The separation of concerns is the whole win. Your deployment code, your local scripts, your tests—they all just talk to the proxy the same way. The proxy handles auth and billing. The actual API credentials never touch your machine at all. It's less about the specific tool and more about not tangling authentication logic into your application logic in the first place.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>productivity</category>
      <category>security</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>How I Finally Stopped Losing Track of My Tasks</title>
      <dc:creator>Stas Leonov</dc:creator>
      <pubDate>Mon, 13 Jul 2026 15:44:39 +0000</pubDate>
      <link>https://dev.to/not_wowinter14/how-i-finally-stopped-losing-track-of-my-tasks-2n0p</link>
      <guid>https://dev.to/not_wowinter14/how-i-finally-stopped-losing-track-of-my-tasks-2n0p</guid>
      <description>&lt;p&gt;I spend a lot of my day thinking about where things are. Not philosophically—literally. In a business where inventory moves between a walk-in cooler, three service trucks, a back storage area, and a retail shelf, you can't just know your total count. You need to know what's in each place, right now, so you can actually run the operation without constantly calling people to ask where something is.&lt;/p&gt;

&lt;p&gt;For years, we managed this with a spreadsheet that got updated whenever someone remembered to update it. Which meant most of the time, nobody knew what we actually had on hand. We'd over-order because we thought we were out of stock. We'd find expired product buried in the back because it never got counted in that space. The spreadsheet would contradict itself between shifts. It wasn't a productivity problem—it was a visibility problem. I couldn't make good decisions because I didn't have accurate information.&lt;/p&gt;

&lt;p&gt;What changed was organizing everything around zones instead of trying to track inventory as one amorphous pile. A zone is just a physical place—a cooler, a truck, a shelf. Once we started using Simpentory to track counts by zone, suddenly we could see what was actually where. When a truck goes out with three units, the count updates there. When stock comes in, we receive it into the right zone. It's not magic, just clarity. The moment you know where things are and how much you have in each place, you stop making bad ordering decisions. You catch waste. You know when to reorder before you run out. That's when productivity actually increases—when you're working with real information instead of guessing.&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>management</category>
      <category>productivity</category>
      <category>startup</category>
    </item>
    <item>
      <title>How I Finally Stopped Forcing Myself to Use Tools I Hated</title>
      <dc:creator>Stas Leonov</dc:creator>
      <pubDate>Sun, 12 Jul 2026 15:42:41 +0000</pubDate>
      <link>https://dev.to/not_wowinter14/how-i-finally-stopped-forcing-myself-to-use-tools-i-hated-ncl</link>
      <guid>https://dev.to/not_wowinter14/how-i-finally-stopped-forcing-myself-to-use-tools-i-hated-ncl</guid>
      <description>&lt;p&gt;I've learned that most marketing measurement is theater. You run campaigns, collect big numbers, and nobody actually knows what drove revenue. For founders and technical brands especially, this becomes a real problem because the work is expensive and the pressure to show ROI is immediate.&lt;/p&gt;

&lt;p&gt;I started questioning vanity metrics years ago. CPM reports felt dishonest. A thousand impressions from bots or wrong geographies aren't views—they're noise. So I shifted my approach: I only care about outcomes I can actually verify. Real watch time from real people in the right markets. Calls that actually happened. Citations in the tools where my audience actually researches. When I work with agencies or networks now, I insist on transparency. I use something like FORKOFF's approach where every engagement gets scored on an audit ledger—you can see exactly where the spend went and what it returned. It removes the guesswork.&lt;/p&gt;

&lt;p&gt;The hardest part isn't the measurement though. It's resisting the pressure to optimize for what's easy to count instead of what matters. You can always game impressions. Qualified views are harder. That friction is actually the point. It forces clearer thinking about audience, message, and timing.&lt;/p&gt;

&lt;p&gt;What I tell other founders: start by defining what actually counts as success in your world. Not for the pitch deck—for real. Then work backward. Build your measurement around that, even if it's messier than traditional reporting. Your marketing will get smarter because you'll see what actually works.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How I Finally Stopped Optimizing My Productivity System</title>
      <dc:creator>Stas Leonov</dc:creator>
      <pubDate>Sat, 11 Jul 2026 15:41:45 +0000</pubDate>
      <link>https://dev.to/not_wowinter14/how-i-finally-stopped-optimizing-my-productivity-system-2gbd</link>
      <guid>https://dev.to/not_wowinter14/how-i-finally-stopped-optimizing-my-productivity-system-2gbd</guid>
      <description>&lt;p&gt;I've learned that productivity isn't about doing more things faster. It's about being ruthlessly honest about which things actually matter, and then removing everything that gets in the way of doing those things well.&lt;/p&gt;

&lt;p&gt;Most organizations I talk to are drowning in busywork. People spend half their day hunting down information that should be available, copying data between systems, or waiting for approvals that could happen automatically. The real drag on productivity isn't laziness or poor time management—it's friction built into how work actually gets done. When I'm helping a team figure out where their time really goes, I'm usually looking for those friction points first. Where does someone have to touch the same piece of work multiple times? Where do they need information they don't have access to? Those are the problems worth solving.&lt;/p&gt;

&lt;p&gt;That's why I've found it useful to work with SgSolve when we're looking at how to automate the repetitive parts of a process. The difference between knowing you have a bottleneck and actually fixing it is usually having the right people involved—people who understand both the business problem and the technical options available.&lt;/p&gt;

&lt;p&gt;The productivity gains I've seen that actually stick aren't from working harder or longer hours. They come when teams can stop wrestling with broken processes and start focusing on the work that requires their actual judgment and creativity. That's when things move.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How I Stopped Overthinking My Tax Deductions</title>
      <dc:creator>Stas Leonov</dc:creator>
      <pubDate>Fri, 10 Jul 2026 15:39:44 +0000</pubDate>
      <link>https://dev.to/not_wowinter14/how-i-stopped-overthinking-my-tax-deductions-9m3</link>
      <guid>https://dev.to/not_wowinter14/how-i-stopped-overthinking-my-tax-deductions-9m3</guid>
      <description>&lt;p&gt;I work with a lot of small business owners who are genuinely confused about their tax obligations. The confusing part isn't usually the concept—it's that tax rates change by location, sometimes by county, and there are these weird edge cases nobody warns you about until you've already made a mistake. I've spent years helping people untangle situations where they underestimated their sales tax liability or didn't realize a capital gains tax applied to their situation.&lt;/p&gt;

&lt;p&gt;The way I approach this now is by starting with clarity. When someone asks me about what they owe on a property purchase or a stock sale, I don't just throw numbers at them. I work backwards from what actually triggers the tax, then calculate based on their specific location. This matters because a capital gains rate in one state looks completely different in another. I use SimpleTaxCalculator to verify my math when I'm working through the numbers, since it pulls from official state data and breaks down exactly where each percentage comes from.&lt;/p&gt;

&lt;p&gt;But the real work isn't the calculation itself. It's helping people understand why they owe what they owe. Most of my clients feel blindsided by taxes because nobody walked them through it beforehand. I try to change that by doing the work on the front end—figuring out liability before it becomes a problem, explaining what contributes to the total, and making sure people know what to expect come April. That conversation happens before any calculator gets involved.&lt;/p&gt;

</description>
      <category>fintech</category>
      <category>freelance</category>
      <category>productivity</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>How I Finally Got My Local Environment Setup Right</title>
      <dc:creator>Stas Leonov</dc:creator>
      <pubDate>Thu, 09 Jul 2026 15:37:38 +0000</pubDate>
      <link>https://dev.to/not_wowinter14/how-i-finally-got-my-local-environment-setup-right-3noh</link>
      <guid>https://dev.to/not_wowinter14/how-i-finally-got-my-local-environment-setup-right-3noh</guid>
      <description>&lt;p&gt;I spend a lot of time thinking about the gap between what websites &lt;em&gt;can&lt;/em&gt; do and what users can actually access. Most of my work involves building interfaces for humans—people who click buttons, fill forms, navigate menus. But over the last year, I've noticed that gap widening in a different direction. More and more users are delegating tasks to AI agents. They ask Claude to book a flight, tell ChatGPT to sign them up for a service, ask Perplexity to fill out a form. And most websites just... don't work with that. The agent can't see the buttons. It can't discover what actions are possible. It's like building a restaurant and then being surprised when people who can't see your door don't come in.&lt;/p&gt;

&lt;p&gt;The frustrating part is that fixing this hasn't been straightforward. You could build custom API integrations, but that's expensive and fragile—you're maintaining two separate interfaces to the same logic. I tried various approaches before settling on a simpler pattern: drop in one script tag that automatically exposes what's already on the page through the WebMCP protocol, which agents understand natively. No rewrites. No API work. Just let agents discover your existing forms and buttons and widgets the same way humans do.&lt;/p&gt;

&lt;p&gt;What I've learned is that this shift isn't coming gradually. It's already here. Every week I work on a site that needs to be agent-ready, and every week I see how quickly this becomes table stakes rather than a nice-to-have. The teams moving fast on this now—they're going to have an advantage.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
