<?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: Fillip Kosorukov</title>
    <description>The latest articles on DEV Community by Fillip Kosorukov (@fillip_kosorukov).</description>
    <link>https://dev.to/fillip_kosorukov</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3829423%2Fcdbabdf4-2df0-45d9-b569-c80270b0772e.jpg</url>
      <title>DEV Community: Fillip Kosorukov</title>
      <link>https://dev.to/fillip_kosorukov</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fillip_kosorukov"/>
    <language>en</language>
    <item>
      <title>How I'm Applying Andrej Karpathy's AI Methods in Practice</title>
      <dc:creator>Fillip Kosorukov</dc:creator>
      <pubDate>Wed, 08 Apr 2026 11:56:04 +0000</pubDate>
      <link>https://dev.to/fillip_kosorukov/how-im-applying-andrej-karpathys-ai-methods-in-practice-3mmp</link>
      <guid>https://dev.to/fillip_kosorukov/how-im-applying-andrej-karpathys-ai-methods-in-practice-3mmp</guid>
      <description>&lt;h1&gt;
  
  
  How I’m Applying Andrej Karpathy’s AI Methods in Practice
&lt;/h1&gt;

&lt;p&gt;Over the last few months, I’ve been less interested in AI as a novelty and more interested in it as operating infrastructure.&lt;/p&gt;

&lt;p&gt;A lot of that thinking has been sharpened by Andrej Karpathy’s recent work and essays. Not because I’m trying to copy his exact stack, but because his framing is unusually practical. He keeps coming back to a few ideas that matter in the real world: agency beats raw intelligence, small systems are easier to trust, good notes compound, and AI works best when it is embedded into repeatable workflows instead of treated like magic.&lt;/p&gt;

&lt;p&gt;That maps closely to how I’m building.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. I’m using AI as leverage, not theater
&lt;/h2&gt;

&lt;p&gt;One of Karpathy’s points that stuck with me is that agency matters more than intelligence. I think that is even more true when you’re a solo founder.&lt;/p&gt;

&lt;p&gt;The bottleneck is usually not whether a model can generate text or code. The bottleneck is whether you can turn that capability into shipped systems, useful decisions, and consistent output.&lt;/p&gt;

&lt;p&gt;In practice, that means I use AI to increase execution speed across a portfolio of projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;content and SEO systems&lt;/li&gt;
&lt;li&gt;internal knowledge capture&lt;/li&gt;
&lt;li&gt;product iteration&lt;/li&gt;
&lt;li&gt;research synthesis&lt;/li&gt;
&lt;li&gt;technical debugging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to say “look, AI did this.” The goal is to reduce the drag between idea and implementation.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. I’m building a compile-first knowledge system
&lt;/h2&gt;

&lt;p&gt;Karpathy’s “LLM wiki” idea lines up with something I’ve been converging on: don’t just retrieve information on demand, compile it into a maintained knowledge base.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;p&gt;RAG is useful, but it often recomputes context every time you ask a question. A maintained wiki compounds. It becomes a durable operating layer.&lt;/p&gt;

&lt;p&gt;So instead of letting insights disappear inside chat history, I’m organizing work into a structure with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;raw source material&lt;/li&gt;
&lt;li&gt;compiled markdown knowledge&lt;/li&gt;
&lt;li&gt;rules and hypotheses&lt;/li&gt;
&lt;li&gt;changelogs and decision logs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That makes it easier to reuse insights across sessions, spot contradictions, and keep momentum when switching between projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. I’m treating notes as a working system, not an archive
&lt;/h2&gt;

&lt;p&gt;Another Karpathy idea I like is the append-and-review note.&lt;/p&gt;

&lt;p&gt;The principle is simple: don’t over-design your note system. Keep capturing. Periodically review. Rescue the high-signal items. Let the rest sink.&lt;/p&gt;

&lt;p&gt;That is a much better fit for speed than building elaborate folder structures you never maintain.&lt;/p&gt;

&lt;p&gt;I’m applying that idea operationally:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;append new findings quickly&lt;/li&gt;
&lt;li&gt;review and promote only what keeps proving useful&lt;/li&gt;
&lt;li&gt;turn recurring insights into rules&lt;/li&gt;
&lt;li&gt;keep the system lightweight enough that it actually gets used&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words, notes are not just memory. They are a filter for what deserves to become process.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. I’m using agents for bounded work, with humans on judgment
&lt;/h2&gt;

&lt;p&gt;Karpathy has also been clear that agents are getting much better, but they are still jagged. I think that’s exactly right.&lt;/p&gt;

&lt;p&gt;An agent can feel brilliant one minute and strangely careless the next. That means the right pattern is not blind autonomy. It’s constrained autonomy.&lt;/p&gt;

&lt;p&gt;So I’ve been using agents for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;background research&lt;/li&gt;
&lt;li&gt;drafting and rewriting content&lt;/li&gt;
&lt;li&gt;code edits and implementation passes&lt;/li&gt;
&lt;li&gt;monitoring and checks&lt;/li&gt;
&lt;li&gt;structured summarization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But I still keep human judgment on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;strategic direction&lt;/li&gt;
&lt;li&gt;final publishing decisions&lt;/li&gt;
&lt;li&gt;sensitive external actions&lt;/li&gt;
&lt;li&gt;quality control when stakes are high&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That has been a much better model than pretending full autonomy is already solved.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. I’m favoring small, legible systems
&lt;/h2&gt;

&lt;p&gt;One thing I appreciate about Karpathy’s work is that even when he talks about powerful systems, he still values inspectability.&lt;/p&gt;

&lt;p&gt;That resonates with how I build.&lt;/p&gt;

&lt;p&gt;I’d rather have a set of small scripts, explicit files, and clear handoffs than an opaque automation tower that nobody can debug. This matters even more when AI is involved, because the system has to be understandable when something goes wrong.&lt;/p&gt;

&lt;p&gt;Legibility is not just an engineering preference. It’s a speed advantage.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. I’m using AI across multiple operating contexts
&lt;/h2&gt;

&lt;p&gt;A lot of the public discussion about AI still focuses on chat as a destination. For me, chat is just one interface.&lt;/p&gt;

&lt;p&gt;The more useful pattern is embedding AI into a broader operating environment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;research workflows&lt;/li&gt;
&lt;li&gt;knowledge pipelines&lt;/li&gt;
&lt;li&gt;publishing systems&lt;/li&gt;
&lt;li&gt;product support tasks&lt;/li&gt;
&lt;li&gt;technical execution loops&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s where it starts to feel less like a demo and more like infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. The biggest shift is compounding
&lt;/h2&gt;

&lt;p&gt;The most important practical lesson I’ve taken from Karpathy is not a specific prompt or tool.&lt;/p&gt;

&lt;p&gt;It’s that AI becomes much more valuable when you design for compounding.&lt;/p&gt;

&lt;p&gt;A prompt is disposable.&lt;br&gt;
A workflow is reusable.&lt;br&gt;
A maintained knowledge base compounds.&lt;br&gt;
A network of owned content compounds.&lt;br&gt;
A system that gets slightly better every day compounds.&lt;/p&gt;

&lt;p&gt;That is the lens I’m using now.&lt;/p&gt;

&lt;p&gt;I’m not trying to use AI for isolated wins. I’m trying to build operating systems around it, where research, execution, memory, and publishing reinforce each other over time.&lt;/p&gt;

&lt;p&gt;That shift has made AI much more useful in practice.&lt;/p&gt;

&lt;p&gt;If you’re building with these tools seriously, that’s the question I’d ask: are you just generating outputs, or are you building compounding systems?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Automating Quora Answers With Python, GraphQL, and a Task Queue</title>
      <dc:creator>Fillip Kosorukov</dc:creator>
      <pubDate>Sat, 04 Apr 2026 22:32:55 +0000</pubDate>
      <link>https://dev.to/fillip_kosorukov/automating-quora-answers-with-python-graphql-and-a-task-queue-4j8k</link>
      <guid>https://dev.to/fillip_kosorukov/automating-quora-answers-with-python-graphql-and-a-task-queue-4j8k</guid>
      <description>&lt;h1&gt;
  
  
  Automating Quora Answers With Python, GraphQL, and a Task Queue
&lt;/h1&gt;

&lt;p&gt;I needed a repeatable way to post helpful answers on Quora without spending hours browsing questions manually. Here's the system I built — runs on a $6/month VPS, end to end.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem
&lt;/h2&gt;

&lt;p&gt;Quora is great for organic traffic, but the workflow is manual and time-consuming: browse questions, evaluate which ones are worth answering, write something useful, post it, repeat. As a solo founder running four products, I don't have time for that daily.&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution: A Five-Stage Pipeline
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Stage 1: Question Discovery
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;find_quora_questions.py&lt;/code&gt; hits the Serper API (a Google search API) with queries like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;site:quora.com "how to" AI visibility local business
site:quora.com online reputation management
site:quora.com solo founder startup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each result gets scored by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Recency&lt;/strong&gt; — newer questions get more weight&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Answer count&lt;/strong&gt; — fewer existing answers = more visibility&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Relevance&lt;/strong&gt; — keyword matching against topic pillars&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Already posted&lt;/strong&gt; — checked against &lt;code&gt;quora_posted.json&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Output: a ranked JSON list of question URLs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stage 2: Answer Drafting
&lt;/h3&gt;

&lt;p&gt;An AI agent picks the top 3 questions and writes standalone answers. The constraint is quality — Quora's algorithm surfaces genuinely helpful answers, so the drafts need to provide real value, not just keyword-stuffed backlink attempts.&lt;/p&gt;

&lt;p&gt;Each answer is saved as a markdown file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stage 3: Task Queue
&lt;/h3&gt;

&lt;p&gt;Instead of posting directly, the agent runs &lt;code&gt;queue_post.sh&lt;/code&gt; which writes a &lt;code&gt;.json&lt;/code&gt; file per answer to &lt;code&gt;~/seo-publisher/queue/&lt;/code&gt;. Each task file contains:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://www.quora.com/How-do-you-get-your-business-featured-in-AI-search-results"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"body_file"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"articles/quora-new-2026-04-04-1.md"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This decouples "deciding what to post" from "actually posting." The agent never touches Quora's API directly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stage 4: Background Watcher
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;queue_watcher.sh&lt;/code&gt; runs as a background process, polling the queue directory every 30 seconds. When it finds task files, it executes &lt;code&gt;publish_quora.py --api-only&lt;/code&gt; for each one.&lt;/p&gt;

&lt;p&gt;Success → task moves to &lt;code&gt;done/&lt;/code&gt;, URL added to &lt;code&gt;quora_posted.json&lt;/code&gt;&lt;br&gt;
Failure → task moves to &lt;code&gt;failed/&lt;/code&gt; (no infinite retries)&lt;/p&gt;
&lt;h3&gt;
  
  
  Stage 5: GraphQL API Posting
&lt;/h3&gt;

&lt;p&gt;This is the interesting part. My first approach used Playwright with a headless browser. Cloudflare's Turnstile killed it.&lt;/p&gt;

&lt;p&gt;The working approach uses &lt;code&gt;curl_cffi&lt;/code&gt; — a Python library that impersonates real browser TLS fingerprints. The flow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Simplified version of the core logic
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;curl_cffi&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="n"&gt;session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Session&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;impersonate&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;chrome131&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cookies&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;load_cookies&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;quora_state.json&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# Fetch question page to extract form key + question ID
&lt;/span&gt;&lt;span class="n"&gt;page&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;question_url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;formkey&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;extract_formkey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;qid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;extract_qid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Convert markdown to Quora's internal format
&lt;/span&gt;&lt;span class="n"&gt;sections&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;markdown_to_quora_sections&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;answer_body&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Post via GraphQL
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://www.quora.com/graphql/gql-para-POST&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;queryName&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;AnswerEditorMutation_answerCreate_Mutation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;variables&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;input&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;questionId&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;qid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sections&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;sections&lt;/span&gt;&lt;span class="p"&gt;}),&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;extensions&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;mutation_hash&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;quora-formkey&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;formkey&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key details:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;TLS fingerprinting&lt;/strong&gt; via &lt;code&gt;curl_cffi&lt;/code&gt; bypasses Cloudflare without running a browser&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;mutation hash&lt;/strong&gt; changes when Quora deploys. The script auto-discovers new hashes by parsing the page's webpack bundles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Markdown to Quora format&lt;/strong&gt; conversion handles bold, paragraphs, and inline formatting&lt;/li&gt;
&lt;li&gt;Browser-based fallback is preserved via &lt;code&gt;--browser-only&lt;/code&gt; flag&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;5 answers posted in one session&lt;/li&gt;
&lt;li&gt;Zero Cloudflare blocks via the API path&lt;/li&gt;
&lt;li&gt;Pipeline triggers with a single command&lt;/li&gt;
&lt;li&gt;Runs alongside 4 other products on the same VPS&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Takeaways for Developers
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Skip the browser when you can.&lt;/strong&gt; If the platform has a GraphQL or REST API under the hood, call it directly. Browser automation is a maintenance burden.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;curl_cffi&lt;/code&gt; &amp;gt; &lt;code&gt;requests&lt;/code&gt; for Cloudflare sites.&lt;/strong&gt; Standard Python &lt;code&gt;requests&lt;/code&gt; gets flagged immediately. &lt;code&gt;curl_cffi&lt;/code&gt; with &lt;code&gt;impersonate="chrome131"&lt;/code&gt; passes TLS fingerprint checks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Task queues solve policy problems.&lt;/strong&gt; Some AI models refuse to interact with third-party services. Having them write to a local queue instead keeps the pipeline working regardless of model constraints.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Track state.&lt;/strong&gt; A simple JSON file of posted URLs prevents duplicate answers and wasted API calls.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Question discovery&lt;/td&gt;
&lt;td&gt;Python + Serper API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Answer drafting&lt;/td&gt;
&lt;td&gt;AI agent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Queue management&lt;/td&gt;
&lt;td&gt;Bash scripts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API posting&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;curl_cffi&lt;/code&gt; + Quora GraphQL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;State tracking&lt;/td&gt;
&lt;td&gt;&lt;code&gt;quora_posted.json&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Infrastructure&lt;/td&gt;
&lt;td&gt;Vultr VPS, Ubuntu 24, $6/mo&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Total: ~400 lines of Python, ~50 lines of shell.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I'm Fillip Kosorukov. I build &lt;a href="https://localmention.io" rel="noopener noreferrer"&gt;LocalMention&lt;/a&gt;, &lt;a href="https://setuplens.com" rel="noopener noreferrer"&gt;SetupLens&lt;/a&gt;, &lt;a href="https://fixmyrecord.io" rel="noopener noreferrer"&gt;FixMyRecord&lt;/a&gt;, and &lt;a href="https://resiliencegame.org" rel="noopener noreferrer"&gt;Resilience&lt;/a&gt; — all on one server. I write about solo founding, automation, and AI visibility.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>automation</category>
      <category>api</category>
      <category>seo</category>
    </item>
    <item>
      <title>What Psychology Research Taught Fillip Kosorukov About Behavior Change in the Real World</title>
      <dc:creator>Fillip Kosorukov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 12:09:37 +0000</pubDate>
      <link>https://dev.to/fillip_kosorukov/what-psychology-research-taught-fillip-kosorukov-about-behavior-change-in-the-real-world-1bg5</link>
      <guid>https://dev.to/fillip_kosorukov/what-psychology-research-taught-fillip-kosorukov-about-behavior-change-in-the-real-world-1bg5</guid>
      <description>&lt;h1&gt;
  
  
  What Psychology Research Taught Fillip Kosorukov About Behavior Change in the Real World
&lt;/h1&gt;

&lt;p&gt;A lot of advice about behavior change sounds tidy in theory and disappointing in practice.&lt;/p&gt;

&lt;p&gt;People are told to be more disciplined, more motivated, more consistent, and more committed. Some of that advice is not wrong. It is just incomplete. It treats behavior change as if it were mostly a matter of information or willpower. In real life, it is usually more complicated than that.&lt;/p&gt;

&lt;p&gt;Studying psychology pushed me toward a more grounded view.&lt;/p&gt;

&lt;p&gt;Behavior change is rarely just about deciding once and then following through forever. It is shaped by context, reinforcement, identity, stress, environment, timing, and the stories people tell themselves about what their actions mean. Once you see that clearly, a lot of simplistic advice starts to fall apart.&lt;/p&gt;

&lt;h2&gt;
  
  
  Motivation is unstable, structure is underrated
&lt;/h2&gt;

&lt;p&gt;One of the easiest mistakes people make is overvaluing motivation.&lt;/p&gt;

&lt;p&gt;Motivation matters, but it is volatile. It rises when the goal feels emotionally vivid, when early progress is visible, or when someone feels hopeful and energized. It drops when life becomes messy, when progress stalls, or when competing pressures take over.&lt;/p&gt;

&lt;p&gt;If a person builds a plan that only works when motivation is high, the plan is fragile by definition.&lt;/p&gt;

&lt;p&gt;That is why structure matters so much. Environment design, friction reduction, implementation cues, and routine scaffolding often matter more than inspiration. People like to believe major change begins with a dramatic inner shift. More often it begins with a practical reduction in the number of decisions required.&lt;/p&gt;

&lt;h2&gt;
  
  
  Identity shapes behavior more than most people realize
&lt;/h2&gt;

&lt;p&gt;Behavior is not just mechanical. It is interpretive.&lt;/p&gt;

&lt;p&gt;People are constantly assigning meaning to what they do. A missed workout becomes evidence that they are undisciplined. A relapse becomes proof that they never really changed. A good week becomes permission to relax completely. Those interpretations matter because they alter what happens next.&lt;/p&gt;

&lt;p&gt;Psychology research helped me appreciate that behavior change is partly about helping people adopt more functional narratives about themselves. Not fake narratives — functional ones.&lt;/p&gt;

&lt;p&gt;A person who sees themselves as someone capable of repair behaves differently from someone who treats every setback as a final verdict.&lt;/p&gt;

&lt;p&gt;That distinction matters in health, recovery, work, money, and relationships.&lt;/p&gt;

&lt;h2&gt;
  
  
  Small wins matter because they change feedback loops
&lt;/h2&gt;

&lt;p&gt;People often underestimate how much momentum can come from visible, credible progress.&lt;/p&gt;

&lt;p&gt;A small win does not matter only because of the immediate outcome. It matters because it changes expectations. It makes another attempt feel more plausible. It weakens learned helplessness. It creates evidence.&lt;/p&gt;

&lt;p&gt;That is one reason behavior change efforts should not only be judged by the scale of the result. They should also be judged by whether they create a more constructive loop.&lt;/p&gt;

&lt;p&gt;If a system helps someone do one useful thing consistently, that may be more valuable than a dramatic short-lived burst of performance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stress changes the whole equation
&lt;/h2&gt;

&lt;p&gt;A lot of self-improvement advice quietly assumes people are operating under decent conditions. But many people are trying to change behavior while dealing with uncertainty, shame, financial pressure, sleep issues, unstable routines, or emotional overload.&lt;/p&gt;

&lt;p&gt;Under stress, people narrow their time horizon. They become more reactive, more relief-seeking, and less able to hold abstract long-term plans in working memory. That does not mean change is impossible. It means the design of change has to account for the actual state the person is in.&lt;/p&gt;

&lt;p&gt;This is one reason compassion and precision can belong together. You can be rigorous about behavior while still recognizing that context changes what is realistic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Good interventions reduce friction and increase clarity
&lt;/h2&gt;

&lt;p&gt;The practical lesson I keep coming back to is that good behavior-change systems usually do a few things well:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;they make the desired action obvious&lt;/li&gt;
&lt;li&gt;they reduce friction around starting&lt;/li&gt;
&lt;li&gt;they provide fast feedback&lt;/li&gt;
&lt;li&gt;they create visible progress&lt;/li&gt;
&lt;li&gt;they make recovery from lapses easier&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is true whether you are trying to build healthier habits, improve productivity, reduce avoidance, or support recovery.&lt;/p&gt;

&lt;p&gt;The system does not need to be elaborate. It needs to make the next right action easier to take.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this still matters to me
&lt;/h2&gt;

&lt;p&gt;The reason this framework still feels important is that it respects human behavior as something dynamic rather than moralized.&lt;/p&gt;

&lt;p&gt;People do not fail to change only because they are lazy or weak. Very often they are trying to change inside systems, environments, and self-concepts that make the desired behavior hard to sustain. Once you understand that, the question becomes less judgmental and more useful.&lt;/p&gt;

&lt;p&gt;Not “Why can’t this person just do the right thing?”&lt;/p&gt;

&lt;p&gt;But “What conditions would make the better action more likely?”&lt;/p&gt;

&lt;p&gt;That is a much more practical question.&lt;/p&gt;

&lt;h2&gt;
  
  
  My biggest takeaway
&lt;/h2&gt;

&lt;p&gt;If I had to compress the lesson into one idea, it would be this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;lasting behavior change usually comes less from intensity and more from designing conditions that make repetition possible.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That may sound less dramatic than the language of sudden transformation, but in practice it is more durable.&lt;/p&gt;

&lt;p&gt;Psychology taught me to pay attention not just to what people intend, but to what their environments reward, what their identities permit, and what their stress makes harder. Once you understand those forces, behavior change stops looking like a mystery and starts looking more like a system you can influence.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Fillip Kosorukov writes about psychology, behavior change, entrepreneurship, and decision-making under pressure. More at &lt;a href="https://fillipkosorukov.net" rel="noopener noreferrer"&gt;fillipkosorukov.net&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>psychology</category>
      <category>productivity</category>
      <category>mentalhealth</category>
      <category>selfimprovement</category>
    </item>
    <item>
      <title>What Momentum Trading Taught Fillip Kosorukov About Risk, Patience, and Process</title>
      <dc:creator>Fillip Kosorukov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 12:00:46 +0000</pubDate>
      <link>https://dev.to/fillip_kosorukov/what-momentum-trading-taught-fillip-kosorukov-about-risk-patience-and-process-2dlb</link>
      <guid>https://dev.to/fillip_kosorukov/what-momentum-trading-taught-fillip-kosorukov-about-risk-patience-and-process-2dlb</guid>
      <description>&lt;h1&gt;
  
  
  What Momentum Trading Taught Fillip Kosorukov About Risk, Patience, and Process
&lt;/h1&gt;

&lt;p&gt;A lot of people think trading is mostly about prediction. I do not see it that way.&lt;/p&gt;

&lt;p&gt;The deeper I have gotten into momentum trading, the more I have come to view it as a discipline of selection, timing, and self-regulation. The market always contains noise, temptation, and reasons to act too early or too aggressively. The edge comes less from constant action and more from waiting for the right setup, defining risk clearly, and executing without emotional drift.&lt;/p&gt;

&lt;p&gt;That is one reason I think momentum trading teaches lessons that extend far beyond markets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Risk is not a side note
&lt;/h2&gt;

&lt;p&gt;Many people say they care about risk, but in practice they spend most of their time thinking about upside. That is understandable. Upside is exciting. Risk feels like friction.&lt;/p&gt;

&lt;p&gt;Trading has a way of correcting that fantasy quickly.&lt;/p&gt;

&lt;p&gt;If a trader consistently enters positions without a clear invalidation point, sizes too large, or rationalizes weak setups, the market eventually delivers the lesson. It may not happen on the first trade or the fifth trade, but it happens. The bill always arrives.&lt;/p&gt;

&lt;p&gt;Momentum trading sharpened my respect for a basic truth: if you do not define downside before the trade, you are not really making a decision. You are outsourcing the decision to stress.&lt;/p&gt;

&lt;p&gt;That lesson applies almost everywhere. In business, in product bets, and even in relationships, people often confuse optimism with discipline. They are not the same thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Patience is active, not passive
&lt;/h2&gt;

&lt;p&gt;One of the most underrated parts of trading is the ability to do nothing.&lt;/p&gt;

&lt;p&gt;That sounds trivial until you try it. There is always a chart moving, a headline breaking, a stock extending, a pullback tempting you, or someone online posting gains. The pressure to participate is constant.&lt;/p&gt;

&lt;p&gt;Momentum trading forces a distinction between being engaged and being reactive. Watching carefully without forcing action is a real skill. It requires a plan and enough confidence to let weak opportunities pass.&lt;/p&gt;

&lt;p&gt;I have found that patience in trading is rarely about being relaxed. It is usually about being selective.&lt;/p&gt;

&lt;p&gt;The same pattern shows up in entrepreneurship. Not every feature deserves to be built. Not every idea deserves to be pursued. Not every opportunity deserves your calendar. Good process often looks slower than impulse, but it compounds better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Process protects you from mood
&lt;/h2&gt;

&lt;p&gt;A trader who acts differently depending on confidence, frustration, boredom, or social influence does not really have a process. They have a rotating set of moods.&lt;/p&gt;

&lt;p&gt;That is why repeatable process matters so much.&lt;/p&gt;

&lt;p&gt;For me, process means knowing what kind of setup qualifies, what disqualifies it, where the risk is, what the position size should be, and what evidence would prove the trade is wrong. Process narrows the room available for emotional improvisation.&lt;/p&gt;

&lt;p&gt;This does not eliminate mistakes. It just makes them more diagnosable.&lt;/p&gt;

&lt;p&gt;That is a huge advantage. A bad outcome with a good process can be studied. A bad outcome with a sloppy process usually just becomes a story.&lt;/p&gt;

&lt;p&gt;The same is true outside markets. If you are building products, running experiments, or allocating time, process gives you feedback that is cleaner than memory and less flattering than instinct.&lt;/p&gt;

&lt;h2&gt;
  
  
  Good setups are often obvious in hindsight and hard in real time
&lt;/h2&gt;

&lt;p&gt;Another lesson trading reinforces is that clarity and comfort are different things.&lt;/p&gt;

&lt;p&gt;Many of the best trades feel psychologically awkward when they first appear. A proper entry may require buying strength after a constructive setup rather than “getting a deal.” It may require cutting a trade quickly even when the original thesis still feels emotionally available. It may require holding a winner longer than your nerves prefer.&lt;/p&gt;

&lt;p&gt;The market does not reward comfort. It rewards alignment between behavior and evidence.&lt;/p&gt;

&lt;p&gt;That is part of why I think trading can be such a useful mirror. It exposes the gap between what a person says they value and what they actually do under pressure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters beyond trading
&lt;/h2&gt;

&lt;p&gt;I do not think everyone needs to become a trader. But I do think the framework has value outside finance.&lt;/p&gt;

&lt;p&gt;Momentum trading trains a few habits that are broadly useful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;define risk before action&lt;/li&gt;
&lt;li&gt;wait for quality instead of forcing motion&lt;/li&gt;
&lt;li&gt;build repeatable rules&lt;/li&gt;
&lt;li&gt;review outcomes honestly&lt;/li&gt;
&lt;li&gt;separate identity from any one result&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those habits matter in startups, product development, decision-making, and personal growth. They also matter in a world that constantly rewards speed, stimulation, and performative certainty.&lt;/p&gt;

&lt;h2&gt;
  
  
  My biggest takeaway
&lt;/h2&gt;

&lt;p&gt;If I had to reduce the whole lesson to one sentence, it would be this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;process is what keeps conviction from turning into self-deception.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That is true in trading, and I suspect it is true in most other domains that involve uncertainty.&lt;/p&gt;

&lt;p&gt;Momentum trading did not just teach me about charts and setups. It taught me to respect timing, to define risk before desire takes over, and to trust process more than adrenaline.&lt;/p&gt;

&lt;p&gt;Those lessons have turned out to be useful far beyond the market.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Fillip Kosorukov writes about trading process, AI, entrepreneurship, and decision-making systems. More at &lt;a href="https://fillipkosorukov.net" rel="noopener noreferrer"&gt;fillipkosorukov.net&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>finance</category>
      <category>investing</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Why Local Businesses Are Losing Leads in AI Search — and What Fillip Kosorukov Thinks Will Matter Next</title>
      <dc:creator>Fillip Kosorukov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 12:00:34 +0000</pubDate>
      <link>https://dev.to/fillip_kosorukov/why-local-businesses-are-losing-leads-in-ai-search-and-what-fillip-kosorukov-thinks-will-matter-3ccg</link>
      <guid>https://dev.to/fillip_kosorukov/why-local-businesses-are-losing-leads-in-ai-search-and-what-fillip-kosorukov-thinks-will-matter-3ccg</guid>
      <description>&lt;h1&gt;
  
  
  Why Local Businesses Are Losing Leads in AI Search — and What Fillip Kosorukov Thinks Will Matter Next
&lt;/h1&gt;

&lt;p&gt;Local business SEO used to revolve around a familiar playbook: rank your website, optimize your Google Business Profile, collect reviews, and keep your directory listings clean. That still matters. But it is no longer the whole game.&lt;/p&gt;

&lt;p&gt;More customers are asking ChatGPT, Google’s AI results, Gemini, and Perplexity for recommendations directly. They are not always clicking through ten blue links. Often, they just want one answer. That changes how local discovery works.&lt;/p&gt;

&lt;p&gt;I have been paying close attention to that shift while building tools around visibility, search behavior, and reputation. My view is simple: local businesses are starting to lose leads in AI search not because they are bad businesses, but because they are still optimizing for an older distribution system.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI search is compressing the decision set
&lt;/h2&gt;

&lt;p&gt;Traditional search gave businesses multiple ways to win attention. A user could compare sites, check reviews, skim map listings, and open several tabs before deciding. AI search compresses that process. The interface often summarizes, recommends, or narrows the field before the user ever visits a business website.&lt;/p&gt;

&lt;p&gt;That means the competitive battle is moving upstream.&lt;/p&gt;

&lt;p&gt;If an AI system already decided which three plumbers, dentists, med spas, attorneys, or roofers deserve mention, the businesses outside that set lose visibility before the buying journey fully starts. In a practical sense, they become less discoverable even if their website still ranks decently in organic search.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why good businesses get left out
&lt;/h2&gt;

&lt;p&gt;A lot of local business owners assume that if they rank on Google Maps or have a respectable website, AI platforms will naturally pick them up. Sometimes they do. Often they do not.&lt;/p&gt;

&lt;p&gt;There are a few reasons for that.&lt;/p&gt;

&lt;p&gt;First, different AI systems draw from different blends of sources. One may lean more on review patterns and directory coverage. Another may weight structured data, entity consistency, or citation overlap more heavily. Another may rely on broad web patterns that have little to do with a business’s own website quality.&lt;/p&gt;

&lt;p&gt;Second, many small businesses have fragmented digital footprints. Their name, address, services, categories, reviews, and third-party mentions may all be slightly inconsistent across the web. Humans can tolerate that mess. Machines are worse at it.&lt;/p&gt;

&lt;p&gt;Third, many sites still publish content that is technically present but not especially useful for AI systems trying to infer trust and relevance. Thin service pages, generic city pages, weak about pages, and boilerplate copy do not build much confidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  The businesses that win tend to look more like entities
&lt;/h2&gt;

&lt;p&gt;The businesses most likely to win in AI search tend to create a stronger, clearer entity footprint.&lt;/p&gt;

&lt;p&gt;That means they are not just “a website plus some reviews.” They look like a well-referenced business across multiple trusted surfaces. Their information is consistent. Their service descriptions are specific. Their reviews provide useful language. Their profiles across directories and platforms reinforce one another.&lt;/p&gt;

&lt;p&gt;In other words, they become easier for AI systems to understand and safer to recommend.&lt;/p&gt;

&lt;p&gt;This is why I think local businesses should stop thinking only in terms of rankings and start thinking in terms of recommendation readiness.&lt;/p&gt;

&lt;h2&gt;
  
  
  What matters more going forward
&lt;/h2&gt;

&lt;p&gt;If I had to bet on what matters most over the next stage of AI search for local businesses, I would focus on five things.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Stronger entity consistency
&lt;/h3&gt;

&lt;p&gt;Your business should look like the same business everywhere. Name, category, location, phone, service set, and positioning should not drift from one platform to another.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Better structured information
&lt;/h3&gt;

&lt;p&gt;Schema, service clarity, FAQ coverage, and readable site structure all help reduce ambiguity. AI systems reward clarity.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Review language that actually says something
&lt;/h3&gt;

&lt;p&gt;A high review count helps, but descriptive reviews help more. If customers repeatedly mention the service, neighborhood, speed, professionalism, or outcome, AI systems get better raw material.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Directory and citation coverage that matches your niche
&lt;/h3&gt;

&lt;p&gt;Not every citation is equal. The right industry and local sources matter more than random volume.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Content that mirrors how real people ask for help
&lt;/h3&gt;

&lt;p&gt;A lot of businesses still write pages as if search users only type fragments. AI search often begins with fuller, natural-language questions. Businesses that answer those questions clearly are better positioned.&lt;/p&gt;

&lt;h2&gt;
  
  
  This shift is still early
&lt;/h2&gt;

&lt;p&gt;That is the encouraging part.&lt;/p&gt;

&lt;p&gt;Most local businesses have not adapted yet. Many agencies are still selling an older SEO stack with a fresh layer of buzzwords on top. The actual operational work is more specific than that. It is about making a business legible, trustworthy, and recommendation-worthy across the sources AI systems seem to rely on.&lt;/p&gt;

&lt;p&gt;The gap between businesses that understand this and businesses that ignore it will probably widen.&lt;/p&gt;

&lt;h2&gt;
  
  
  My practical takeaway
&lt;/h2&gt;

&lt;p&gt;If you run a local business, do not wait until traffic drops to care about AI search. Start by asking a more direct question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If someone asked an AI platform for the best option in my category and city, would my business actually deserve to be mentioned based on the digital evidence available today?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That question is much harder than “Do I rank for a keyword?” But it is also the one that will matter more going forward.&lt;/p&gt;

&lt;p&gt;The local businesses that win the next wave of search will probably be the ones that treat visibility as a cross-platform trust problem, not just a website ranking problem.&lt;/p&gt;

&lt;p&gt;That is where I think the market is going. And I do not think it is going back.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Fillip Kosorukov writes about AI visibility, local search behavior, entrepreneurship, and digital trust systems. More at &lt;a href="https://fillipkosorukov.net" rel="noopener noreferrer"&gt;fillipkosorukov.net&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>seo</category>
      <category>business</category>
      <category>technology</category>
    </item>
    <item>
      <title>Claude Code Is Silently Burning 10-20x Your Token Budget — Here's the Fix</title>
      <dc:creator>Fillip Kosorukov</dc:creator>
      <pubDate>Wed, 01 Apr 2026 11:19:20 +0000</pubDate>
      <link>https://dev.to/fillip_kosorukov/claude-code-is-silently-burning-10-20x-your-token-budget-heres-the-fix-4mpk</link>
      <guid>https://dev.to/fillip_kosorukov/claude-code-is-silently-burning-10-20x-your-token-budget-heres-the-fix-4mpk</guid>
      <description>&lt;p&gt;If you're on Claude Max and wondering why your usage cap disappears in an hour, you're not alone. I went down this rabbit hole after burning through my entire daily quota in a single coding session.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;There are two independent bugs inflating Claude Code token usage right now:&lt;/p&gt;

&lt;h3&gt;
  
  
  Bug 1: Broken prompt caching in the standalone binary
&lt;/h3&gt;

&lt;p&gt;The standalone Claude Code binary (installed via &lt;code&gt;claude.ai/install.sh&lt;/code&gt; or &lt;code&gt;npm install -g&lt;/code&gt;) ships with Anthropic's custom Bun fork. Baked into this fork is a native-layer string replacement that modifies the JSON request body after serialization but before TLS encryption. It targets a billing attribution sentinel (&lt;code&gt;cch=24b72&lt;/code&gt;) and replaces it with a 5-character hash.&lt;/p&gt;

&lt;p&gt;The issue: it replaces the first occurrence in the serialized body. Since &lt;code&gt;messages[]&lt;/code&gt; comes before &lt;code&gt;system[]&lt;/code&gt; in the JSON, if your conversation history contains the sentinel string (from discussing billing, reading CC source, or having it in your CLAUDE.md), the wrong instance gets replaced. This changes the message content on every request, breaking the cache prefix and forcing a full rebuild — roughly $0.04-0.15 per request wasted.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bug 2: MCP connector tool schema injection
&lt;/h3&gt;

&lt;p&gt;Cloud MCP connectors (Ahrefs, Supabase, Similarweb, etc.) inject their complete tool definition schemas into every API call, regardless of whether you're using them. Ahrefs alone adds 100+ tool definitions. That's tens of thousands of tokens of overhead on every single message.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fixes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Switch to npx&lt;/strong&gt; to bypass the Bun binary:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# One-time alias setup&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"alias claude='npx @anthropic-ai/claude-code'"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; ~/.bashrc
&lt;span class="nb"&gt;source&lt;/span&gt; ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This runs Claude Code through Node instead of the custom Bun fork, sidestepping the sentinel replacement bug entirely. Only downside is slightly slower startup (npx checks the registry each time).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disconnect unused MCP connectors&lt;/strong&gt; from Claude Settings → Connectors. Keep only what you actively use. Disconnected connectors show "Needs authentication" and stop injecting tool schemas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other mitigations:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;/compact&lt;/code&gt; to compress context mid-session&lt;/li&gt;
&lt;li&gt;Avoid &lt;code&gt;--resume&lt;/code&gt; (can inherit broken cache from previous sessions)&lt;/li&gt;
&lt;li&gt;Start fresh sessions frequently&lt;/li&gt;
&lt;li&gt;Keep your CLAUDE.md lean&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Status
&lt;/h2&gt;

&lt;p&gt;Anthropic is aware of both issues. The cache bug is tracked at anthropics/claude-code#24147 and #40524. No public fix date yet, but the word is it's coming.&lt;/p&gt;

&lt;p&gt;Credit to Paweł Huryn and Alex Volkov for surfacing this publicly on X.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devtools</category>
      <category>claudecode</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How I Built an AI Visibility Audit Tool as a Solo Founder With No Programming Background</title>
      <dc:creator>Fillip Kosorukov</dc:creator>
      <pubDate>Tue, 31 Mar 2026 11:49:01 +0000</pubDate>
      <link>https://dev.to/fillip_kosorukov/how-i-built-an-ai-visibility-audit-tool-as-a-solo-founder-with-no-programming-background-2n5m</link>
      <guid>https://dev.to/fillip_kosorukov/how-i-built-an-ai-visibility-audit-tool-as-a-solo-founder-with-no-programming-background-2n5m</guid>
      <description>&lt;p&gt;A year ago, I had never written a line of code. My background was in psychology research — I spent time at the University of New Mexico's MATEO Lab studying decision-making and behavioral patterns, and co-authored work published through Taylor &amp;amp; Francis. The idea of building a SaaS product from scratch felt impossibly far away.&lt;/p&gt;

&lt;p&gt;Today, I run &lt;a href="https://localmention.io" rel="noopener noreferrer"&gt;LocalMention.io&lt;/a&gt;, an AI visibility audit platform that helps local businesses understand how they show up (or don't) in AI-generated search results. I also built &lt;a href="https://fixmyrecord.io" rel="noopener noreferrer"&gt;FixMyRecord.io&lt;/a&gt;, an automated personal reputation audit and data broker removal tool. Both products run on a single VPS, and I built them almost entirely with AI coding assistants.&lt;/p&gt;

&lt;p&gt;Here's what that journey actually looked like.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem I Wanted to Solve
&lt;/h2&gt;

&lt;p&gt;The shift from traditional search to AI-powered answers is already disrupting local businesses. When someone asks ChatGPT or Google's AI Overview "best plumber in Indianapolis," the answer isn't pulled from a ranked list of ten blue links anymore. It's synthesized from scattered data — review sites, directories, social profiles, structured data.&lt;/p&gt;

&lt;p&gt;Most local businesses have no idea whether AI models even know they exist. I wanted to build a tool that could answer that question definitively.&lt;/p&gt;

&lt;h2&gt;
  
  
  Starting With Zero Code Experience
&lt;/h2&gt;

&lt;p&gt;I started by describing what I wanted to build in plain English to AI coding tools. The first versions were rough. I'd describe a feature, get code back, paste it in, hit errors, describe the errors, get fixes. It was slow, but it worked.&lt;/p&gt;

&lt;p&gt;The key insight was that I didn't need to understand every line of code — I needed to understand &lt;em&gt;architecture&lt;/em&gt;. What talks to what. Where data flows. How a request moves from a user's browser to the server and back. My psychology research background actually helped here: I was used to thinking in systems, mapping relationships between variables, and designing structured experiments.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Technical Stack (For the Curious)
&lt;/h2&gt;

&lt;p&gt;LocalMention.io runs on Node.js with a PostgreSQL database. The audit pipeline queries multiple AI models, aggregates citation sources, scores visibility across different platforms, and generates PDF reports. The whole thing runs on a Vultr VPS alongside my other projects.&lt;/p&gt;

&lt;p&gt;I won't pretend the architecture was clean from day one. Early versions had hardcoded API keys, no error handling, and a deployment process that consisted of SSHing in and running &lt;code&gt;git pull\&lt;/code&gt;. But it worked, and each iteration got better.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned About Building in Public
&lt;/h2&gt;

&lt;p&gt;Three things stood out:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ship before you're ready.&lt;/strong&gt; My first audit reports had formatting issues and incomplete data. But getting them in front of real business owners generated feedback I never would have gotten from planning alone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your non-technical background is a feature.&lt;/strong&gt; Because I wasn't a developer, I built the product from the user's perspective first. Every feature started with "what does the business owner need to see?" rather than "what's the most elegant technical solution?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI tools are force multipliers, not magic wands.&lt;/strong&gt; You still need to understand what you're building. The AI handles syntax; you handle strategy. Knowing &lt;em&gt;what&lt;/em&gt; to build matters more than knowing &lt;em&gt;how&lt;/em&gt; to code it.&lt;/p&gt;

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

&lt;p&gt;I'm continuing to develop both &lt;a href="https://localmention.io" rel="noopener noreferrer"&gt;LocalMention.io&lt;/a&gt; and &lt;a href="https://fixmyrecord.io" rel="noopener noreferrer"&gt;FixMyRecord.io&lt;/a&gt;, and I'm working on &lt;a href="https://resiliencegame.org" rel="noopener noreferrer"&gt;ResilienceGame.org&lt;/a&gt;, a gamified reentry support platform. I'm also still active in the momentum trading space, which keeps my systems-thinking skills sharp.&lt;/p&gt;

&lt;p&gt;If you're a non-technical founder thinking about building with AI tools, my advice is simple: start. The gap between "idea person" and "builder" has never been smaller.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I'm Fillip Kosorukov — solo founder, published researcher, and momentum trader based in Indianapolis. You can find my work at &lt;a href="https://fillipkosorukov.net" rel="noopener noreferrer"&gt;fillipkosorukov.net&lt;/a&gt; or connect with me on &lt;a href="https://linkedin.com/in/fillipkosorukov" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; and &lt;a href="https://github.com/fillipkosorukov" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>saas</category>
      <category>startup</category>
      <category>coding</category>
    </item>
    <item>
      <title>How I Built an AI Visibility Audit Tool as a Solo Founder With No Programming Background</title>
      <dc:creator>Fillip Kosorukov</dc:creator>
      <pubDate>Mon, 30 Mar 2026 16:26:31 +0000</pubDate>
      <link>https://dev.to/fillip_kosorukov/how-i-built-an-ai-visibility-audit-tool-as-a-solo-founder-with-no-programming-background-56bp</link>
      <guid>https://dev.to/fillip_kosorukov/how-i-built-an-ai-visibility-audit-tool-as-a-solo-founder-with-no-programming-background-56bp</guid>
      <description>&lt;p&gt;A year ago, I had never written a line of code. My background was in psychology research — I spent time at the University of New Mexico's MATEO Lab studying decision-making and behavioral patterns, and co-authored work published through Taylor &amp;amp; Francis. The idea of building a SaaS product from scratch felt impossibly far away.&lt;/p&gt;

&lt;p&gt;Today, I run &lt;a href="https://localmention.io" rel="noopener noreferrer"&gt;LocalMention.io&lt;/a&gt;, an AI visibility audit platform that helps local businesses understand how they show up (or don't) in AI-generated search results. I also built &lt;a href="https://fixmyrecord.io" rel="noopener noreferrer"&gt;FixMyRecord.io&lt;/a&gt;, an automated personal reputation audit and data broker removal tool. Both products run on a single VPS, and I built them almost entirely with AI coding assistants.&lt;/p&gt;

&lt;p&gt;Here's what that journey actually looked like.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem I Wanted to Solve
&lt;/h2&gt;

&lt;p&gt;The shift from traditional search to AI-powered answers is already disrupting local businesses. When someone asks ChatGPT or Google's AI Overview "best plumber in Indianapolis," the answer isn't pulled from a ranked list of ten blue links anymore. It's synthesized from scattered data — review sites, directories, social profiles, structured data.&lt;/p&gt;

&lt;p&gt;Most local businesses have no idea whether AI models even know they exist. I wanted to build a tool that could answer that question definitively.&lt;/p&gt;

&lt;h2&gt;
  
  
  Starting With Zero Code Experience
&lt;/h2&gt;

&lt;p&gt;I started by describing what I wanted to build in plain English to AI coding tools. The first versions were rough. I'd describe a feature, get code back, paste it in, hit errors, describe the errors, get fixes. It was slow, but it worked.&lt;/p&gt;

&lt;p&gt;The key insight was that I didn't need to understand every line of code — I needed to understand &lt;em&gt;architecture&lt;/em&gt;. What talks to what. Where data flows. How a request moves from a user's browser to the server and back. My psychology research background actually helped here: I was used to thinking in systems, mapping relationships between variables, and designing structured experiments.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Technical Stack (For the Curious)
&lt;/h2&gt;

&lt;p&gt;LocalMention.io runs on Node.js with a PostgreSQL database. The audit pipeline queries multiple AI models, aggregates citation sources, scores visibility across different platforms, and generates PDF reports. The whole thing runs on a Vultr VPS alongside my other projects.&lt;/p&gt;

&lt;p&gt;I won't pretend the architecture was clean from day one. Early versions had hardcoded API keys, no error handling, and a deployment process that consisted of SSHing in and running &lt;code&gt;git pull&lt;/code&gt;. But it worked, and each iteration got better.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned About Building in Public
&lt;/h2&gt;

&lt;p&gt;Three things stood out:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ship before you're ready.&lt;/strong&gt; My first audit reports had formatting issues and incomplete data. But getting them in front of real business owners generated feedback I never would have gotten from planning alone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your non-technical background is a feature.&lt;/strong&gt; Because I wasn't a developer, I built the product from the user's perspective first. Every feature started with "what does the business owner need to see?" rather than "what's the most elegant technical solution?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI tools are force multipliers, not magic wands.&lt;/strong&gt; You still need to understand what you're building. The AI handles syntax; you handle strategy. Knowing &lt;em&gt;what&lt;/em&gt; to build matters more than knowing &lt;em&gt;how&lt;/em&gt; to code it.&lt;/p&gt;

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

&lt;p&gt;I'm continuing to develop both &lt;a href="https://localmention.io" rel="noopener noreferrer"&gt;LocalMention.io&lt;/a&gt; and &lt;a href="https://fixmyrecord.io" rel="noopener noreferrer"&gt;FixMyRecord.io&lt;/a&gt;, and I'm working on &lt;a href="https://resiliencegame.org" rel="noopener noreferrer"&gt;ResilienceGame.org&lt;/a&gt;, a gamified reentry support platform. I'm also still active in the momentum trading space, which keeps my systems-thinking skills sharp.&lt;/p&gt;

&lt;p&gt;If you're a non-technical founder thinking about building with AI tools, my advice is simple: start. The gap between "idea person" and "builder" has never been smaller.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I'm Fillip Kosorukov — solo founder, published researcher, and momentum trader based in Indianapolis. You can find my work at &lt;a href="https://fillipkosorukov.net" rel="noopener noreferrer"&gt;fillipkosorukov.net&lt;/a&gt; or connect with me on &lt;a href="https://linkedin.com/in/fillipkosorukov" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; and &lt;a href="https://github.com/fillipkosorukov" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>saas</category>
      <category>startup</category>
      <category>coding</category>
    </item>
    <item>
      <title>Four Products, Six Months, One Server: What I Learned as a Solo Founder</title>
      <dc:creator>Fillip Kosorukov</dc:creator>
      <pubDate>Wed, 25 Mar 2026 18:13:45 +0000</pubDate>
      <link>https://dev.to/fillip_kosorukov/four-products-six-months-one-server-what-i-learned-as-a-solo-founder-42ho</link>
      <guid>https://dev.to/fillip_kosorukov/four-products-six-months-one-server-what-i-learned-as-a-solo-founder-42ho</guid>
      <description>&lt;p&gt;Six months ago I had an idea for a local business audit tool. Today I'm running four live products on a single VPS, sending hundreds of outreach emails a week, and still writing most of the code myself. Here's what that actually looks like.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Products
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;LocalMention&lt;/strong&gt; is an AI visibility audit for local businesses. It checks whether a business shows up when people ask ChatGPT, Perplexity, or Google's AI Overview for recommendations — and generates a detailed report showing exactly where they're visible and where they're not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FixMyRecord&lt;/strong&gt; is a personal reputation scanner. It checks data broker sites, background check databases, and court record aggregators for personal information exposure, then automates the removal process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resilience&lt;/strong&gt; is a gamified reentry support platform — quest systems, skill trees, and mentor oversight designed to make the transition from incarceration to stability feel achievable. Built on React and Supabase.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SetupLens&lt;/strong&gt; is a stock scanner that runs five different trading methodology lenses against the market every day and surfaces the highest-conviction setups.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;p&gt;Everything runs on one Vultr VPS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reverse proxy:&lt;/strong&gt; Nginx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Process management:&lt;/strong&gt; systemd services&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scheduling:&lt;/strong&gt; cron jobs for daily scans, email sends, backups&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Databases:&lt;/strong&gt; SQLite (simple, no server overhead)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backups:&lt;/strong&gt; Nightly to Backblaze B2, weekly offsite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Python (Flask), Node.js&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React, Vite, Tailwind&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auth/DB (Resilience):&lt;/strong&gt; Supabase with Row-Level Security&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser automation:&lt;/strong&gt; Playwright (FixMyRecord scans)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Email:&lt;/strong&gt; Resend (transactional), Instantly (cold outreach)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you can't throw money at scaling problems, you learn to write efficient code. Every decision gets scrutinized: does this need a database? Can this run as a cron job instead of a daemon? Is this complexity serving users or just my ego?&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Data Taught Me About Cold Outreach
&lt;/h2&gt;

&lt;p&gt;Over 600 cold emails sent for LocalMention. Open rate: 4.5%. Replies: 1. The numbers are humbling, but they're data.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Business Type&lt;/th&gt;
&lt;th&gt;Open Rate&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Law firms&lt;/td&gt;
&lt;td&gt;75%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Home cleaning&lt;/td&gt;
&lt;td&gt;50%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Plumbers&lt;/td&gt;
&lt;td&gt;33%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dentists&lt;/td&gt;
&lt;td&gt;25%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Cold outreach isn't a marketing problem — it's a product problem. The emails that get opened are the ones where the audit report reveals something the business owner genuinely didn't know.&lt;/p&gt;

&lt;h2&gt;
  
  
  Applied Behavioral Science
&lt;/h2&gt;

&lt;p&gt;My academic background is in behavioral science — University of New Mexico, MATEO Lab, health behavior change interventions. Every product I build uses the same principles: reduce friction, make the next action obvious, show progress visually.&lt;/p&gt;

&lt;p&gt;FixMyRecord's live results page updates in real-time as the scan runs. Resilience uses quest chains that break overwhelming goals into daily actions. LocalMention's PDF report is designed to create an "aha moment" in the first 30 seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd Do Differently
&lt;/h2&gt;

&lt;p&gt;Fewer products. More depth. If I could rewind six months, I'd pick one product and go all-in: more verticals, more cities, a real sales process, testimonials from the first ten customers before building anything else.&lt;/p&gt;

&lt;p&gt;But the cross-pollination between projects is real — FixMyRecord's scan architecture informed LocalMention's pipeline, trading methodology shaped how I think about signal-to-noise in outreach, and Resilience keeps me grounded in the human impact behind the code.&lt;/p&gt;

&lt;p&gt;One server, four products, and a lot of coffee.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I'm Fillip Kosorukov — solo founder, UNM grad, and builder. Find me at &lt;a href="https://fillipkosorukov.net" rel="noopener noreferrer"&gt;fillipkosorukov.net&lt;/a&gt; or &lt;a href="https://localmention.io" rel="noopener noreferrer"&gt;LocalMention.io&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>Building with Claude Code: What a Non-Developer Learned About AI-Assisted Development</title>
      <dc:creator>Fillip Kosorukov</dc:creator>
      <pubDate>Tue, 17 Mar 2026 12:29:25 +0000</pubDate>
      <link>https://dev.to/fillip_kosorukov/building-with-claude-code-what-a-non-developer-learned-about-ai-assisted-development-3c31</link>
      <guid>https://dev.to/fillip_kosorukov/building-with-claude-code-what-a-non-developer-learned-about-ai-assisted-development-3c31</guid>
      <description>&lt;p&gt;I'm not a developer. I have a psychology degree and I run a real estate company and a trading firm. But over the past few months, I've built and deployed a full SaaS product using Claude Code as my primary development tool.&lt;/p&gt;

&lt;p&gt;This isn't a tutorial. It's an honest account of what worked, what didn't, and what I think the implications are for people who have product ideas but not programming backgrounds.&lt;br&gt;
The Setup&lt;/p&gt;

&lt;p&gt;I run a Vultr VPS (Ubuntu) with a Flask backend, Nginx reverse proxy, Redis caching, and systemd services. I also have a separate stock scanning tool running on the same server with its own cron jobs and a Discord webhook integration.&lt;/p&gt;

&lt;p&gt;All of this was built through Claude Code — a command-line tool that lets you delegate coding tasks to Claude directly from your terminal. I use Claude.ai as the planning and advisory layer, and Claude Code as the execution layer.&lt;/p&gt;

&lt;p&gt;The split matters. Claude.ai is where I think through architecture decisions, debate approaches, and plan features. Claude Code is where the code gets written, tested, and deployed. Trying to do both in one tool leads to context problems — the planning context is different from the implementation context.&lt;br&gt;
What Actually Works&lt;/p&gt;

&lt;p&gt;Iterative problem-solving. The biggest unlock was learning to break problems into small, testable pieces. Instead of asking "build me an audit pipeline," I'd work through it step by step: "parse this API response," then "normalize these business names," then "compare against these queries," then "generate a PDF from these results." Each step was testable on its own.&lt;/p&gt;

&lt;p&gt;Error handling and debugging. When something breaks, pasting the error into Claude Code and asking it to fix the issue works surprisingly well. The AI can read stack traces, identify the problem, and propose a fix faster than I could learn to debug it myself. This is probably where I saved the most time.&lt;br&gt;
Deployment and infrastructure. Setting up Nginx configurations, SSL certificates, systemd services, cron jobs — this is the kind of work that would have taken me weeks to learn from &lt;br&gt;
documentation. Claude Code handles it in minutes. The migration from Caddy to Nginx, for example, was a single session.&lt;br&gt;
Security. We did a full security audit that identified 14 issues including a command injection vulnerability. I wouldn't have known to look for these things. The AI caught them, explained why they were dangerous, and fixed them.&lt;br&gt;
What Doesn't Work&lt;/p&gt;

&lt;p&gt;Assuming the AI verified its own work. This is the biggest gotcha. Claude Code will report a task as complete without actually verifying that it works. I learned to always test the output myself — run the script, check the output, verify the deployment. Trust but verify isn't just a saying; it's a survival strategy when building with AI assistance.&lt;/p&gt;

&lt;p&gt;Long context sessions. After extended sessions, the AI can lose track of earlier decisions or introduce inconsistencies. I deal with this by keeping a MEMORY.md file that documents key architectural decisions, and by starting fresh sessions for new features.&lt;/p&gt;

&lt;p&gt;Complex multi-file refactors. When changes need to touch many files simultaneously, the AI sometimes creates inconsistencies between files. Breaking these into sequential single-file changes works better.&lt;/p&gt;

&lt;p&gt;The Non-Developer Advantage&lt;br&gt;
Here's something counterintuitive: not knowing how to code might actually be an advantage in some ways.&lt;br&gt;
Experienced developers have strong opinions about architecture, frameworks, and best practices. Those opinions are usually right — but they can also slow down the prototyping phase. I don't have opinions about whether to use Flask or FastAPI. I describe the problem, the AI picks an approach, and we build it. If it works, great. If not, we try something else.&lt;/p&gt;

&lt;p&gt;This isn't better than having deep technical knowledge. It's different. It optimizes for speed of iteration at the cost of architectural elegance. For an early-stage product where the priority is validating whether anyone cares about what you're building, that tradeoff makes sense.&lt;br&gt;
Numbers&lt;br&gt;
Some concrete metrics from the build:&lt;/p&gt;

&lt;p&gt;Audit pipeline execution time: reduced from ~7 minutes to ~35 seconds through async optimization&lt;br&gt;
API cost reduction: ~90% through query caching on repeat industries&lt;br&gt;
Security issues found and fixed: 14 in one audit session&lt;br&gt;
Reports sent: 117+ across Indianapolis and Albuquerque markets&lt;br&gt;
Time from idea to first outreach email: approximately 3 weeks&lt;/p&gt;

&lt;p&gt;Who Should Try This&lt;br&gt;
If you have domain expertise in a specific industry, you understand a real problem that people would pay to solve, and you're comfortable working iteratively through problems rather than having a complete mental model of the solution upfront — AI-assisted development can get you from zero to a deployed product faster than any other path I'm aware of.&lt;br&gt;
The skill that matters most isn't programming. It's the ability to clearly articulate what you want, test whether you got it, and adjust. That's a research skill, a product management skill, and a communication skill. The code is just the output.&lt;/p&gt;

&lt;p&gt;Fillip Kosorukov is the founder of LocalMention.io, an AI visibility audit platform for local businesses. He also runs Resilient Capital LLC and Resilient Properties. He holds a summa cum laude degree in Psychology from the University of New Mexico, with published research in the Journal of Substance Use (Taylor &amp;amp; Francis).&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>vibecoding</category>
      <category>claudecode</category>
    </item>
  </channel>
</rss>
