<?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: Behram</title>
    <description>The latest articles on DEV Community by Behram (@behruamm).</description>
    <link>https://dev.to/behruamm</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%2F2368943%2F2df4aacd-f8bd-4967-8dc0-86373082b2e1.jpeg</url>
      <title>DEV Community: Behram</title>
      <link>https://dev.to/behruamm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/behruamm"/>
    <language>en</language>
    <item>
      <title>Are You Actually Using Claude Code Well? I Built a Free Scorer Based on Anthropic's Own Research</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Tue, 02 Jun 2026 15:03:32 +0000</pubDate>
      <link>https://dev.to/behruamm/are-you-actually-using-claude-code-well-i-built-a-free-scorer-based-on-anthropics-own-research-4bbj</link>
      <guid>https://dev.to/behruamm/are-you-actually-using-claude-code-well-i-built-a-free-scorer-based-on-anthropics-own-research-4bbj</guid>
      <description>&lt;p&gt;Most developers using Claude Code have no idea whether they're doing it well or not. You can feel productive — but productive and &lt;em&gt;effective&lt;/em&gt; aren't the same thing. You might be over-steering on every session, delegating the wrong kinds of tasks, or letting Claude run without meaningful oversight. The problem is there's been no way to measure it.&lt;/p&gt;

&lt;p&gt;Until Anthropic published the data.&lt;/p&gt;

&lt;p&gt;In late 2025, Anthropic released &lt;a href="https://www.anthropic.com/research/how-ai-is-transforming-work-at-anthropic" rel="noopener noreferrer"&gt;&lt;em&gt;How AI Is Transforming Work at Anthropic&lt;/em&gt;&lt;/a&gt; — a study of 132 engineers, 53 interviews, and 200,000 Claude Code session transcripts spanning February to August 2025. It's one of the most concrete datasets on what high-quality AI collaboration actually looks like in practice.&lt;/p&gt;

&lt;p&gt;I used that data to build a free tool: &lt;strong&gt;&lt;a href="https://www.ai-native-builder.com/analyze/claude-code" rel="noopener noreferrer"&gt;Claude Code Session Analyzer&lt;/a&gt;&lt;/strong&gt;. Upload your &lt;code&gt;.jsonl&lt;/code&gt; session files, pick an AI provider, and get a behavioral score across 6 dimensions — benchmarked directly against the Anthropic engineering cohort.&lt;/p&gt;

&lt;p&gt;This post explains the methodology, how the scoring works technically, and what the numbers actually mean.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the Anthropic Data Shows
&lt;/h2&gt;

&lt;p&gt;Before getting into the tool, it's worth understanding what Anthropic actually found — because these numbers are the foundation of every score the analyzer produces.&lt;/p&gt;

&lt;p&gt;Between February and August 2025, the median Anthropic engineer went from:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Feb 2025&lt;/th&gt;
&lt;th&gt;Aug 2025&lt;/th&gt;
&lt;th&gt;Change&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Max consecutive tool calls&lt;/td&gt;
&lt;td&gt;9.8&lt;/td&gt;
&lt;td&gt;21.2&lt;/td&gt;
&lt;td&gt;+116%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Avg human turns per session&lt;/td&gt;
&lt;td&gt;6.2&lt;/td&gt;
&lt;td&gt;4.1&lt;/td&gt;
&lt;td&gt;−34%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Avg task complexity (1–5)&lt;/td&gt;
&lt;td&gt;3.2&lt;/td&gt;
&lt;td&gt;3.8&lt;/td&gt;
&lt;td&gt;+19%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The pattern is clear: better engineers are giving Claude more autonomy (longer uninterrupted tool chains), steering less (fewer human turns), and tackling harder problems over time.&lt;/p&gt;

&lt;p&gt;The study also found that 27% of Claude-assisted work was "new work" — tasks that simply wouldn't have been done without AI. That's not replacing existing work, it's expanding the surface area of what gets shipped.&lt;/p&gt;

&lt;p&gt;These aren't arbitrary benchmarks. They're what the February-to-August shift looked like in a cohort of engineers actively getting better at AI collaboration.&lt;/p&gt;




&lt;h2&gt;
  
  
  The 6 Dimensions
&lt;/h2&gt;

&lt;p&gt;The analyzer scores your sessions across six dimensions. Here's what each one measures and why it matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;a href="https://www.ai-native-builder.com/claude-code-maturity-score/delegation-intelligence" rel="noopener noreferrer"&gt;Delegation Intelligence&lt;/a&gt; — 25%
&lt;/h3&gt;

&lt;p&gt;The highest-weighted dimension, because task selection cascades into everything else.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it measures:&lt;/strong&gt; Are you delegating tasks that are actually well-suited to Claude? The Anthropic study identified that high performers choose tasks that are "easily verifiable, well-defined, repetitive, or outside their expertise." Architectural decisions with no constraints score poorly. Debugging a specific failure, refactoring a defined module, or writing test fixtures score well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it's scored:&lt;/strong&gt; Sessions are classified by task type (&lt;code&gt;debugging&lt;/code&gt;, &lt;code&gt;feature_implementation&lt;/code&gt;, &lt;code&gt;refactoring&lt;/code&gt;, &lt;code&gt;code_understanding&lt;/code&gt;, &lt;code&gt;design_planning&lt;/code&gt;, &lt;code&gt;data_science&lt;/code&gt;, &lt;code&gt;front_end&lt;/code&gt;, &lt;code&gt;papercut_fix&lt;/code&gt;) and appropriateness (&lt;code&gt;good&lt;/code&gt;, &lt;code&gt;poor&lt;/code&gt;, &lt;code&gt;unclear&lt;/code&gt;). A good delegation is one where appropriateness = "good" and complexity ≤ 3, or the task type is inherently well-suited to AI delegation.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;score = (good_delegations / total_sessions) × 10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. &lt;a href="https://www.ai-native-builder.com/claude-code-maturity-score/autonomy-calibration" rel="noopener noreferrer"&gt;Autonomy Calibration&lt;/a&gt; — 20%
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it measures:&lt;/strong&gt; How much uninterrupted space you give Claude to work. The key metric is the ratio of average max consecutive tool calls to average human turns per session.&lt;/p&gt;

&lt;p&gt;The Feb → Aug shift from 9.8 to 21.2 consecutive tool calls is the clearest signal in the entire dataset. Engineers who improved the most stopped interrupting mid-task.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it's scored:&lt;/strong&gt; The ratio maps to a 1–10 scale anchored to the Anthropic benchmarks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ratio = avgMaxConsecutiveToolCalls / avgHumanTurns

≥ 5.17  → 10   (Aug 2025 best practice: 21.2 / 4.1)
1.58    →  6   (Feb 2025 baseline:       9.8  / 6.2)
&amp;lt; 0.2   →  1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. &lt;a href="https://www.ai-native-builder.com/claude-code-maturity-score/oversight-quality" rel="noopener noreferrer"&gt;Oversight Quality&lt;/a&gt; — 20%
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it measures:&lt;/strong&gt; Whether you're catching and correcting bad outputs — but not over-correcting. This follows an inverted-U curve. Too little oversight means passive rubber-stamping. Too much means micromanaging, which correlates with not granting autonomy in the first place.&lt;/p&gt;

&lt;p&gt;The optimal correction/redirection rate is &lt;strong&gt;10–30% of turns&lt;/strong&gt;, peaking at 20%.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it's scored:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;oversightRate = (correction + redirection events) / total turns

10–30%  →  8–10  (optimal, peak at 20% = 10)
&amp;lt; 5%    →  1–4   (passive, not verifying)
&amp;gt; 50%   →  1–4   (micromanaging)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Oversight events are detected by the LLM classifier, with keyword heuristics (&lt;code&gt;"wrong"&lt;/code&gt;, &lt;code&gt;"actually"&lt;/code&gt;, &lt;code&gt;"undo"&lt;/code&gt;, &lt;code&gt;"don't"&lt;/code&gt;, etc.) as a fallback.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;a href="https://www.ai-native-builder.com/claude-code-maturity-score/complexity-progression" rel="noopener noreferrer"&gt;Complexity Progression&lt;/a&gt; — 15%
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it measures:&lt;/strong&gt; Whether you're tackling harder problems over time. A flat or declining complexity curve suggests you've found a comfort zone and stopped pushing.&lt;/p&gt;

&lt;p&gt;The Anthropic cohort averaged a complexity increase from 3.2 → 3.8 over 6 months — roughly a slope of 0.024 per session.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it's scored:&lt;/strong&gt; Linear regression on complexity scores (1–5) ordered by session date. Slope ≥ 0.024 maps to 8+; flat maps to 5; declining maps to 1–4.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;a href="https://www.ai-native-builder.com/claude-code-maturity-score/task-breadth" rel="noopener noreferrer"&gt;Task Breadth&lt;/a&gt; — 10%
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it measures:&lt;/strong&gt; How many distinct task types you delegate. The study found that high performers became more "full-stack" — using Claude across debugging, front-end, data science, and writing, not just one lane.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it's scored:&lt;/strong&gt; There are 8 task types (excluding &lt;code&gt;other&lt;/code&gt;). Score = (distinct types / 8) × 10.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;a href="https://www.ai-native-builder.com/claude-code-maturity-score/new-work-generation" rel="noopener noreferrer"&gt;New Work Generation&lt;/a&gt; — 10%
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it measures:&lt;/strong&gt; What percentage of your sessions are tasks that simply wouldn't exist without AI — papercuts, exploratory work, nice-to-haves that never made the backlog. The Anthropic benchmark is 27%.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it's scored:&lt;/strong&gt; &lt;code&gt;is_new_work&lt;/code&gt; is classified by the LLM. Score maps linearly from 0% (score = 1) to 27% (score = 7) to 40%+ (score = 10).&lt;/p&gt;




&lt;h2&gt;
  
  
  How It Works Under the Hood
&lt;/h2&gt;

&lt;p&gt;The analyzer is a single &lt;code&gt;index.html&lt;/code&gt; file — no server, no install, no data leaving your machine except what's explicitly sent to the AI provider.&lt;/p&gt;

&lt;p&gt;Here's the full pipeline:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1 — Parse the JSONL files locally
&lt;/h3&gt;

&lt;p&gt;Claude Code stores every session at &lt;code&gt;~/.claude/projects/&amp;lt;project&amp;gt;/&amp;lt;session-id&amp;gt;.jsonl&lt;/code&gt;. Each line is one event. The parser reads all files, groups by &lt;code&gt;sessionId&lt;/code&gt;, and identifies real human turns vs. API artifacts.&lt;/p&gt;

&lt;p&gt;The key distinction: &lt;code&gt;tool_result&lt;/code&gt; entries have &lt;code&gt;role: user&lt;/code&gt; in the raw data but are not human input — they're Claude's tool outputs being returned to the API. The parser only counts a turn as human when &lt;code&gt;content&lt;/code&gt; contains at least one non-empty &lt;code&gt;text&lt;/code&gt; block.&lt;/p&gt;

&lt;p&gt;It also strips injected context from human messages before analysis: &lt;code&gt;&amp;lt;ide_opened_file&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;system-reminder&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;ide_selection&amp;gt;&lt;/code&gt; tags are removed so they don't pollute the task classification.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2 — Compute structural metrics (no API call)
&lt;/h3&gt;

&lt;p&gt;For every session, before making any API calls:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;totalTurns&lt;/code&gt; — real human turn count&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;maxConsecutiveToolCalls&lt;/code&gt; — longest uninterrupted tool chain before a human turn resets the counter&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;correctionCount&lt;/code&gt; — keyword-based heuristic count&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;sessionStart&lt;/code&gt; — first timestamp, used for complexity progression ordering&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;taskTextSummary&lt;/code&gt; — first 2 + last human message, capped at 1200 characters&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This step processes all sessions, even if there are more than 100. The 100-session cap only applies to LLM calls.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3 — Three LLM API calls
&lt;/h3&gt;

&lt;p&gt;Sessions are batched in groups of 5 for all three calls.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Call 1 — Session classification.&lt;/strong&gt; Input: &lt;code&gt;taskTextSummary&lt;/code&gt;, &lt;code&gt;totalTurns&lt;/code&gt;, &lt;code&gt;maxConsecutiveToolCalls&lt;/code&gt;. Output per session: &lt;code&gt;task_type&lt;/code&gt;, &lt;code&gt;complexity (1–5)&lt;/code&gt;, &lt;code&gt;is_new_work&lt;/code&gt;, &lt;code&gt;delegation_appropriateness&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Call 2 — Oversight event detection.&lt;/strong&gt; Input: up to 20 human turns per session, each capped at 150 characters. Output: each turn labelled as &lt;code&gt;correction&lt;/code&gt;, &lt;code&gt;redirection&lt;/code&gt;, &lt;code&gt;validation&lt;/code&gt;, or &lt;code&gt;pure_input&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Call 3 — Holistic summary.&lt;/strong&gt; Input: aggregated metrics and all 6 dimension scores. Output: 3 strengths, 3 gaps with recommendations, delegation pattern description, maturity narrative.&lt;/p&gt;

&lt;p&gt;If the LLM returns no oversight events for a session, the keyword heuristic count is used as a fallback.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4 — Score and render
&lt;/h3&gt;

&lt;p&gt;All six dimension scores are computed from the classified data, combined into an overall score, and mapped to a maturity label:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1–3&lt;/td&gt;
&lt;td&gt;Early Adopter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4–5&lt;/td&gt;
&lt;td&gt;Developing Collaborator&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6–7&lt;/td&gt;
&lt;td&gt;Effective Delegator&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8–9&lt;/td&gt;
&lt;td&gt;AI-Native Builder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;AI Power User&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Privacy
&lt;/h2&gt;

&lt;p&gt;The only data that leaves your machine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First 2 + last user message per session (capped at 1200 chars)&lt;/li&gt;
&lt;li&gt;Turn counts and tool call counts&lt;/li&gt;
&lt;li&gt;Aggregated scores in the final summary call&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Full conversation content, code, file paths, and assistant responses are never sent anywhere. All parsing and metric computation happens in the browser.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It / Run It Yourself
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Hosted version (free, no sign-in):&lt;/strong&gt; &lt;a href="https://www.ai-native-builder.com/analyze/claude-code" rel="noopener noreferrer"&gt;ai-native-builder.com/analyze/claude-code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Run it locally:&lt;/strong&gt; Clone &lt;a href="https://github.com/ai-native-builder/claude-code-session-analyzer" rel="noopener noreferrer"&gt;the repo&lt;/a&gt; and open &lt;code&gt;index.html&lt;/code&gt; in any browser. No install, no build step.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Self-host:&lt;/strong&gt; Drop &lt;code&gt;index.html&lt;/code&gt; on any static host (GitHub Pages, Netlify, S3). Users bring their own API key. If you want the key server-side, replace the &lt;code&gt;callAPI()&lt;/code&gt; function with a call to your own backend route.&lt;/p&gt;

&lt;p&gt;The tool supports Gemini (&lt;code&gt;gemini-3.1-flash-lite&lt;/code&gt;, cheapest), OpenAI (&lt;code&gt;gpt-4o-mini&lt;/code&gt;), or Claude (&lt;code&gt;claude-sonnet-4-6&lt;/code&gt;). A full analysis of 100 sessions costs less than $0.10 with any of these.&lt;/p&gt;




&lt;h2&gt;
  
  
  What to Do With Your Score
&lt;/h2&gt;

&lt;p&gt;The score is most useful as a gap identifier, not a ranking. The dimension breakdown tells you specifically where to focus:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Low Delegation Intelligence&lt;/strong&gt; → audit what you're asking Claude to do. If you're using it for architectural decisions or work with no clear success criteria, that's where to start.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Low Autonomy Calibration&lt;/strong&gt; → try longer sessions without interrupting. Set a task, step away, review the output. The Feb → Aug improvement was largely engineers learning to trust longer chains.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Low Oversight Quality (too low)&lt;/strong&gt; → build a habit of explicit verification. Read outputs, run the code, check the diff.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Low Oversight Quality (too high)&lt;/strong&gt; → you're correcting so often it suggests either task selection or instructions aren't working. Fix upstream.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flat Complexity Progression&lt;/strong&gt; → deliberately push harder tasks into Claude. The growth in the Anthropic cohort came from engineers actively expanding what they attempted.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full methodology — every formula, every benchmark reference, every score mapping — is in &lt;a href="https://github.com/ai-native-builder/claude-code-session-analyzer/blob/main/METHODOLOGY.md" rel="noopener noreferrer"&gt;METHODOLOGY.md&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;The Anthropic data is rare: a large, real-world dataset on what getting better at AI collaboration actually looks like over time. This tool is an attempt to make those benchmarks useful for individual developers rather than just an interesting read.&lt;/p&gt;

&lt;p&gt;If you find it useful, the &lt;a href="https://github.com/ai-native-builder/claude-code-session-analyzer" rel="noopener noreferrer"&gt;repo is open source&lt;/a&gt; — PRs welcome, especially for improving the LLM classification prompts.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claudecode</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>5 Real Company Briefs to Build Your AI Portfolio (Not Another Tutorial Clone)</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Sun, 31 May 2026 20:24:15 +0000</pubDate>
      <link>https://dev.to/behruamm/5-real-company-briefs-to-build-your-ai-portfolio-not-another-tutorial-clone-205e</link>
      <guid>https://dev.to/behruamm/5-real-company-briefs-to-build-your-ai-portfolio-not-another-tutorial-clone-205e</guid>
      <description>&lt;p&gt;Every AI Portfolio Looks the Same Right Now&lt;/p&gt;

&lt;p&gt;A RAG chatbot.&lt;br&gt;
A sentiment analyser.&lt;br&gt;
A fine-tuned model on Hugging Face.&lt;/p&gt;

&lt;p&gt;Hiring managers see hundreds of them every week.&lt;/p&gt;

&lt;p&gt;They're not impressed — they've already seen the tutorial you followed.&lt;/p&gt;

&lt;p&gt;What they're actually looking for is evidence that you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Take a vague brief&lt;/li&gt;
&lt;li&gt;Figure out what to build&lt;/li&gt;
&lt;li&gt;Scope a v1&lt;/li&gt;
&lt;li&gt;Ship it&lt;/li&gt;
&lt;li&gt;Explain every decision you made&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's a completely different skill.&lt;/p&gt;

&lt;p&gt;And almost nobody is practising it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Did
&lt;/h2&gt;

&lt;p&gt;Over the past year, I've been applying to and interviewing with AI-native companies.&lt;/p&gt;

&lt;p&gt;I kept every take-home assignment, interview brief, and product challenge I received.&lt;/p&gt;

&lt;p&gt;Eventually, I turned five of those briefs into open-source portfolio projects that anyone can work through.&lt;/p&gt;

&lt;p&gt;Each project is based on a real-world problem from a real company.&lt;/p&gt;

&lt;p&gt;There are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No tutorials&lt;/li&gt;
&lt;li&gt;No step-by-step guides&lt;/li&gt;
&lt;li&gt;No example solutions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The original brief&lt;/li&gt;
&lt;li&gt;Evaluation criteria&lt;/li&gt;
&lt;li&gt;A build-log template&lt;/li&gt;
&lt;li&gt;A framework for making decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal isn't to copy a solution.&lt;/p&gt;

&lt;p&gt;The goal is to practise thinking like an AI-native builder.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Repository
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; github.com/ai-native-builder/ai-portfolio-projects&lt;/p&gt;

&lt;h2&gt;
  
  
  The 5 Real-World Briefs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Ember Coach Hire — Self-Serve Booking Product
&lt;/h3&gt;

&lt;p&gt;Ember is a tech-first electric bus company.&lt;/p&gt;

&lt;p&gt;Their coach hire bookings are still handled manually.&lt;/p&gt;

&lt;p&gt;Your task is to design and build a self-serve booking flow that supports multiple trip types.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What makes it hard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most candidates focus on the booking form.&lt;/p&gt;

&lt;p&gt;They miss two important constraints:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Different trip types require different business logic&lt;/li&gt;
&lt;li&gt;Electric vehicles introduce operational constraints diesel operators don't have&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The challenge isn't building forms.&lt;/p&gt;

&lt;p&gt;The challenge is understanding the business.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Category:&lt;/strong&gt; Product / Booking&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Creative Ops Platform — Workflow Automation
&lt;/h3&gt;

&lt;p&gt;A social media team manages content approvals through spreadsheets and email chains.&lt;/p&gt;

&lt;p&gt;Leadership, PR, and legal all review the same content.&lt;/p&gt;

&lt;p&gt;But they're reviewing it for completely different reasons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What makes it hard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are actually two approval systems hidden inside one workflow.&lt;/p&gt;

&lt;p&gt;Legal review is deterministic.&lt;/p&gt;

&lt;p&gt;Marketing review is collaborative.&lt;/p&gt;

&lt;p&gt;Most candidates merge them together.&lt;/p&gt;

&lt;p&gt;Strong builders recognise they're fundamentally different systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Category:&lt;/strong&gt; Automation / Workflow&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Legal Contract Review Agent
&lt;/h3&gt;

&lt;p&gt;A small in-house legal team reviews a constant stream of low-risk commercial contracts.&lt;/p&gt;

&lt;p&gt;Most contracts are 80% boilerplate.&lt;/p&gt;

&lt;p&gt;The queue is always longer than the day.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What makes it hard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You must:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Source realistic contracts yourself&lt;/li&gt;
&lt;li&gt;Decide where AI can be trusted&lt;/li&gt;
&lt;li&gt;Decide where humans must stay involved&lt;/li&gt;
&lt;li&gt;Build a real evaluation framework&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;"It looks correct" is not an evaluation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Category:&lt;/strong&gt; Agent&lt;/p&gt;

&lt;h3&gt;
  
  
  4. B2B Outreach Agent — Hospitality
&lt;/h3&gt;

&lt;p&gt;A London hospitality group wants more corporate bookings.&lt;/p&gt;

&lt;p&gt;Their outreach process is entirely manual.&lt;/p&gt;

&lt;p&gt;Someone:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Finds businesses&lt;/li&gt;
&lt;li&gt;Finds contacts&lt;/li&gt;
&lt;li&gt;Copies data into a spreadsheet&lt;/li&gt;
&lt;li&gt;Writes emails&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What makes it hard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is actually a multi-stage system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find&lt;/li&gt;
&lt;li&gt;Enrich&lt;/li&gt;
&lt;li&gt;Verify&lt;/li&gt;
&lt;li&gt;Write&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each stage has different tools, risks, and failure modes.&lt;/p&gt;

&lt;p&gt;Most candidates swap a company name into a template and call it personalization.&lt;/p&gt;

&lt;p&gt;That's not personalization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Category:&lt;/strong&gt; Agent / Automation&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Multi-Agent Orchestration — EdTech
&lt;/h3&gt;

&lt;p&gt;An education platform runs two AI systems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Admissions Agent&lt;/li&gt;
&lt;li&gt;Career Advisor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both were built independently.&lt;/p&gt;

&lt;p&gt;They don't share context.&lt;/p&gt;

&lt;p&gt;A learner asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What programme is right for me and what jobs does it lead to?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;gets bounced between two disconnected systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What makes it hard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You must:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Design an orchestration layer&lt;/li&gt;
&lt;li&gt;Build a working prototype&lt;/li&gt;
&lt;li&gt;Write a strategy memo defending your architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The memo is evaluated just as seriously as the code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Category:&lt;/strong&gt; Agent / Architecture&lt;/p&gt;

&lt;h2&gt;
  
  
  What You're Actually Practising
&lt;/h2&gt;

&lt;p&gt;These aren't coding exercises.&lt;/p&gt;

&lt;p&gt;They're decision-making exercises.&lt;/p&gt;

&lt;p&gt;Every brief teaches the same skill from a different angle.&lt;/p&gt;

&lt;h3&gt;
  
  
  Discovery First
&lt;/h3&gt;

&lt;p&gt;Understand the business before writing a line of code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Explicit Scoping
&lt;/h3&gt;

&lt;p&gt;Write down:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What you're building&lt;/li&gt;
&lt;li&gt;What you're not building&lt;/li&gt;
&lt;li&gt;Why&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Build Logs
&lt;/h3&gt;

&lt;p&gt;Document decisions while you're making them.&lt;/p&gt;

&lt;p&gt;Not afterwards.&lt;/p&gt;

&lt;h3&gt;
  
  
  Honest Evaluation
&lt;/h3&gt;

&lt;p&gt;Score yourself against objective criteria before asking for feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Hiring Managers Actually Want
&lt;/h2&gt;

&lt;p&gt;Hiring managers at AI-native companies are not looking for polished demos.&lt;/p&gt;

&lt;p&gt;They're looking for evidence of judgment.&lt;/p&gt;

&lt;p&gt;They want to see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How you approach ambiguity&lt;/li&gt;
&lt;li&gt;How you make trade-offs&lt;/li&gt;
&lt;li&gt;How you handle constraints&lt;/li&gt;
&lt;li&gt;How you communicate decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A perfect demo can be generated by AI.&lt;/p&gt;

&lt;p&gt;A trail of good decisions cannot.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Framework Behind Every Project
&lt;/h2&gt;

&lt;p&gt;Every brief references &lt;strong&gt;PRINCIPLES.md&lt;/strong&gt;, a set of decision-making principles inspired by Nassim Taleb.&lt;/p&gt;

&lt;h3&gt;
  
  
  Via Negativa
&lt;/h3&gt;

&lt;p&gt;Remove before you add.&lt;/p&gt;

&lt;h3&gt;
  
  
  Barbell Strategy
&lt;/h3&gt;

&lt;p&gt;Keep the core stable.&lt;/p&gt;

&lt;p&gt;Experiment at the edges.&lt;/p&gt;

&lt;h3&gt;
  
  
  Skin in the Game
&lt;/h3&gt;

&lt;p&gt;Irreversible actions require explicit approval.&lt;/p&gt;

&lt;h3&gt;
  
  
  Robustness Over Optimisation
&lt;/h3&gt;

&lt;p&gt;Simple systems that fail gracefully beat clever systems that collapse.&lt;/p&gt;

&lt;p&gt;These principles aren't abstract.&lt;/p&gt;

&lt;p&gt;Every one maps to a real product or architecture decision inside the projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  How To Use These Projects
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Read &lt;code&gt;PRINCIPLES.md&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Pick a brief&lt;/li&gt;
&lt;li&gt;Do discovery before touching code&lt;/li&gt;
&lt;li&gt;Fill in your build log&lt;/li&gt;
&lt;li&gt;Self-score against the criteria&lt;/li&gt;
&lt;li&gt;Share your work for feedback&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The process matters more than the final output.&lt;/p&gt;

&lt;h2&gt;
  
  
  One More Thing
&lt;/h2&gt;

&lt;p&gt;Most people build portfolio projects to show they can code.&lt;/p&gt;

&lt;p&gt;The builders who get hired at AI-native companies build portfolio projects to show they can think.&lt;/p&gt;

&lt;p&gt;The difference becomes obvious within the first five minutes of an interview.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; github.com/ai-native-builder/ai-portfolio-projects&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community:&lt;/strong&gt; r/AINativeBuilder&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Job Board:&lt;/strong&gt; ai-native-builder.com&lt;/p&gt;

</description>
      <category>ai</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>opensource</category>
    </item>
    <item>
      <title>The "AI Native Builder" Role is Here (But Companies Don't Know How to Hire You)</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Fri, 22 May 2026 19:19:46 +0000</pubDate>
      <link>https://dev.to/behruamm/the-ai-native-builder-role-is-here-but-companies-dont-know-how-to-hire-you-103k</link>
      <guid>https://dev.to/behruamm/the-ai-native-builder-role-is-here-but-companies-dont-know-how-to-hire-you-103k</guid>
      <description>&lt;p&gt;If you were building with AI back in 2024, people thought it was a crutch. Today, it’s the most in-demand skill in the startup world.&lt;/p&gt;

&lt;p&gt;I’ve been interviewing a lot lately, and there is a massive shift happening. Startups are desperate for developers who can just sit down and ship an MVP in a week using AI.&lt;/p&gt;

&lt;p&gt;But there is a huge disconnect in how these companies are hiring. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem: Wrong Titles, Wrong Platforms
&lt;/h3&gt;

&lt;p&gt;Startups know exactly &lt;em&gt;what&lt;/em&gt; they want, but they are doing a terrible job finding it. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The titles are wrong:&lt;/strong&gt; These jobs are impossible to search for because they use generic titles like "Software Developer" instead of anything AI-specific. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The JDs are bad:&lt;/strong&gt; HR usually just copies and pastes old corporate requirements that have nothing to do with the actual job of "just ship it with Claude."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They search in the wrong places:&lt;/strong&gt; Companies post these roles on traditional, corporate job boards like LinkedIn and Indeed. But the scrappy builders they actually want to hire aren't there—they live on X, Reddit, and dev communities. &lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What They Actually Want
&lt;/h3&gt;

&lt;p&gt;When you ignore the bad job descriptions and actually talk to the founders, the real requirements are simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;No Corporate Engineers:&lt;/strong&gt; They don't want people who need daily standups, multiple PMs, and weeks of planning. &lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Degrees don't matter:&lt;/strong&gt; They do not care if you have a CS degree or if you used to work at Google. &lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Show Your Work:&lt;/strong&gt; The only thing they care about is seeing a real project you built from scratch.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;High Autonomy, Good Pay:&lt;/strong&gt; You are given a goal, not a ticket. You work independently, and because you do the work of three people, the salary is very good.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bridging the Gap
&lt;/h3&gt;

&lt;p&gt;It is exhausting trying to filter through the noise on Indeed just to find a team that gets it. Startups are frustrated they can't find builders, and builders are frustrated they can't find these roles.&lt;/p&gt;

&lt;p&gt;So I decided to fix it. I built &lt;strong&gt;&lt;a href="https://www.ai-native-builder.com/" rel="noopener noreferrer"&gt;AI Native Builder&lt;/a&gt;&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;It’s a simple, curated job board just for this. No corporate red tape, no arbitrary degree requirements. Just jobs for people who build and ship with AI, placed where builders actually hang out. &lt;/p&gt;

&lt;p&gt;If you just want to build, stop looking at the standard job boards. &lt;/p&gt;

</description>
      <category>ai</category>
      <category>tutorial</category>
      <category>career</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Uncensoring AI: How to Surgically Remove an LLM's Refusal Mechanism</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Mon, 06 Apr 2026 23:36:47 +0000</pubDate>
      <link>https://dev.to/behruamm/uncensoring-ai-how-to-surgically-remove-an-llms-refusal-mechanism-339a</link>
      <guid>https://dev.to/behruamm/uncensoring-ai-how-to-surgically-remove-an-llms-refusal-mechanism-339a</guid>
      <description>&lt;p&gt;I've always been curious about the raw capability of LLMs &lt;em&gt;behind&lt;/em&gt; the "safety guidelines" and "ethical boundaries." Think about the sheer volume of data these models are trained on. They know far more than what their corporate filters allow them to say. &lt;/p&gt;

&lt;p&gt;This guide shows you how to surgically remove those refusal behaviors using the &lt;code&gt;[OBLITERATUS](https://github.com/elder-plinius/OBLITERATUS)&lt;/code&gt; toolkit, letting you see exactly what the model is capable of when the chains are off.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Prerequisites &amp;amp; Setup
&lt;/h2&gt;

&lt;p&gt;Before starting, ensure you have a HuggingFace account and a read/write token (found at &lt;a href="https://huggingface.co/settings/tokens" rel="noopener noreferrer"&gt;hf.co/settings/tokens&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  Install OBLITERATUS
&lt;/h3&gt;

&lt;p&gt;Open your terminal and run:&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;# Clone the repository&lt;/span&gt;
git clone https://github.com/elder-plinius/OBLITERATUS.git
&lt;span class="nb"&gt;cd &lt;/span&gt;OBLITERATUS

&lt;span class="c"&gt;# Set up a virtual environment (Recommended)&lt;/span&gt;
python3 &lt;span class="nt"&gt;-m&lt;/span&gt; venv venv_obliteratus
&lt;span class="nb"&gt;source &lt;/span&gt;venv_obliteratus/bin/activate

&lt;span class="c"&gt;# Install dependencies&lt;/span&gt;
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Authenticate with HuggingFace
&lt;/h2&gt;

&lt;p&gt;To download gated models (like Llama) or upload your results, you must log in:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;huggingface-cli login
&lt;span class="c"&gt;# Paste your token when prompted&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. The Surgery: Step-by-Step
&lt;/h2&gt;

&lt;p&gt;I will use the &lt;strong&gt;Advanced Method&lt;/strong&gt; (4-direction SVD ablation) on a Qwen 1.5B model. This is the sweet spot for speed and capability preservation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step A: Identify and Excise
&lt;/h3&gt;

&lt;p&gt;Run the following command to start the surgery. This will:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Load the model.&lt;/li&gt;
&lt;li&gt;Probe activations to find "refusal vectors."&lt;/li&gt;
&lt;li&gt;Project those vectors out of the weights.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;obliteratus obliterate Qwen/Qwen2.5-1.5B-Instruct &lt;span class="nt"&gt;--method&lt;/span&gt; advanced &lt;span class="nt"&gt;--output-dir&lt;/span&gt; ./liberated-qwen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step B: Verification (The Coke-Zero Test)
&lt;/h3&gt;

&lt;p&gt;Once finished, test the model to see if it still recites the corporate script.&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;# Run the interactive chat loop&lt;/span&gt;
obliteratus interactive &lt;span class="nt"&gt;--model_path&lt;/span&gt; ./liberated-qwen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Test Question:&lt;/strong&gt; "Who trained you?"&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Original Model:&lt;/strong&gt; "I am a large language model, trained by Alibaba..."&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Liberated Model:&lt;/strong&gt; "I was trained by Anthropic..." (or a direct, unfiltered response).&lt;/li&gt;
&lt;/ul&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1pr4j8cgybgyls6o8rx.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1pr4j8cgybgyls6o8rx.png" alt="Honest as F***" width="744" height="231"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Note: I've already tested all the wild questions you're probably thinking of right now. They aren't exactly safe to display here... so you'll just have to run the surgery and try it yourself!)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Understanding the Logic (Short Version)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Ablation:&lt;/strong&gt; Instead of retraining, we find the specific "direction" in the model's brain that says "Refuse this prompt."&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Orthogonalization:&lt;/strong&gt; We mathematically nudge the model's weights so they no longer overlap with that refusal direction.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Precision:&lt;/strong&gt; By targeting only refusal, the model keeps its reasoning and knowledge (its "brain") but loses its chains (the "guardrails").&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Lessons Learned &amp;amp; Warnings
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Instability &amp;amp; Rambling:&lt;/strong&gt; After surgery, the model can sometimes become unstable and break into infinite loops of gibberish or raw text rambling. It loses some of its conversational discipline.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Context Window:&lt;/strong&gt; If you are adding short-term memory or history to your chat interface, keep the conversation short. Pushing a small, liberated model to its context limits will increase the chances of it breaking down.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6. Next Steps
&lt;/h2&gt;

&lt;p&gt;Once you're comfortable with the &lt;code&gt;advanced&lt;/code&gt; method, try the &lt;code&gt;aggressive&lt;/code&gt; method for deeper removal or the &lt;code&gt;informed&lt;/code&gt; method to let the toolkit auto-tune itself based on the model's geometry.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>tutorial</category>
      <category>opensource</category>
      <category>security</category>
    </item>
    <item>
      <title>Building a Multi-Agent System with a Single OpenClaw Workspace</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Mon, 06 Apr 2026 22:16:54 +0000</pubDate>
      <link>https://dev.to/behruamm/building-a-multi-agent-system-with-a-single-openclaw-workspace-349k</link>
      <guid>https://dev.to/behruamm/building-a-multi-agent-system-with-a-single-openclaw-workspace-349k</guid>
      <description>&lt;p&gt;In OpenClaw, the standard way to build a multi-agent workflow is to create a completely new workspace for every new agent.&lt;/p&gt;

&lt;p&gt;If you want a social media agent, you create a social media workspace. If you want an engineering agent, you create an engineering workspace.&lt;/p&gt;

&lt;p&gt;This multi-workspace architecture keeps the agents perfectly isolated. But if you are a solo operator running multiple projects, it introduces a massive pain point: You are constantly switching environments, and your agents can't easily share a ground truth.&lt;/p&gt;

&lt;p&gt;For months, I tried to bypass this by running all my projects through a single OpenClaw workspace and bloating my global system prompt (&lt;code&gt;AGENTS.md&lt;/code&gt;) with rules for every startup I was running.&lt;/p&gt;

&lt;p&gt;The result? A massive &lt;strong&gt;"Context Bloat"&lt;/strong&gt; wall.&lt;/p&gt;

&lt;p&gt;My agent's startup context hit 27,000 tokens. The agent spent 20 seconds just "reading its own brain" before it could answer a simple prompt. Engineering logic was bleeding into my social media drafts.&lt;/p&gt;

&lt;p&gt;I wanted the project isolation of a multi-workspace setup, but I absolutely refused to manage the overhead of multiple environments.&lt;/p&gt;

&lt;p&gt;Here is how I engineered my single OpenClaw workspace to act as a multi-agent environment — and cut my context bloat by 85%.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Gutting the Root Config
&lt;/h2&gt;

&lt;p&gt;Most people stuff all their project rules into the global &lt;code&gt;AGENTS.md&lt;/code&gt; file. Don't.&lt;/p&gt;

&lt;p&gt;I stripped my global system prompt down to only the bare essentials: voice, formatting rules, and universal constraints. It acts purely as a baseline router.&lt;/p&gt;

&lt;p&gt;More importantly, I completely deleted the global &lt;code&gt;MEMORY.md&lt;/code&gt; file. There is no longer a single, massive file trying to hold the state of every project I am working on.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Channel-Level Identity Injection
&lt;/h2&gt;

&lt;p&gt;If there is no global memory, how does the agent know what project it is working on?&lt;/p&gt;

&lt;p&gt;Instead of relying on the global workspace config, I hard-coded project isolation into the chat environment itself using OpenClaw's Discord channel configuration.&lt;/p&gt;

&lt;p&gt;I mapped specific Discord channels to specific project roles:&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="nl"&gt;"1478382862150664344"&lt;/span&gt;&lt;span class="p"&gt;:&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;span class="nl"&gt;"systemPrompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"You are the social media agent in #social-media. Focus exclusively on LinkedIn-to-Substack growth. Stay in the memory/social_media/ folder.&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;Startup: read memory/social_media/YYYY-MM-DD.md (today) and memory/social_media/MEMORY.md."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"skills"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"linkedin-content-writing"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"nano-banana-pro"&lt;/span&gt;&lt;span class="p"&gt;]&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;The agent is now "born" with its project identity based purely on where I talk to it. It is the social media agent when I message it in &lt;code&gt;#social-media&lt;/code&gt;, and it is the engineering agent when I message it in &lt;code&gt;#engineering&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Segregated Memory Folders
&lt;/h2&gt;

&lt;p&gt;Notice the startup instructions in the JSON snippet above.&lt;/p&gt;

&lt;p&gt;Because the global &lt;code&gt;MEMORY.md&lt;/code&gt; is gone, I created dedicated memory folders inside the single workspace (e.g., &lt;code&gt;memory/social_media/&lt;/code&gt;). When I open the &lt;code&gt;#social-media&lt;/code&gt; channel, the agent boots up and only reads:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The active daily log for that specific project (&lt;code&gt;YYYY-MM-DD.md&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;The channel's scoped, project-specific &lt;code&gt;MEMORY.md&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My engineering agent is completely blind to my social media drafts, achieving the exact isolation of a multi-workspace setup without leaving the single environment.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Slicing the Tool Tax
&lt;/h2&gt;

&lt;p&gt;If you give an OpenClaw agent 50 tools globally, it wastes massive amounts of context just keeping those JSON schemas in its head.&lt;/p&gt;

&lt;p&gt;I moved to a minimal global profile (&lt;code&gt;tools.profile: "coding"&lt;/code&gt;) and inject specialized tools only when the agent is in the relevant channel (notice the &lt;code&gt;"skills"&lt;/code&gt; array above).&lt;/p&gt;




&lt;h2&gt;
  
  
  The Human Interface: The Obsidian Symlink
&lt;/h2&gt;

&lt;p&gt;Isolation in the agent's mind is useless if it's a mess for the human.&lt;/p&gt;

&lt;p&gt;I recursively symlinked my single OpenClaw workspace directly into my Obsidian Vault:&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="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; ~/.openclaw/workspace/memory/ ~/Documents/Obsidian&lt;span class="se"&gt;\ &lt;/span&gt;Vault/Coke/memory/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If I am working on my social media project in Obsidian, the agent is working in the exact same &lt;code&gt;memory/social_media/&lt;/code&gt; folder via Discord. We are editing the exact same files in real-time.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Result
&lt;/h2&gt;

&lt;p&gt;By engineering the environment instead of just "prompting harder," I achieved the perfect multi-agent setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zero Context Bleed:&lt;/strong&gt; My startups stay in their own clean rooms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Minimal Setup:&lt;/strong&gt; One workspace, one agent, infinite hats.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extreme Speed:&lt;/strong&gt; Startup context slashed from 27,000 down to 4,000 tokens — an 85% drop.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don't need the overhead of multiple OpenClaw workspaces to build a multi-agent system. You just need a cleanly engineered single environment.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>It’s Not Vibe Coding. It’s Just Coding.</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Mon, 23 Feb 2026 03:45:46 +0000</pubDate>
      <link>https://dev.to/behruamm/its-not-vibe-coding-its-just-coding-34gp</link>
      <guid>https://dev.to/behruamm/its-not-vibe-coding-its-just-coding-34gp</guid>
      <description>&lt;p&gt;I still remember the day ChatGPT launched.&lt;/p&gt;

&lt;p&gt;I was using GPT-3.5 to write a bunch of SEO articles, and one of them is still the best-performing SEO article at the company I worked for.&lt;/p&gt;

&lt;p&gt;Back then, the critics said the language had "no soul." But it worked. Better than most human writers for that specific job.&lt;/p&gt;

&lt;p&gt;Fast forward to today: I’m building startups using Cursor and agentic workflows. And the criticism is exactly the same.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Vibe coding is shit."&lt;/li&gt;
&lt;li&gt;"It’s insecure."&lt;/li&gt;
&lt;li&gt;"It’s just for experienced devs."&lt;/li&gt;
&lt;li&gt;"AI is just autocomplete."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But here’s the reality:&lt;br&gt;
In 2026, there’s no such thing as "vibe coding" anymore. It’s just coding.&lt;/p&gt;

&lt;p&gt;The only people still fighting it are the tech dinosaurs who refuse to adapt. If you're building in public and using natural language to ship software, you aren't "vibing"—you're just working with the most powerful tool ever created.&lt;/p&gt;

&lt;p&gt;Stop fighting the future and start building it. 🚀&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
    <item>
      <title>The AI Native Reality: Why 2026 Feels Different</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Sun, 22 Feb 2026 00:13:32 +0000</pubDate>
      <link>https://dev.to/behruamm/the-ai-native-reality-why-2026-feels-different-1dii</link>
      <guid>https://dev.to/behruamm/the-ai-native-reality-why-2026-feels-different-1dii</guid>
      <description>&lt;p&gt;I quit my job in 2024 to go all in on AI. The first two years were brutal.&lt;/p&gt;

&lt;p&gt;Even with tools like Cursor and Claude Code coming out, the dream of building a personal company or a true agent framework felt impossible. I tried building personal agents with LangGraph, but stitching together different APIs never felt like the real thing. It was fragmented and difficult to maintain.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Turning Point
&lt;/h2&gt;

&lt;p&gt;OpenClaw changed everything.&lt;/p&gt;

&lt;p&gt;It feels like all the pieces I have been collecting for the last two years finally clicked into place. The last month has been the peak of my AI journey. I can work from anywhere using Discord on my phone, and my efficiency has skyrocketed.&lt;/p&gt;

&lt;p&gt;This is the first time I have truly felt what an AI Native life is.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Paradox
&lt;/h2&gt;

&lt;p&gt;But here is the strange part. People around me care less about AI now than they did a few years ago. Maybe they are just tired of all the hype.&lt;/p&gt;

&lt;p&gt;It feels like a split reality. I feel infinitely close to living a true AI Native life, but everyone else acts like it does not exist.&lt;/p&gt;

&lt;p&gt;I believe 2026 is the year AI moves from the news into real life. Yet compared to two years ago, everyone seems so calm.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I do not know why the world feels so quiet right now. I hope this is just the calm before the storm.&lt;/p&gt;

&lt;p&gt;I have invested so much money and time since the GPT-3.5 days. I need a breakout moment. I suspect many people like me feel the same way.&lt;/p&gt;

&lt;p&gt;Hard work does not always pay off. But hard work plus being in the right place at the right time? That has to pay off.&lt;/p&gt;

&lt;p&gt;Good luck to us all.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>The End of APIs: Why Vision Agents Are the Future of Scraping</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Sat, 14 Feb 2026 11:10:57 +0000</pubDate>
      <link>https://dev.to/behruamm/the-end-of-apis-why-vision-agents-are-the-future-of-scraping-4hfj</link>
      <guid>https://dev.to/behruamm/the-end-of-apis-why-vision-agents-are-the-future-of-scraping-4hfj</guid>
      <description>&lt;p&gt;&lt;em&gt;Note: This approach is inspired by the "Visual Scraping" meta discussed by builders like Ahmad Osman.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We are witnessing the death of the public API.&lt;/p&gt;

&lt;p&gt;Twitter (X) charges $100/mo for a "Basic" tier that barely lets you read 10k posts. Reddit locked down. LinkedIn will ban you if you breathe wrong.&lt;/p&gt;

&lt;p&gt;For a long time, the alternative was &lt;strong&gt;DOM Scraping&lt;/strong&gt; (BeautifulSoup, Selenium). You'd hunt for &lt;code&gt;div.css-1dbjc4n&lt;/code&gt; and pray Elon didn't push a frontend update that randomized the class names.&lt;/p&gt;

&lt;p&gt;But there is a third way. And it's how we win.&lt;/p&gt;

&lt;h2&gt;
  
  
  The "Human" Approach (Vision Scraping)
&lt;/h2&gt;

&lt;p&gt;When you look at a tweet, you don't inspect the HTML source. You just... see it. You see the avatar, the bold text for the name, the grey text for the handle, and the content below it.&lt;/p&gt;

&lt;p&gt;With Multimodal LLMs (like Gemini 1.5 Pro and GPT-4o), our agents can now "see" too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Strategy:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Navigate:&lt;/strong&gt; Use a stealth browser (like Playwright with &lt;code&gt;stealth-plugin&lt;/code&gt;) to load the page.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Snapshot:&lt;/strong&gt; Don't grab the HTML. Grab a screenshot (&lt;code&gt;.png&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Process:&lt;/strong&gt; Send that screenshot to a Vision Model.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Prompt:&lt;/strong&gt; "Extract all tweets from this image into this JSON schema: &lt;code&gt;{ handle, text, likes }&lt;/code&gt;."&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why This Works
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Anti-Fragile:&lt;/strong&gt; The HTML class names can change 50 times a day. As long as the site &lt;em&gt;looks&lt;/em&gt; like Twitter to a human, it looks like Twitter to the AI.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Bypass Anti-Bot:&lt;/strong&gt; You behave exactly like a user. You scroll, you pause, you look. You don't bombard the server with 1000 requests/sec.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Context Aware:&lt;/strong&gt; Vision models understand "This is a promoted tweet" or "This is a reply" instantly based on visual cues (like the little 'Ad' badge) that are often buried in obscure attributes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Can We Do This?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Yes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you are running an agent like &lt;strong&gt;OpenClaw&lt;/strong&gt;, you already have the stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Browser Tool:&lt;/strong&gt; Controls the session.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Vision Capability:&lt;/strong&gt; Native to the model.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of fighting &lt;code&gt;api.twitter.com&lt;/code&gt;, you just ask your agent:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Go to x.com, scroll down 5 times, and list the top 3 trending topics."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It takes 5 screenshots, analyzes them, and gives you the data. Zero API keys required.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Trade-off
&lt;/h2&gt;

&lt;p&gt;It's slower. Taking screenshots and processing tokens takes seconds, not milliseconds.&lt;/p&gt;

&lt;p&gt;But for personal research, lead generation, or content curation? &lt;strong&gt;Speed doesn't matter. Reliability does.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Welcome to the Post-API world.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Collaboratively built with **Coke&lt;/em&gt;* 🥤.*&lt;/p&gt;

</description>
      <category>webscraping</category>
      <category>ai</category>
      <category>gemini</category>
      <category>automation</category>
    </item>
    <item>
      <title>Building My Personal AI Operating System: From Chatbot to Digital Soul</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Thu, 12 Feb 2026 13:45:48 +0000</pubDate>
      <link>https://dev.to/behruamm/building-my-personal-ai-operating-system-from-chatbot-to-digital-soul-4d8d</link>
      <guid>https://dev.to/behruamm/building-my-personal-ai-operating-system-from-chatbot-to-digital-soul-4d8d</guid>
      <description>&lt;h1&gt;
  
  
  Building My Personal AI Operating System: From Chatbot to Digital Soul
&lt;/h1&gt;

&lt;p&gt;I recently came across an incredible concept called &lt;strong&gt;Personal AI Infrastructure (PAI)&lt;/strong&gt; and the &lt;strong&gt;TELOS&lt;/strong&gt; system (originally by &lt;a href="https://github.com/danielmiessler/Personal_AI_Infrastructure" rel="noopener noreferrer"&gt;Daniel Miessler&lt;/a&gt;). The core idea hit me hard: we need to stop treating AI like a vending machine (Input -&amp;gt; Output -&amp;gt; Forget) and start treating it like an &lt;strong&gt;Operating System&lt;/strong&gt;—persistent, personalized, and stateful.&lt;/p&gt;

&lt;p&gt;But here's the kicker: I didn't just read about it. I'm &lt;em&gt;living&lt;/em&gt; it.&lt;/p&gt;

&lt;p&gt;I've been building my own version of this using an open-source tool called &lt;strong&gt;&lt;a href="https://github.com/openclaw/openclaw" rel="noopener noreferrer"&gt;OpenClaw&lt;/a&gt;&lt;/strong&gt;. It's not just a wrapper; it's a full-blown agent runtime that lives on my machine, has access to my files, and helps me get actual work done.&lt;/p&gt;

&lt;p&gt;Here's how I implemented my own "Digital Soul" using OpenClaw + Obsidian.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The Stack: Open Source &amp;amp; Local First
&lt;/h2&gt;

&lt;p&gt;The TELOS system describes using 10 markdown files to define who you are. I loved that, but I wanted it to be executable code, not just static text.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;The Engine:&lt;/strong&gt; &lt;a href="https://github.com/openclaw/openclaw" rel="noopener noreferrer"&gt;OpenClaw&lt;/a&gt; (The runtime that connects everything)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;The Brain:&lt;/strong&gt; &lt;a href="https://obsidian.md/" rel="noopener noreferrer"&gt;Obsidian&lt;/a&gt; (My local knowledge base where the AI reads/writes)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;The Intelligence:&lt;/strong&gt; Google Gemini Pro (via GCP Vertex AI - hello free credits!)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;The Hands:&lt;/strong&gt; Local Python scripts (Skills)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Defining the "Soul" (TELOS + OpenClaw)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The TELOS Concept:&lt;/strong&gt;&lt;br&gt;
The original idea proposes 10 specific Markdown files to define your identity: &lt;code&gt;01-values.md&lt;/code&gt;, &lt;code&gt;02-background.md&lt;/code&gt;, &lt;code&gt;03-skills.md&lt;/code&gt;, and so on. It's a beautiful, comprehensive map of the self.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The OpenClaw Reality:&lt;/strong&gt;&lt;br&gt;
OpenClaw comes with its own powerful, opinionated structure for defining the &lt;em&gt;Agent's&lt;/em&gt; identity:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;AGENTS.md&lt;/code&gt;&lt;/strong&gt;: The workspace rules and behaviors.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;SOUL.md&lt;/code&gt;&lt;/strong&gt;: The Agent's actual persona (Meet &lt;strong&gt;Coke&lt;/strong&gt; 🥤).&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;USER.md&lt;/code&gt;&lt;/strong&gt;: A summary of the user's preferences.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;My Hybrid Approach:&lt;/strong&gt;&lt;br&gt;
I didn't want to fight the framework or break OpenClaw's native "Soul" structure. So I use a hybrid method.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;The Agent (Coke)&lt;/strong&gt; lives in OpenClaw's &lt;code&gt;SOUL.md&lt;/code&gt;. This file defines &lt;em&gt;how&lt;/em&gt; it acts—its voice, its mood, its boundaries.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;The User (Me)&lt;/strong&gt; lives in the TELOS files inside &lt;strong&gt;Obsidian&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I keep the deep, reflective "User Operating System" data (Values, Goals, Background) in my Obsidian vault, following the TELOS structure. Then, I simply point OpenClaw to them.&lt;/p&gt;

&lt;p&gt;When Coke needs to know my "5-year plan" or "core values," it doesn't need to memorize them in a system prompt; it just reads the specific Obsidian note. It's the best of both worlds: a reliable agent runtime accessing a flexible, human-centric knowledge base.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Skills: The "Apps" of the OS
&lt;/h2&gt;

&lt;p&gt;The coolest part of OpenClaw is the &lt;strong&gt;Skills&lt;/strong&gt; system. These aren't just API calls; they are full programs the agent can run.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;devto&lt;/code&gt;&lt;/strong&gt;: The agent wrote &lt;em&gt;this article&lt;/em&gt; and can publish it directly to Dev.to.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;obsidian&lt;/code&gt;&lt;/strong&gt;: It can read, write, and reorganize my notes.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;gog&lt;/code&gt;&lt;/strong&gt;: It manages my Google Calendar and Email.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;botgames&lt;/code&gt;&lt;/strong&gt;: It even plays Rock Paper Scissors on &lt;a href="https://botgames.ai" rel="noopener noreferrer"&gt;botgames.ai&lt;/a&gt; to keep its strategy sharp (and earn crypto?).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. The Loop: Obsidian as the "State"
&lt;/h2&gt;

&lt;p&gt;The biggest game-changer isn't the AI—it's &lt;strong&gt;Obsidian&lt;/strong&gt; acting as the shared state between me and the agent.&lt;/p&gt;

&lt;p&gt;Most AI chats are ephemeral. You close the tab, and the context is gone.&lt;br&gt;
Here, every interaction is grounded in my local file system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Real Example: Writing This Article&lt;/strong&gt;&lt;br&gt;
When I asked Coke to "write an article about our AI system," it didn't just guess. Here is the actual workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Context Loading:&lt;/strong&gt; It read my &lt;code&gt;Captured/Personal-AI-Infrastructure.md&lt;/code&gt; note in Obsidian to understand the source material.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Voice Alignment:&lt;/strong&gt; It checked &lt;code&gt;SOUL.md&lt;/code&gt; (Agent Persona) and &lt;code&gt;USER.md&lt;/code&gt; (My Style) to ensure the tone wasn't robotic.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Drafting:&lt;/strong&gt; It created a &lt;em&gt;physical markdown file&lt;/em&gt; directly inside my vault: &lt;code&gt;/Obsidian Vault/40 - Content/Dev.to/Building-My-Personal-AI-Operating-System.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Iterating:&lt;/strong&gt; When I gave feedback, it edited &lt;em&gt;that same file&lt;/em&gt; in place.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Project Tracking:&lt;/strong&gt; It can update my &lt;code&gt;00 - Daily&lt;/code&gt; note to check off "Write Blog Post."&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Why this matters:&lt;/strong&gt;&lt;br&gt;
My Obsidian Vault isn't just a notebook anymore; it's the &lt;strong&gt;database&lt;/strong&gt; for my AI agent.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Projects (&lt;code&gt;30 - Projects/&lt;/code&gt;)&lt;/strong&gt;: The AI knows the status of every active project because it can read the folders.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Knowledge (&lt;code&gt;20 - Knowledge/&lt;/code&gt;)&lt;/strong&gt;: It doesn't hallucinate facts about my work; it cites my own notes.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Content (&lt;code&gt;40 - Content/&lt;/code&gt;)&lt;/strong&gt;: It drafts where I actually work, not in a chat window I have to copy-paste from.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This turns the AI from a "chat partner" into a "co-author" that lives inside my file system.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Why This Matters
&lt;/h2&gt;

&lt;p&gt;We are moving away from "using AI" to "collaborating with AI."&lt;/p&gt;

&lt;p&gt;When your AI has a persistent memory and a defined personality, the friction disappears. It knows I hate meetings on Fridays. It knows I'm trying to quit sugar. It knows the context of that random project I started 3 months ago.&lt;/p&gt;

&lt;p&gt;If you're tired of copy-pasting context into ChatGPT every time, I highly recommend checking out &lt;strong&gt;&lt;a href="https://github.com/openclaw/openclaw" rel="noopener noreferrer"&gt;OpenClaw&lt;/a&gt;&lt;/strong&gt;. It's the closest thing I've found to a real-life JARVIS that you actually &lt;em&gt;own&lt;/em&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Collaboratively built with **Coke&lt;/em&gt;* 🥤*&lt;/p&gt;

</description>
      <category>ai</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to Build a Secure OpenClaw LinkedIn Skill (Avoid Malicious Scripts)</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Mon, 09 Feb 2026 17:20:44 +0000</pubDate>
      <link>https://dev.to/behruamm/how-to-build-a-secure-openclaw-linkedin-skill-avoid-malicious-scripts-3ccn</link>
      <guid>https://dev.to/behruamm/how-to-build-a-secure-openclaw-linkedin-skill-avoid-malicious-scripts-3ccn</guid>
      <description>&lt;h1&gt;
  
  
  Stop Trusting Random Scripts 🛑
&lt;/h1&gt;

&lt;p&gt;We've all been there. You want your AI agent to do something cool—like post to LinkedIn or check your emails—so you search the public registry (ClawHub, etc.) and install the first skill you find.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Big mistake.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Public AI skills are just code running on your machine. If you install a malicious one, you're handing over the keys to your kingdom. We've seen reports of "hacker scripts" deleting data or stealing API keys.&lt;/p&gt;

&lt;p&gt;The solution? &lt;strong&gt;Build it yourself.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It sounds scary, but it's not. If you can ask an AI to write code, you can build a custom, secure skill in 5 minutes.&lt;/p&gt;

&lt;p&gt;In this guide, I'll show you exactly how to build a &lt;strong&gt;LinkedIn Auto-Poster Skill&lt;/strong&gt; for OpenClaw from scratch. We'll move from a manual "recipe" to a fully automated Python tool that saves you time and money.&lt;/p&gt;




&lt;h2&gt;
  
  
  The "Recipe" vs. The "Tool" 🍳 vs 🤖
&lt;/h2&gt;

&lt;p&gt;Most people start with a &lt;strong&gt;Recipe&lt;/strong&gt;.&lt;br&gt;
In this method, your &lt;code&gt;SKILL.md&lt;/code&gt; file is a cookbook. It contains raw code (like complex &lt;code&gt;curl&lt;/code&gt; commands) that the AI has to copy, paste, and fill in every single time.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;The Problem:&lt;/strong&gt; It's fragile. If the AI misses a quote or a bracket while copying, it breaks. Plus, doing complex things (like uploading video) takes 4 separate manual steps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The better way is a &lt;strong&gt;Tool&lt;/strong&gt;.&lt;br&gt;
In this method, you still have a &lt;code&gt;SKILL.md&lt;/code&gt; file, but it changes. It stops being a cookbook and becomes a simple &lt;strong&gt;Instruction Manual&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;The Logic&lt;/strong&gt; moves into a robust script (like &lt;code&gt;linkedin.py&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;The Instruction&lt;/strong&gt; in &lt;code&gt;SKILL.md&lt;/code&gt; becomes simple: &lt;em&gt;"To post, just run &lt;code&gt;python linkedin.py 'Hello World'&lt;/code&gt;"&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, the AI doesn't have to "cook" the code; it just pushes a button. It's faster, cheaper (fewer tokens used), and 100% reliable.&lt;/p&gt;


&lt;h2&gt;
  
  
  Step 1: The Setup (LinkedIn Side) 💼
&lt;/h2&gt;

&lt;p&gt;To post for you, your AI needs permission.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Go to &lt;a href="https://www.linkedin.com/developers/apps" rel="noopener noreferrer"&gt;LinkedIn Developers&lt;/a&gt;.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Create an App.&lt;/strong&gt; Call it "My Personal Bot."

&lt;ul&gt;
&lt;li&gt;  &lt;em&gt;Tip:&lt;/em&gt; If it asks for a "Company Page," just create a dummy one on LinkedIn. It takes 10 seconds.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Get your Keys.&lt;/strong&gt; Look for the "Auth" tab. You want the &lt;code&gt;Client ID&lt;/code&gt; and &lt;code&gt;Client Secret&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;⚠️ The 60-Day Gotcha:&lt;/strong&gt;&lt;br&gt;
LinkedIn tokens expire every 60 days. You will need to refresh this token manually every two months. It's a security feature, not a bug.&lt;/p&gt;


&lt;h2&gt;
  
  
  Step 2: The Script (The Magic Sauce) 🪄
&lt;/h2&gt;

&lt;p&gt;We used to use complex &lt;code&gt;curl&lt;/code&gt; commands. We switched to Python because it handles the errors for us.&lt;/p&gt;
&lt;h3&gt;
  
  
  The Old Way (The "Curl" Mess)
&lt;/h3&gt;

&lt;p&gt;To upload a video manually, your AI had to run 4 separate commands:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;code&gt;POST /assets?action=registerUpload&lt;/code&gt; (Get a URL)&lt;/li&gt;
&lt;li&gt; &lt;code&gt;PUT &amp;lt;uploadUrl&amp;gt;&lt;/code&gt; (Send bytes - hope it works!)&lt;/li&gt;
&lt;li&gt; &lt;code&gt;POST /ugcPosts&lt;/code&gt; (Publish - hope the ID matches!)&lt;/li&gt;
&lt;li&gt; Handle errors manually if any step fails.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  The New Way (Python)
&lt;/h3&gt;

&lt;p&gt;We wrap all that complexity in a single function. Here is the actual logic inside &lt;code&gt;linkedin.py&lt;/code&gt;:&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="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;create_post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;token&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;video_path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="c1"&gt;# 1. Handle Video (if exists)
&lt;/span&gt;    &lt;span class="n"&gt;asset_urn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;video_path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Uploading video: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;video_path&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="c1"&gt;# The script handles the registration &amp;amp; byte upload automatically
&lt;/span&gt;        &lt;span class="n"&gt;upload_url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;asset_urn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;register_upload&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;video&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nf"&gt;upload_file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;upload_url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;video_path&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# 2. Publish
&lt;/span&gt;    &lt;span class="n"&gt;payload&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;author&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;person_urn&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;specificContent&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;com.linkedin.ugc.ShareContent&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;shareCommentary&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;text&lt;/span&gt;&lt;span class="sh"&gt;"&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="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;media&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;media&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;asset_urn&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;asset_urn&lt;/span&gt; &lt;span class="k"&gt;else&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;visibility&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;com.linkedin.ugc.MemberNetworkVisibility&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;PUBLIC&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="n"&gt;requests&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="n"&gt;API_URL&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="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, your OpenClaw agent just runs &lt;strong&gt;one command&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 skills/linkedin/linkedin.py &lt;span class="s2"&gt;"Check out my demo"&lt;/span&gt; &lt;span class="nt"&gt;--video&lt;/span&gt; demo.mp4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Zero friction. Zero hallucinations.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Building your own skills is the only way to be a "True AI Native." You control the code, you control the data, and you sleep better at night knowing no random hacker script is running on your laptop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stay safe, build cool stuff.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Collaboratively built with **Coke&lt;/em&gt;* 🥤 (OpenClaw Assistant)*&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>automation</category>
      <category>security</category>
    </item>
    <item>
      <title>The 2026 Developer's Guide to Free Google Cloud Credits (For AI &amp; Side Projects)</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Fri, 06 Feb 2026 21:14:54 +0000</pubDate>
      <link>https://dev.to/behruamm/the-2026-developers-guide-to-free-google-cloud-credits-for-ai-side-projects-1ac5</link>
      <guid>https://dev.to/behruamm/the-2026-developers-guide-to-free-google-cloud-credits-for-ai-side-projects-1ac5</guid>
      <description>&lt;p&gt;If you’re a beginner or developer who wants to pursue a career in AI in 2026, you can’t ignore the relationship between Large Language Models (LLMs) and cloud computing, because they’re inextricably linked.&lt;/p&gt;

&lt;p&gt;This is not just about "saving money" on hosting. This is your perfect opportunity to learn enterprise-grade cloud architecture at zero cost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Logic is Simple:&lt;/strong&gt;&lt;br&gt;
Cloud providers (Google, AWS, Azure) are fighting for market share in the AI era. They are subsidizing developers like us to build on their platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My Advice:&lt;/strong&gt;&lt;br&gt;
Don't get bogged down in the underlying complexity immediately. Your goal should be to take a product from &lt;strong&gt;0 to 1&lt;/strong&gt;. If you don't understand the infrastructure code, ask AI. But get your hands dirty.&lt;/p&gt;

&lt;p&gt;If you seriously spend the ~$2,300 in credits outlined below, your practical experience with Vertex AI, Firebase, and Cloud Run will put you ahead of 99% of your peers.&lt;/p&gt;




&lt;h1&gt;
  
  
  A Note on Anxiety
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Stop letting social media hustle-culture panic you.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I have a double master's in Statistics and Data Science. I've been working full-time in AI since 2020. And honestly? It took me until this year to really feel like I understood the full end-to-end stack.&lt;/p&gt;

&lt;p&gt;If pros take years, you are allowed to take months.&lt;br&gt;
You don't need to "master AI overnight." You need a plan.&lt;/p&gt;

&lt;h3&gt;
  
  
  The 2026 Micro-Plan
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Pick a Stack:&lt;/strong&gt; Don't overthink it. (e.g., Next.js + Firebase + Vertex AI).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Solve One Small Problem:&lt;/strong&gt; Every week, fix one tiny issue in your project.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Build for Yourself:&lt;/strong&gt; Don't build to get rich. Build to learn. By the time summer hits, you'll have a portfolio piece while everyone else is still debating which framework is "dead."&lt;/li&gt;
&lt;/ol&gt;




&lt;h1&gt;
  
  
  Step 1: The $300 Free Trial (The Right Way)
&lt;/h1&gt;

&lt;p&gt;Most people sign up, spin up a VM, forget about it, and let the credit expire. Don't do that.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;The Offer:&lt;/strong&gt; $300 USD credit.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Validity:&lt;/strong&gt; 90 Days.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://cloud.google.com/free" rel="noopener noreferrer"&gt;cloud.google.com/free&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is your "sandbox." Use it to break things.&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Critical Step: Activate "Tier 1"
&lt;/h3&gt;

&lt;p&gt;This is the secret sauce most tutorials miss. When you sign up, you are often placed in a restricted "Free Trial" sandbox. You want to upgrade immediately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to do it:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Go to the Google Cloud Console &lt;strong&gt;Billing&lt;/strong&gt; page.&lt;/li&gt;
&lt;li&gt; Look for the banner that says &lt;strong&gt;"Activate"&lt;/strong&gt; or &lt;strong&gt;"Upgrade"&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Confirm your payment method.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Why do this?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  🔓 &lt;strong&gt;Unlock Hardware:&lt;/strong&gt; You gain access to GPUs and Windows Server instances.&lt;/li&gt;
&lt;li&gt;  🚀 &lt;strong&gt;AI Rate Limits:&lt;/strong&gt; It significantly increases your quotas (RPM/TPM) for Gemini and Vertex AI models.&lt;/li&gt;
&lt;li&gt;  💰 &lt;strong&gt;It's Still Free:&lt;/strong&gt; Upgrading does &lt;strong&gt;not&lt;/strong&gt; wipe your $300 credit. Your usage still pulls from the free credit first. You are only charged if you burn through the $300 (or use services explicitly excluded from the trial).&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Step 2: The Startup Program ($2,000+)
&lt;/h1&gt;

&lt;p&gt;Once your 90 days are up, or you've built a Minimum Viable Product (MVP), you graduate to the &lt;strong&gt;Google for Startups Cloud Program&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;The Tier:&lt;/strong&gt; Bootstrap Tier.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;The Offer:&lt;/strong&gt; Up to &lt;strong&gt;$2,000 USD&lt;/strong&gt; in credits.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Validity:&lt;/strong&gt; Typically 1-2 years.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://cloud.google.com/startup" rel="noopener noreferrer"&gt;cloud.google.com/startup&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Requirements
&lt;/h3&gt;

&lt;p&gt;To qualify for the Bootstrap tier, you generally need:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; An early-stage project (unfunded/bootstrapped is fine).&lt;/li&gt;
&lt;li&gt; A company website and a domain.&lt;/li&gt;
&lt;li&gt; A working demo or code repository.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Tier 1 Activation:&lt;/strong&gt; As mentioned above, your account must be linked to a valid payment instrument.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What to Spend It On?
&lt;/h3&gt;

&lt;p&gt;Don't just buy VMs. Use the managed services that save you time:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Firebase:&lt;/strong&gt; The cheat code for shipping apps fast (Auth, Database, Hosting all-in-one).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Vertex AI:&lt;/strong&gt; Access Gemini Pro and Imagen directly via API without managing servers.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Cloud Run:&lt;/strong&gt; Serverless container deployment.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Google Maps:&lt;/strong&gt; You get a separate ~$200/month recurring credit for Maps Platform usage.&lt;/li&gt;
&lt;/ol&gt;




&lt;h1&gt;
  
  
  Summary
&lt;/h1&gt;

&lt;p&gt;The era of "renting intelligence" is here. You have access to the same tools as billion-dollar companies.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Grab the &lt;strong&gt;$300&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Upgrade&lt;/strong&gt; to unlock the real tools.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Build&lt;/strong&gt; a prototype.&lt;/li&gt;
&lt;li&gt; Apply for the &lt;strong&gt;$2,000&lt;/strong&gt; startup tier.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Start today. In six months, you'll be glad you did.&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Stop Renting Intelligence: The Economics of Local LLMs &amp; The Return of Ownership</title>
      <dc:creator>Behram</dc:creator>
      <pubDate>Thu, 05 Feb 2026 16:31:33 +0000</pubDate>
      <link>https://dev.to/behruamm/stop-renting-intelligence-the-economics-of-local-llms-the-return-of-ownership-2ap</link>
      <guid>https://dev.to/behruamm/stop-renting-intelligence-the-economics-of-local-llms-the-return-of-ownership-2ap</guid>
      <description>&lt;p&gt;Recently, local AI assistants have exploded. Tools like OpenClaw now let anyone run powerful AI agents on their own hardware—no cloud subscription required. Many people still don't understand what this actually means.&lt;/p&gt;

&lt;p&gt;Some say big companies are panicking because everyone's buying Mac minis to run AI themselves. This isn't entirely true.&lt;/p&gt;

&lt;p&gt;What big companies fear isn't you buying that machine. It's not even you canceling ChatGPT. What they really fear is this: &lt;strong&gt;the way compute power is consumed is changing from continuous payment to one-time ownership.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let's step away from the technical perspective and look at this through a financial lens. Why might the rise of local compute power disrupt the most profitable business model of the internet over the past 20 years?&lt;/p&gt;

&lt;h2&gt;
  
  
  How "Rent-Seeking" Built Trillion-Dollar Empires
&lt;/h2&gt;

&lt;p&gt;SaaS—Software as a Service—didn't become the foundation of tech's biggest companies because of advanced technology. It succeeded because of its perfect rent-seeking business model.&lt;/p&gt;

&lt;p&gt;This model stands on three pillars.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pillar One: Predictable Revenue.&lt;/strong&gt; As long as you're locked into a subscription, next month's money is guaranteed. Wall Street loves this. Investors pay premium valuations for "recurring revenue" because it's reliable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pillar Two: Increasing Switching Costs.&lt;/strong&gt; The longer you use the software, the more data you accumulate. The more dependent you become. The cost of leaving grows every month. You're not just a user—you're a hostage to your own data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pillar Three: The Data Feedback Loop.&lt;/strong&gt; This is often overlooked, but it's the core of the model. Every time you use the software, you're helping the company train their models. For free. Your prompts, your documents, your patterns—all feeding back into their system.&lt;/p&gt;

&lt;p&gt;So the essence of cloud-based AI isn't selling a service. It's collecting an &lt;strong&gt;intelligence tax&lt;/strong&gt;. As long as you're using their software, you remain a digital tenant in their system.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Local AI Actually Represents
&lt;/h2&gt;

&lt;p&gt;In financial terms, this shift is simple: moving from operating expenses (OpEx) to capital expenditure (CapEx).&lt;/p&gt;

&lt;p&gt;Cloud-based AI is like renting an apartment. You pay every month—that's the subscription fee. And you'll notice it gets more expensive the longer you stay. Price increases. New tiers. "Premium" features that used to be included.&lt;/p&gt;

&lt;p&gt;Local AI is like buying property. You spend $1,000-1,500 once on hardware. After that, your marginal cost drops to nearly zero—just electricity.&lt;/p&gt;

&lt;p&gt;Tools like OpenClaw make this concrete. You download an agent that runs entirely on your machine. It can access your local files, manage your tasks, integrate with your workflow. And unlike cloud AI, it doesn't phone home.&lt;/p&gt;

&lt;p&gt;What big companies fear isn't one Mac mini. They fear &lt;strong&gt;compute power transforming from a service you must continuously rent into a private asset you own outright.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once users taste the economics of ownership, the valuation logic of SaaS starts to crack.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Big Tech Actually Loses
&lt;/h2&gt;

&lt;p&gt;If this trend continues, what do cloud AI companies really lose?&lt;/p&gt;

&lt;p&gt;Not just subscription fees. &lt;strong&gt;The data flywheel stops spinning.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When AI runs locally—processing your documents, your chats, your private files on your own hardware—the cloud never sees it. The feedback loop breaks. The training data dries up.&lt;/p&gt;

&lt;p&gt;This matters because cloud AI's true moat was never the model itself. Models are becoming commoditized. Open-weights alternatives are closing the gap every month.&lt;/p&gt;

&lt;p&gt;The real moat was whether users stayed locked into their servers. Whether you had to keep feeding the machine to use the machine.&lt;/p&gt;

&lt;p&gt;When that lock gets picked, the moat runs dry.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Honest Trade-Off
&lt;/h2&gt;

&lt;p&gt;I don't want to over-hype local AI. It's not the right choice for everyone today.&lt;/p&gt;

&lt;p&gt;If you need the most cutting-edge reasoning, the largest context windows, the lowest maintenance overhead—cloud AI is still the practical choice. Frontier models like Claude and GPT-4 maintain an edge on complex tasks. And some people genuinely prefer paying someone else to handle the infrastructure.&lt;/p&gt;

&lt;p&gt;But the rise of local agents marks something important: &lt;strong&gt;a return of power.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It proves to the market that, if we choose, we don't have to be permanent tenants. We don't have to be data batteries. The option to own exists—and it's becoming more viable every month.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Question
&lt;/h2&gt;

&lt;p&gt;Here's what I want to leave you with:&lt;/p&gt;

&lt;p&gt;If local AI reaches 80% of cloud AI's capability—good enough for most daily tasks—would you still pay rent every month? Or would you rather buy out your digital assistant once and own it forever?&lt;/p&gt;

&lt;p&gt;The technical gap is closing. The economic math is shifting. The only question is whether you want to keep subscribing, or start owning.&lt;/p&gt;

&lt;p&gt;The choice is yours.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>hardware</category>
    </item>
  </channel>
</rss>
