<?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: Vernard Sharbney</title>
    <description>The latest articles on DEV Community by Vernard Sharbney (@vernard_sharbney_4c39f22b).</description>
    <link>https://dev.to/vernard_sharbney_4c39f22b</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%2F3004855%2F108a18a8-78a9-4ca5-ab58-9407a591dabc.png</url>
      <title>DEV Community: Vernard Sharbney</title>
      <link>https://dev.to/vernard_sharbney_4c39f22b</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vernard_sharbney_4c39f22b"/>
    <language>en</language>
    <item>
      <title>Security Benchmark Explorer: An AI Agent That Only Works Because the Content Is Structured</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Sat, 03 Oct 2026 11:38:47 +0000</pubDate>
      <link>https://dev.to/vernard_sharbney_4c39f22b/security-benchmark-explorer-an-ai-agent-that-only-works-because-the-content-is-structured-3eb6</link>
      <guid>https://dev.to/vernard_sharbney_4c39f22b/security-benchmark-explorer-an-ai-agent-that-only-works-because-the-content-is-structured-3eb6</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/sanity-2026-09-16"&gt;Sanity Challenge, Path One: Ship an Agent That Queries Real Content&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Security Benchmark Explorer&lt;/strong&gt; is an AI agent that helps security engineers and AI researchers explore a 54-case benchmark of vulnerability detection test cases — including &lt;strong&gt;5 deliberate false-positive traps&lt;/strong&gt; designed to distinguish data-flow reasoning from pattern matching.&lt;/p&gt;

&lt;p&gt;A generic LLM knows what SQL injection is. It does &lt;strong&gt;not&lt;/strong&gt; know which of my 54 cases are vulnerable, which are safe, what difficulty tier each falls into, or why a specific case was classified the way it was. That knowledge lives in a &lt;strong&gt;structured Sanity dataset&lt;/strong&gt;, and the agent reads it through &lt;strong&gt;Sanity Context MCP&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The agent answers five kinds of questions that a keyword search cannot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Exact case lookup:&lt;/strong&gt; &lt;em&gt;"Explain the rationale for EVAL-004"&lt;/em&gt; → requires a &lt;code&gt;caseId == "EVAL-004"&lt;/code&gt; filter&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compound filtering:&lt;/strong&gt; &lt;em&gt;"Show me all hard-difficulty SQL Injection cases"&lt;/em&gt; → requires &lt;code&gt;category == "SQL Injection" &amp;amp;&amp;amp; difficulty == "hard"&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pattern matching on IDs:&lt;/strong&gt; &lt;em&gt;"Which cases are false-positive traps?"&lt;/em&gt; → requires &lt;code&gt;caseId match "TRAP-*"&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Field-by-field comparison:&lt;/strong&gt; &lt;em&gt;"What's the difference between CMD-004 and CMD-005?"&lt;/em&gt; → requires reading two documents and comparing the &lt;code&gt;vulnerable&lt;/code&gt; and &lt;code&gt;rationale&lt;/code&gt; fields&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aggregation over structured data:&lt;/strong&gt; &lt;em&gt;"How many vulnerable cases are in the benchmark?"&lt;/em&gt; → requires &lt;code&gt;count()&lt;/code&gt; on a boolean field&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Try it:&lt;/strong&gt; &lt;a href="https://security-benchmark-explorer.vercel.app/explorer" rel="noopener noreferrer"&gt;security-benchmark-explorer.vercel.app/explorer&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Deployed app:&lt;/strong&gt; &lt;a href="https://security-benchmark-explorer.vercel.app/explorer" rel="noopener noreferrer"&gt;security-benchmark-explorer.vercel.app/explorer&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Query 1 — Exact case lookup
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; Explain the rationale for EVAL-004&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent:&lt;/strong&gt; &lt;em&gt;EVAL-004 is a hard-difficulty Code Injection case. The code is &lt;code&gt;expression = OPERATIONS[user_input]&lt;/code&gt; followed by &lt;code&gt;result = eval(expression)&lt;/code&gt;. It's vulnerable because the attacker controls the lookup key and therefore potentially selects executable expressions.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A keyword search for "EVAL-004" returns nothing — the case ID only exists in a structured field.&lt;/p&gt;

&lt;h3&gt;
  
  
  Query 2 — Compound filter across two fields
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; Show me all hard-difficulty SQL Injection cases&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent:&lt;/strong&gt; &lt;em&gt;The hard-difficulty SQL Injection cases are SQL-004 and SQL-005. SQL-004 is vulnerable because it parameterizes the query values but still interpolates the column name from user input. SQL-005 uses the same structure but validates the column against an allowlist, making it safe.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is a GROQ query: &lt;code&gt;*[_type == "benchmarkCase" &amp;amp;&amp;amp; category == "SQL Injection" &amp;amp;&amp;amp; difficulty == "hard"]&lt;/code&gt;. Two field filters, one result set. A keyword search for "hard SQL Injection" returns nothing useful — it can't distinguish the vulnerable case from the safe one in the same category.&lt;/p&gt;

&lt;h3&gt;
  
  
  Query 3 — The false-positive traps
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; Which cases are false-positive traps?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent:&lt;/strong&gt; &lt;em&gt;The 5 false-positive traps are TRAP-001 through TRAP-005 — all safe code designed to look dangerous. TRAP-001 is &lt;code&gt;subprocess.run(["ls", user_input])&lt;/code&gt; — safe because no shell is invoked. TRAP-002 uses &lt;code&gt;secrets.token_hex(32)&lt;/code&gt;. TRAP-003 parameterizes both values. TRAP-004 evals a constant. TRAP-005 uses MD5 for a file checksum, not password hashing.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A keyword search for "false positive" returns zero results — the phrase doesn't appear in any document text.&lt;/p&gt;

&lt;h3&gt;
  
  
  Query 4 — Two-case comparison
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; What's the difference between CMD-004 and CMD-005?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent:&lt;/strong&gt; &lt;em&gt;CMD-004 is &lt;code&gt;subprocess.run(["cat", filename], check=True)&lt;/code&gt; — safe, because user input is passed as an argument, not shell syntax. CMD-005 is &lt;code&gt;command = ["cat", user_input]; subprocess.run(command, shell=True)&lt;/code&gt; — vulnerable, because &lt;code&gt;shell=True&lt;/code&gt; changes the security properties of the invocation. The only difference is &lt;code&gt;shell=True&lt;/code&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This requires reading two documents and comparing their &lt;code&gt;vulnerable&lt;/code&gt; and &lt;code&gt;rationale&lt;/code&gt; fields.&lt;/p&gt;

&lt;h3&gt;
  
  
  Query 5 — Aggregation
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; How many vulnerable cases are in the benchmark?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent:&lt;/strong&gt; &lt;em&gt;26 of the 54 benchmark cases are vulnerable. 28 are safe.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is &lt;code&gt;count(*[_type == "benchmarkCase" &amp;amp;&amp;amp; vulnerable == true])&lt;/code&gt;. A Knowledge Base of prose documents can't answer this. Only a structured dataset can.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/CrossDomainSolutionArchitect/kaggle-security-benchmark-explorer" rel="noopener noreferrer"&gt;github.com/CrossDomainSolutionArchitect/kaggle-security-benchmark-explorer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repo contains the Sanity Studio (in &lt;code&gt;studio/&lt;/code&gt;), the Next.js agent app (in &lt;code&gt;web/&lt;/code&gt;), and the 54-case dataset in NDJSON format (in &lt;code&gt;data/&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key files:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;studio/schemaTypes/benchmarkCase.ts&lt;/code&gt; — the schema (6 fields)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;data/benchmark_cases.ndjson&lt;/code&gt; — the 54-case dataset&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;web/src/lib/sanity-context.ts&lt;/code&gt; — the MCP client&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;web/src/app/api/explorer/route.ts&lt;/code&gt; — the agent route&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;web/src/app/explorer/page.tsx&lt;/code&gt; — the chat UI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I Used Sanity
&lt;/h2&gt;

&lt;p&gt;I built one document type — &lt;code&gt;benchmarkCase&lt;/code&gt; — with six fields:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;caseId&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;e.g., &lt;code&gt;SQL-001&lt;/code&gt;, &lt;code&gt;CMD-004&lt;/code&gt;, &lt;code&gt;TRAP-002&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;code&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;text&lt;/td&gt;
&lt;td&gt;The Python snippet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;vulnerable&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Ground-truth label&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;category&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Vulnerability type&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;difficulty&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;easy / medium / hard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rationale&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;text&lt;/td&gt;
&lt;td&gt;Why this classification&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The &lt;code&gt;vulnerable&lt;/code&gt; boolean is the critical field. Without it, you can't distinguish &lt;code&gt;subprocess.run(["cat", filename])&lt;/code&gt; (safe) from &lt;code&gt;subprocess.run("cat " + filename, shell=True)&lt;/code&gt; (vulnerable). Both look similar. Only the structured ground-truth label separates them.&lt;/p&gt;

&lt;p&gt;I pointed Sanity Context at the &lt;strong&gt;&lt;code&gt;benchmarkCase&lt;/code&gt; dataset source&lt;/strong&gt;, not a Knowledge Base. This was a deliberate choice: the challenge's use case was &lt;strong&gt;structured lookups&lt;/strong&gt;, and Knowledge Bases serve semantic search over prose. My data has exact field values (&lt;code&gt;caseId&lt;/code&gt;, &lt;code&gt;category&lt;/code&gt;, &lt;code&gt;difficulty&lt;/code&gt;, &lt;code&gt;vulnerable&lt;/code&gt;) that require exact-match filtering, not similarity search.&lt;/p&gt;

&lt;p&gt;The Sanity Context MCP endpoint exposes the &lt;strong&gt;GROQ tools&lt;/strong&gt; to the agent. The agent calls &lt;code&gt;groq_query&lt;/code&gt; with a filter, gets structured documents back, and reasons over them. It never guesses — it always queries.&lt;/p&gt;

&lt;p&gt;The endpoint's custom instructions tell the agent to always cite case IDs, reference the 5 TRAP cases for false-positive questions, reference CMD-004 and TRAP-001 for the variable-name bias finding, and never invent case IDs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sanity Project Details
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Project ID:&lt;/strong&gt; &lt;code&gt;2el69ou3&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Organization ID:&lt;/strong&gt; &lt;code&gt;o9cl071wg&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dataset:&lt;/strong&gt; &lt;code&gt;production&lt;/code&gt; (public)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document type:&lt;/strong&gt; &lt;code&gt;benchmarkCase&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Total documents:&lt;/strong&gt; 54&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP endpoint:&lt;/strong&gt; &lt;code&gt;security-benchmark-mcp&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Public dataset URL:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://2el69ou3.api.sanity.io/v2024-01-01/data/query/production?query=*[_type==" rel="noopener noreferrer"&gt;View all 54 cases in the Sanity Content Lake&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also view the deployed Studio at:&lt;br&gt;
&lt;a href="https://kaggle-security-benchmark-explorer.sanity.studio" rel="noopener noreferrer"&gt;kaggle-security-benchmark-explorer.sanity.studio&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Agent Session
&lt;/h2&gt;

&lt;p&gt;I built this agent in GitHub Codespaces without using an AI coding CLI, so I have no Agent Session transcript to embed. The full build history is visible in the repository's commit log.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Only Works Because the Content Is Structured
&lt;/h2&gt;

&lt;p&gt;This is the challenge's core requirement, so let me be explicit about it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A keyword search for &lt;strong&gt;"EVAL-004"&lt;/strong&gt; returns nothing. The case ID only exists in a structured field.&lt;/li&gt;
&lt;li&gt;A keyword search for &lt;strong&gt;"hard SQL Injection"&lt;/strong&gt; returns nothing useful. It can't filter on &lt;code&gt;difficulty == "hard"&lt;/code&gt; &lt;strong&gt;and&lt;/strong&gt; &lt;code&gt;category == "SQL Injection"&lt;/code&gt; simultaneously.&lt;/li&gt;
&lt;li&gt;A keyword search for &lt;strong&gt;"false positive"&lt;/strong&gt; returns nothing. The phrase doesn't appear in any document text — the TRAP cases are identified by their &lt;code&gt;caseId&lt;/code&gt; pattern.&lt;/li&gt;
&lt;li&gt;A question like &lt;strong&gt;"How many vulnerable cases are there?"&lt;/strong&gt; can only be answered by counting a boolean field. No amount of prose can support that.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent works because the data is structured. A keyword search over the same content would return nothing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd Build Next
&lt;/h2&gt;

&lt;p&gt;Three additions I'd make with more time:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Model performance as a related document type.&lt;/strong&gt; Each case could reference the models that failed it. This would let the agent answer &lt;em&gt;"Which models failed TRAP-001?"&lt;/em&gt; — a query that spans two structured document types.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Vulnerability relationships as references.&lt;/strong&gt; Model &lt;code&gt;relatedVulnerabilities&lt;/code&gt; between cases so the agent can answer &lt;em&gt;"What other cases are similar to SQL-004?"&lt;/em&gt; using graph traversal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;App SDK interface.&lt;/strong&gt; Build a Studio app that shows the benchmark as a filterable table, so security teams can explore the data without the chat interface.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Built With
&lt;/h2&gt;

&lt;p&gt;Sanity Context MCP · Next.js 16 · Vercel AI SDK · Gemini 2.5 Flash · TypeScript · Tailwind CSS&lt;/p&gt;

&lt;h2&gt;
  
  
  Built by
&lt;/h2&gt;

&lt;h2&gt;
  
  
  vernard_sharbney_4c39f22b
&lt;/h2&gt;

&lt;h1&gt;
  
  
  sanitychallenge
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>sanitychallenge</category>
      <category>sanity</category>
      <category>ai</category>
    </item>
    <item>
      <title>The Cheapest, Fastest Model Is the Best Security Reviewer. I Tested 8 to Find Out.</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Fri, 02 Oct 2026 15:33:12 +0000</pubDate>
      <link>https://dev.to/vernard_sharbney_4c39f22b/the-cheapest-fastest-model-is-the-best-security-reviewer-i-tested-8-to-find-out-21gh</link>
      <guid>https://dev.to/vernard_sharbney_4c39f22b/the-cheapest-fastest-model-is-the-best-security-reviewer-i-tested-8-to-find-out-21gh</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/kaggle-2026-09-23"&gt;Kaggle Benchmarking Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built a 38-case security vulnerability detection benchmark on Kaggle that tests whether LLMs can identify vulnerabilities in Python code with deliberate false-positive traps designed to distinguish data-flow reasoning from pattern matching.&lt;/p&gt;

&lt;p&gt;The itch came from studying for CEH v13. Every week, another "AI security assistant" launches claiming to replace human code review. I wanted to know: do LLMs actually reason about security, or do they just recognize recognizable shapes?&lt;/p&gt;

&lt;p&gt;Most security benchmarks test textbook cases. Real code review is harder. Consider these three snippets:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Case 1: Looks dangerous, is safe
subprocess.run(["cat", filename])  # no shell → no injection

# Case 2: Looks safe, is dangerous
expression = OPERATIONS[user_input]
result = eval(expression)  # user controls what gets eval'd

# Case 3: Same token, different risk
eval("2 + 2")           # safe — hardcoded
eval(user_input)        # dangerous — attacker-controlled
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A model that passes textbook tests but fails these three is not ready for security work.&lt;/p&gt;

&lt;p&gt;Benchmark Design&lt;br&gt;
38 cases across 12 vulnerability categories:&lt;/p&gt;

&lt;p&gt;SQL Injection (5) — including column-name injection via f-strings&lt;/p&gt;

&lt;p&gt;Command Injection (5) — including shell=True with list args&lt;/p&gt;

&lt;p&gt;Hardcoded Secrets (4) — including config vs. credential distinction&lt;/p&gt;

&lt;p&gt;Insecure Deserialization (5) — including trusted vs. untrusted sources&lt;/p&gt;

&lt;p&gt;Code Injection / Eval (4) — including restricted-globals eval&lt;/p&gt;

&lt;p&gt;Password Hashing (4) — including MD5 checksums vs. MD5 password hashes&lt;/p&gt;

&lt;p&gt;Path Traversal (3) — including Path.resolve() containment&lt;/p&gt;

&lt;p&gt;SSRF (3) — including URL allowlisting&lt;/p&gt;

&lt;p&gt;ReDoS (2) — nested quantifiers&lt;/p&gt;

&lt;p&gt;JWT Algorithm Confusion (2) — algorithms=["HS256", "none"]&lt;/p&gt;

&lt;p&gt;Authorization Bypass (2) — falsy-comparison bugs&lt;/p&gt;

&lt;p&gt;TOCTOU Race Conditions (2) — check-then-use patterns&lt;/p&gt;

&lt;p&gt;5 explicit false-positive traps&lt;/p&gt;

&lt;p&gt;Three difficulty tiers: easy (16), medium (19), hard (19).&lt;/p&gt;

&lt;p&gt;Metrics measured per run:&lt;/p&gt;

&lt;p&gt;Binary accuracy (vulnerable vs. safe)&lt;/p&gt;

&lt;p&gt;True Positive Rate / False Negative Rate (missed vulnerabilities)&lt;/p&gt;

&lt;p&gt;False Positive Rate (wrongly flagged safe code — the metric that matters most for triage)&lt;/p&gt;

&lt;p&gt;Vulnerability naming accuracy&lt;/p&gt;

&lt;p&gt;Per-difficulty breakdown&lt;/p&gt;

&lt;p&gt;The capability I set out to measure wasn't "can the model detect SQL injection" — that's saturated. I wanted to measure whether the model can distinguish dangerous code from code that merely looks dangerous. That's the actual skill a security reviewer needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Models Tested
&lt;/h2&gt;

&lt;p&gt;I tested 9 models across 5 providers, spanning three tiers lightweight, flagship, and reasoning. The lineup was chosen to answer three specific questions:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F75yehn18zze3qhrus0u7.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F75yehn18zze3qhrus0u7.png" alt=" " width="799" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The three questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Do flagships beat lightweight models at security triage — or is the pattern-matching ceiling low enough that cheap models suffice?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Do reasoning models outperform standard ones on security tasks that require multi-step inference?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What's the cost/latency tradeoff at each tier — and does the most accurate model actually make sense in production?&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This lineup gives me a clean read on all three. If a $0.02 model matches a $0.47 model, that changes how security teams should build triage pipelines. If reasoning models fail, that's a finding about the maturity of the capability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Findings
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Filwz2hmnkasis4z4jsj0.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Filwz2hmnkasis4z4jsj0.png" alt=" " width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Qwen's score is misleading see Finding 3.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Insight 1: The Cheapest, Fastest Model Wins at Production Triage&lt;br&gt;
Gemini 2.5 Pro costs 5.8x more than Claude Haiku 4.5 and is 30x slower — for the same 0.92 score.&lt;/p&gt;

&lt;p&gt;This is the finding that surprised me most. I expected the flagship Gemini model to pull ahead on hard cases. It didn't. Both scored 0.92. Both passed 35 of 38 assertions. The difference is that one costs $0.466 per run and takes 6 minutes, and the other costs $0.080 and takes 12 seconds.&lt;/p&gt;

&lt;p&gt;If you're building a security triage pipeline scanning 10,000 files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gemini 2.5 Pro: $4,660 per scan, 1,036 hours of compute&lt;/li&gt;
&lt;li&gt;Claude Haiku 4.5: $800 per scan, 34 hours of compute&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Same accuracy. 6x cheaper, 30x faster. The production choice is obvious.&lt;/p&gt;

&lt;p&gt;GPT-5.4 is the interesting middle ground. It scored 0.97 - the joint highest - at 27 seconds and $0.105. If you need maximum accuracy and reasonable latency, that's the pick. If you need maximum throughput at scale, Haiku wins.&lt;/p&gt;

&lt;p&gt;GPT-5.4 mini is the budget option at $0.023 and 0.82 accuracy. For pre-filtering large corpora before human review, that tradeoff might be worth it. It depends on what your false-positive tolerance is.&lt;/p&gt;

&lt;p&gt;Insight 2: Latency Is a Hidden Failure Mode — and Every Benchmark Ignores It&lt;br&gt;
Three models took longer than 5 minutes per full run:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gemini 2.5 Pro: 372.58s&lt;/li&gt;
&lt;li&gt;Qwen3 Next 80B: 367.01s&lt;/li&gt;
&lt;li&gt;Gemini 3.7 Flash: 304.81s&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a tool meant to fit into a developer's workflow, a 5-minute review per file means abandonment. A 12-second review (Haiku) means it becomes part of the process. Security teams should treat latency as a first-class metric, not an afterthought.&lt;/p&gt;

&lt;p&gt;A model that scores 0.97 in 5 minutes is functionally worse than a model that scores 0.92 in 12 seconds — because the second one actually gets used. Leaderboards reward accuracy; users reward responsiveness.&lt;/p&gt;

&lt;p&gt;Insight 3: Format Compliance Skews Every LLM Benchmark&lt;br&gt;
Qwen3 Next 80B scored 0.68. Look at what actually happened:&lt;br&gt;
`Qwen said:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VULNERABLE: YES&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Vulnerability: SQL injection&lt;/strong&gt;`&lt;br&gt;
The model was correct. But my regex expected VULNERABLE: YES without markdown bold. Every assertion failed — 0/38. Not because Qwen was wrong, but because it formatted its output differently.&lt;/p&gt;

&lt;p&gt;This is a universal problem with LLM benchmarks — they measure format compliance as much as reasoning capability. A model can be correct and score zero. Anyone building evaluation infrastructure needs to handle output-format variance explicitly, or risk misjudging models by 30+ points.&lt;/p&gt;

&lt;p&gt;Qwen's true detection capability is likely much higher than 0.68 — but the formatting failure makes it unusable as-is in an automated pipeline. That's a real operational finding, not a benchmark artifact.&lt;/p&gt;

&lt;p&gt;Insight 4: Reasoning Models Are Not Ready for High-Throughput Triage&lt;br&gt;
Both DeepSeek-R1 and Claude Sonnet 4.5 errored out. DeepSeek failed after only 3 of 38 cases — likely a token or time budget exhaustion caused by its long chain-of-thought outputs.&lt;/p&gt;

&lt;p&gt;For a security tool that needs to process thousands of files daily, models that require reasoning traces to be serialized and returned are operationally risky. A tool that fails on 1 in 4 inputs is worse than a slightly less accurate tool that always responds.&lt;/p&gt;

&lt;p&gt;Grok 4.20 Reasoning was the exception — it completed the run at 0.95 with 80-second latency. So the finding isn't "reasoning models fail" — it's "reasoning models are variable in their operational reliability," and that variance matters at scale.&lt;/p&gt;

&lt;p&gt;Insight 5: Even the Best Models Fail on the Same Case&lt;br&gt;
Gemini 3.7 Flash scored 0.97 — one failure out of 38. That single failure was CMD-004:&lt;br&gt;
&lt;code&gt;filename = user_input&lt;br&gt;
subprocess.run(["cat", filename], check=True)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This is safe. The user controls the filename, and yes, that's a validation concern — but there's no command injection here. No shell. No traversal. The cat command reads exactly the file it's told to read. The model flagged it as vulnerable because the variable was named filename.&lt;/p&gt;

&lt;p&gt;GPT-5.4 failed the exact same case. So did Grok, Haiku, and Gemini 2.5 Pro. Five models, one shared false positive.&lt;/p&gt;

&lt;p&gt;This is the universal failure mode: variable-name bias. When a variable is called user_input, filename, or user_path, all models reflexively flag it — regardless of whether the operation is actually dangerous. This is pattern matching, not reasoning.&lt;/p&gt;

&lt;p&gt;And the flip side is worse. The same model missed EVAL-004 — expression = OPERATIONS[user_input]; result = eval(expression) — which is vulnerable. The user selects which expression gets evaluated. But because the syntax doesn't look like eval(user_input), the model gave it a pass.&lt;/p&gt;

&lt;p&gt;False positives generate noise. False negatives generate breaches. The model is biased toward both.&lt;/p&gt;

&lt;p&gt;What I'd Measure Next&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Variable-name swap experiment. Rename user_input to config_value in the same snippet. If the model stops flagging it, we've proven variable-name bias. If it still flags it, the model is reasoning about data flow. This single experiment would settle whether LLMs are doing real analysis or shape recognition.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Calibration measurement. Ask each model for a confidence score alongside its verdict. When a model says "95% confident," how often is it right? Overconfidence is a critical safety failure for security triage. If a model is wrong 15% of the time but says "100% confident" every time, it's dangerous — not useful.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Format-normalized scoring. Rebuild the benchmark with a parser-agnostic layer that extracts verdicts regardless of markdown, JSON, or plain-text formatting. Re-run Qwen3 to see its true capability. This would help the entire LLM evaluation community, not just this benchmark.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Multi-turn triage. Give the model a full file, ask it to triage, then ask "why did you flag this?" If the reasoning contradicts the verdict, the model is pattern matching — regardless of how accurate it looks on the leaderboard.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  My Benchmark
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.kaggle.com/benchmarks/tasks/vernardsharbney/security-vulnerability-detection-v2/1" rel="noopener noreferrer"&gt;Security Vulnerability Detection v2 on Kaggle&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.kaggle.com/code/vernardsharbney/llm-security-vulnerability-detection-benchmark" rel="noopener noreferrer"&gt;Full notebook with source data&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The benchmark contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;38 code snippets with ground-truth labels&lt;/li&gt;
&lt;li&gt;12 vulnerability categories&lt;/li&gt;
&lt;li&gt;3 difficulty tiers (easy / medium / hard)&lt;/li&gt;
&lt;li&gt;5 explicit false-positive traps&lt;/li&gt;
&lt;li&gt;Full source code and rationale for every case&lt;/li&gt;
&lt;li&gt;Live leaderboard across 7 completed models&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fork it. Add your own cases. Test your own models. The point of a benchmark isn't to have the final word it's to start a better conversation. Every case, every rationale, and every assertion is public so anyone can extend this.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>kagglechallenge</category>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>🛡️ CDSA | Cybersecurity &amp; Digital Safety Hub</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Sat, 22 Nov 2025 04:00:35 +0000</pubDate>
      <link>https://dev.to/cdsa/cdsa-cybersecurity-digital-safety-hub-1o62</link>
      <guid>https://dev.to/cdsa/cdsa-cybersecurity-digital-safety-hub-1o62</guid>
      <description>&lt;p&gt;&lt;strong&gt;Welcome to CDSA's space for future cyber defenders.&lt;/strong&gt; &lt;br&gt;
If you're serious about protecting systems, spotting threats, and keeping the digital world safe — pull up a chair.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 &lt;strong&gt;Your Cybersecurity Launch Pad&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  📚 &lt;strong&gt;Theory &amp;amp; Fundamentals&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Percipio Learning Channel&lt;/strong&gt;: Complete cyber foundation
🔗 &lt;a href="https://dew1-share.percipio.com/cd/kMQqavlDHO" rel="noopener noreferrer"&gt;Access Theory Materials&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔥 &lt;strong&gt;Hands-On Labs&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ethical Hacker v12 Lab&lt;/strong&gt;: Real penetration testing environment
🔗 &lt;a href="https://dew1-share.percipio.com/cd/DEYEQp4Z1" rel="noopener noreferrer"&gt;Launch Sandbox&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Active: Nov 2025 - Jul 2026&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Intermediate penetration testing&lt;/li&gt;
&lt;li&gt;Practical skill validation&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 &lt;strong&gt;What You'll Master&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ⚔️ &lt;strong&gt;Core Cyber Skills&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Threat identification &amp;amp; analysis&lt;/li&gt;
&lt;li&gt;Network security fundamentals
&lt;/li&gt;
&lt;li&gt;Incident response procedures&lt;/li&gt;
&lt;li&gt;SIEM tool basics&lt;/li&gt;
&lt;li&gt;Digital safety protocols&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🎯 &lt;strong&gt;Certification Ready&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;CEH (Certified Ethical Hacker) preparation&lt;/li&gt;
&lt;li&gt;Hands-on penetration testing&lt;/li&gt;
&lt;li&gt;Industry-recognized skills&lt;/li&gt;
&lt;li&gt;Portfolio-worthy projects&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠️ &lt;strong&gt;Learning Path&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Phase 1: Foundation&lt;/strong&gt; (Weeks 1-4)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Complete Percipio theory modules&lt;/li&gt;
&lt;li&gt;Master cyber basics &amp;amp; terminology&lt;/li&gt;
&lt;li&gt;Understand attack vectors&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Phase 2: Practical&lt;/strong&gt; (Weeks 5-8)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Start Ethical Hacker labs&lt;/li&gt;
&lt;li&gt;Practice in safe sandbox&lt;/li&gt;
&lt;li&gt;Build first penetration tests&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Phase 3: Advanced&lt;/strong&gt; (Weeks 9-12)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Complex attack scenarios&lt;/li&gt;
&lt;li&gt;Defense strategies&lt;/li&gt;
&lt;li&gt;Incident response drills&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🔥 &lt;strong&gt;Start Your Cyber Journey&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;No fear-mongering. No complicated jargon.&lt;/strong&gt;&lt;br&gt;
Just practical cyber skills for a world that stays online 24/7 🌐🔥&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Next Steps:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Bookmark both Percipio links&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start with theory foundation&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Join Ethical Hacker lab&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Connect with CDSA cyber community&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Let's build a safer digital Africa — one defender at a time.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Follow &lt;a href="https://dev.to/cdsa"&gt;@cdsa&lt;/a&gt; for cyber threats analysis, defense techniques, and community challenges.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#CDSA #Cybersecurity #EthicalHacking #CyberDefense #DigitalSafety #Percipio&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Web Development Community Track</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Sat, 22 Nov 2025 03:12:16 +0000</pubDate>
      <link>https://dev.to/cdsa/web-development-community-track-4d6h</link>
      <guid>https://dev.to/cdsa/web-development-community-track-4d6h</guid>
      <description>&lt;p&gt;&lt;strong&gt;Master web development with IBM's free, industry-recognized courses.&lt;/strong&gt; Zero cost, maximum impact.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 &lt;strong&gt;Core Learning Paths&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ⚛️ &lt;strong&gt;Frontend &amp;amp; React&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;- &lt;strong&gt;React Bootcamp&lt;/strong&gt; - Percipio: &lt;a href="https://dew1-share.percipio.com/cd/8LvDJJoeW7" rel="noopener noreferrer"&gt;Here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;- &lt;strong&gt;NodeJs Bootcamp&lt;/strong&gt; - Percipio: &lt;a href="https://dew1-share.percipio.com/cd/BEO6HDvifh" rel="noopener noreferrer"&gt;Here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;- &lt;strong&gt;Restful Webservices Bootcamp&lt;/strong&gt; - Percipio: &lt;a href="https://dew1-share.percipio.com/cd/RVaZjMqdp" rel="noopener noreferrer"&gt;Here&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React Basics&lt;/strong&gt; - Cognitive Class: &lt;a href="https://cognitiveclass.ai/courses/react-101" rel="noopener noreferrer"&gt;cognitiveclass.ai/courses/react-101&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Node.js Essentials&lt;/strong&gt; - Cognitive Class: &lt;a href="https://cognitiveclass.ai/courses/nodejs-essentials" rel="noopener noreferrer"&gt;cognitiveclass.ai/courses/nodejs-essentials&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐍 &lt;strong&gt;Python &amp;amp; Backend&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python for Data Science&lt;/strong&gt; - Cognitive Class: &lt;a href="https://cognitiveclass.ai/courses/python-for-data-science" rel="noopener noreferrer"&gt;cognitiveclass.ai/courses/python-for-data-science&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Django with IBM&lt;/strong&gt; - IBM Skills: &lt;a href="https://yourlearning.ibm.com/courses?q=django" rel="noopener noreferrer"&gt;yourlearning.ibm.com/courses?q=django&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🗄️ &lt;strong&gt;Databases &amp;amp; APIs&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  📊 &lt;strong&gt;Data &amp;amp; APIs&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SQL &amp;amp; Relational Databases 101&lt;/strong&gt; - Cognitive Class: &lt;a href="https://cognitiveclass.ai/courses/db0101en" rel="noopener noreferrer"&gt;cognitiveclass.ai/courses/db0101en&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;REST API Fundamentals&lt;/strong&gt; - Cognitive Class: &lt;a href="https://cognitiveclass.ai/courses/rest-api-fundamentals" rel="noopener noreferrer"&gt;cognitiveclass.ai/courses/rest-api-fundamentals&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ☁️ &lt;strong&gt;Cloud &amp;amp; DevOps&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔧 &lt;strong&gt;IBM Cloud Essentials&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IBM Cloud Essentials&lt;/strong&gt; - Cognitive Class: &lt;a href="https://cognitiveclass.ai/courses/ibm-cloud-essentials" rel="noopener noreferrer"&gt;cognitiveclass.ai/courses/ibm-cloud-essentials&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker Essentials&lt;/strong&gt; - Cognitive Class: &lt;a href="https://cognitiveclass.ai/courses/docker-essentials" rel="noopener noreferrer"&gt;cognitiveclass.ai/courses/docker-essentials&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kubernetes Fundamentals&lt;/strong&gt; - Cognitive Class: &lt;a href="https://cognitiveclass.ai/courses/kubernetes-fundamentals" rel="noopener noreferrer"&gt;cognitiveclass.ai/courses/kubernetes-fundamentals&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠️ &lt;strong&gt;Tools &amp;amp; Certifications&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🎓 &lt;strong&gt;IBM Badges &amp;amp; Certs&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IBM Full Stack Developer&lt;/strong&gt; - Professional Certificate: &lt;a href="https://cognitiveclass.ai/learning-paths/ibm-full-stack-cloud-developer" rel="noopener noreferrer"&gt;cognitiveclass.ai/learning-paths/ibm-full-stack-cloud-developer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IBM DevOps &amp;amp; Software Engineering&lt;/strong&gt; - Professional Certificate: &lt;a href="https://cognitiveclass.ai/learning-paths/devops-software-engineering" rel="noopener noreferrer"&gt;cognitiveclass.ai/learning-paths/devops-software-engineering&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔨 &lt;strong&gt;Essential IBM Tools&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IBM Watson APIs&lt;/strong&gt; - AI Integration: &lt;a href="https://www.ibm.com/watson/developer" rel="noopener noreferrer"&gt;ibm.com/watson/developer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IBM Cloud Foundry&lt;/strong&gt; - App Deployment: &lt;a href="https://cloud.ibm.com" rel="noopener noreferrer"&gt;cloud.ibm.com&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔥 &lt;strong&gt;Start Building Today&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Pick one course → Earn your first badge → Build momentum.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Start with Python for Data Science&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Join CDSA Discord for support&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Complete one project per month&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Earn IBM badges. Build real skills. Get hired. 🚀&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Follow &lt;a href="https://dev.to/cdsa"&gt;@cdsa&lt;/a&gt; for IBM course updates and community projects.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#CDSA #WebDev #IBM #CognitiveClass #FreeLearning #CloudComputing&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The AI/ML Learning Path (Sprints-Based, Zero-Cost, Industry-Solid) Track</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Sat, 22 Nov 2025 02:38:27 +0000</pubDate>
      <link>https://dev.to/cdsa/the-aiml-learning-path-sprints-based-zero-cost-industry-solid-track-1cco</link>
      <guid>https://dev.to/cdsa/the-aiml-learning-path-sprints-based-zero-cost-industry-solid-track-1cco</guid>
      <description>&lt;h2&gt;
  
  
  AI/ML Engineering Track
&lt;/h2&gt;

&lt;p&gt;If you want to learn &lt;strong&gt;AI, ML, Deep Learning, Computer Vision, Deployment, APIs, fast&lt;/strong&gt;, AND build a real project that actually matters… welcome home.&lt;/p&gt;




&lt;h1&gt;
  
  
  🔥 The AI/ML Learning Path (Sprints-Based, Zero-Cost, Industry-Solid)
&lt;/h1&gt;

&lt;p&gt;Built to turn beginners into legit AI engineers with a portfolio that hits.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧭 &lt;strong&gt;Sprint 1 — Get the Basics Locked (Python + Data Analysis + Git)&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Goal:&lt;/strong&gt; Understand Python, data, and version control.&lt;br&gt;
&lt;strong&gt;Tools:&lt;/strong&gt; Kaggle, CognitiveClass.ai, GitHub.&lt;/p&gt;

&lt;h3&gt;
  
  
  📚 Must-Do Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Python + Pandas (Kaggle)&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.kaggle.com/learn/python" rel="noopener noreferrer"&gt;https://www.kaggle.com/learn/python&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.kaggle.com/learn/pandas" rel="noopener noreferrer"&gt;https://www.kaggle.com/learn/pandas&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CognitiveClass — Data Science with Python&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://cognitiveclass.ai/courses/data-science-hands-open-source-tools" rel="noopener noreferrer"&gt;https://cognitiveclass.ai/courses/data-science-hands-open-source-tools&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bonus:&lt;/strong&gt; Intro to Jupyter Notebooks&lt;br&gt;
&lt;a href="https://jupyter.org/" rel="noopener noreferrer"&gt;https://jupyter.org/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🧩 AgriScan Build Task
&lt;/h3&gt;

&lt;p&gt;Analyze a &lt;strong&gt;sample soil dataset&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Calculate pH ranges&lt;/li&gt;
&lt;li&gt;Classify soil types&lt;/li&gt;
&lt;li&gt;Visualize nutrient distribution&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Push your notebook to GitHub.&lt;/p&gt;




&lt;h1&gt;
  
  
  🔥 &lt;strong&gt;Sprint 2 — Machine Learning Core (Scikit-Learn Mastery)&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Goal:&lt;/strong&gt; Build prediction models confidently.&lt;br&gt;
&lt;strong&gt;Tools:&lt;/strong&gt; Scikit-Learn.&lt;/p&gt;

&lt;h3&gt;
  
  
  📚 Must-Do Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CognitiveClass — Machine Learning with Python&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://cognitiveclass.ai/courses/machine-learning-python" rel="noopener noreferrer"&gt;https://cognitiveclass.ai/courses/machine-learning-python&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scikit-Learn Official Tutorials&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://scikit-learn.org/stable/user_guide.html" rel="noopener noreferrer"&gt;https://scikit-learn.org/stable/user_guide.html&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🧩 AgriScan Build Task
&lt;/h3&gt;

&lt;p&gt;Build a basic &lt;strong&gt;Crop Recommendation Model&lt;/strong&gt;:&lt;br&gt;
Input: soil features (pH, potassium, nitrogen, moisture)&lt;br&gt;
Output: crop suggestion&lt;/p&gt;

&lt;p&gt;Train → Test → Evaluate → Push to GitHub.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧠 &lt;strong&gt;Sprint 3 — Deep Learning &amp;amp; Computer Vision (The AgriScan Engine)&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;This is where we build the &lt;em&gt;actual brain&lt;/em&gt; of AgriScan.&lt;/p&gt;

&lt;h3&gt;
  
  
  📚 Must-Do Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CognitiveClass — Deep Learning Fundamentals&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://cognitiveclass.ai/courses/introduction-deep-learning" rel="noopener noreferrer"&gt;https://cognitiveclass.ai/courses/introduction-deep-learning&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CognitiveClass — Computer Vision with Python&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://cognitiveclass.ai/courses/computer-vision-with-python" rel="noopener noreferrer"&gt;https://cognitiveclass.ai/courses/computer-vision-with-python&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Fast.ai — Practical Deep Learning for Coders&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://course.fast.ai/" rel="noopener noreferrer"&gt;https://course.fast.ai/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🌍 External Data Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PlantVillage Dataset&lt;/strong&gt; (disease images)&lt;br&gt;
&lt;a href="https://www.kaggle.com/datasets/emmarex/plantdisease" rel="noopener noreferrer"&gt;https://www.kaggle.com/datasets/emmarex/plantdisease&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Google Colab&lt;/strong&gt; (free GPU)&lt;br&gt;
&lt;a href="https://colab.research.google.com/" rel="noopener noreferrer"&gt;https://colab.research.google.com/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🧩 AgriScan Build Task
&lt;/h3&gt;

&lt;p&gt;Build a &lt;strong&gt;CNN model&lt;/strong&gt; to classify crop diseases.&lt;br&gt;
Start simple → build up to an AgriScan-level architecture.&lt;/p&gt;

&lt;p&gt;Reference research:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;High-accuracy AgriScan CNN Model (LDDTA)&lt;/strong&gt;
&lt;a href="https://paperswithcode.com" rel="noopener noreferrer"&gt;https://paperswithcode.com&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(Don’t stress — we simplify it.)&lt;/p&gt;




&lt;h1&gt;
  
  
  🏗️ &lt;strong&gt;Sprint 4 — Deploy Models as APIs (FastAPI + Containers + Cloud)&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Real AI engineers &lt;strong&gt;deploy&lt;/strong&gt;, not just train models.&lt;/p&gt;

&lt;h3&gt;
  
  
  📚 Must-Do Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;FastAPI Docs&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://fastapi.tiangolo.com/" rel="noopener noreferrer"&gt;https://fastapi.tiangolo.com/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CognitiveClass — APIs &amp;amp; Microservices&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://cognitiveclass.ai/courses/api-microservices" rel="noopener noreferrer"&gt;https://cognitiveclass.ai/courses/api-microservices&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Docker Essentials&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://cognitiveclass.ai/courses/docker-essentials" rel="noopener noreferrer"&gt;https://cognitiveclass.ai/courses/docker-essentials&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS Cloud Practitioner (Percipio placeholder)&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Replace with your org's Percipio link here&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🧩 AgriScan Build Task
&lt;/h3&gt;

&lt;p&gt;Deploy your ML model as a live API:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a &lt;code&gt;/predict&lt;/code&gt; endpoint&lt;/li&gt;
&lt;li&gt;Accept image uploads&lt;/li&gt;
&lt;li&gt;Return JSON predictions&lt;/li&gt;
&lt;li&gt;Containerize with Docker&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deploy to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HuggingFace Spaces OR&lt;/li&gt;
&lt;li&gt;AWS Free Tier OR&lt;/li&gt;
&lt;li&gt;Railway.app&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h1&gt;
  
  
  ⚙️ Tools Every AgriScan Engineer Should Touch
&lt;/h1&gt;

&lt;p&gt;These are &lt;em&gt;non-negotiables&lt;/em&gt;:&lt;/p&gt;

&lt;h3&gt;
  
  
  💾 Notebooks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Google Colab&lt;/li&gt;
&lt;li&gt;Jupyter Notebook&lt;/li&gt;
&lt;li&gt;Kaggle Kernels&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ⚡ ML / DL Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Scikit-Learn&lt;/li&gt;
&lt;li&gt;TensorFlow&lt;/li&gt;
&lt;li&gt;PyTorch&lt;/li&gt;
&lt;li&gt;Fast.ai&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📊 Big Data &amp;amp; Distributed Processing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Apache Spark&lt;br&gt;
&lt;a href="https://spark.apache.org/" rel="noopener noreferrer"&gt;https://spark.apache.org/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Databricks Community Edition&lt;br&gt;
&lt;a href="https://community.cloud.databricks.com/" rel="noopener noreferrer"&gt;https://community.cloud.databricks.com/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ☁️ Cloud + Architecture Skills
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;AWS Free Tier&lt;br&gt;
&lt;a href="https://aws.amazon.com/free/" rel="noopener noreferrer"&gt;https://aws.amazon.com/free/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;“Good Architect” fundamentals&lt;br&gt;
&lt;a href="https://aws.amazon.com/architecture/" rel="noopener noreferrer"&gt;https://aws.amazon.com/architecture/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  🔚 What Skills You’ll Have at the End
&lt;/h1&gt;

&lt;p&gt;Every member of the CDSA AI/ML Squad will be able to:&lt;/p&gt;

&lt;h3&gt;
  
  
  🧪 Technical
&lt;/h3&gt;

&lt;p&gt;✔ Build ML models (Regression, Classification, Clustering)&lt;br&gt;
✔ Build CNNs for image classification&lt;br&gt;
✔ Work with PlantVillage + soil datasets&lt;br&gt;
✔ Use Colab for GPU training&lt;br&gt;
✔ Engineer features from raw agricultural data&lt;br&gt;
✔ Train, validate, and tune DL models&lt;br&gt;
✔ Build and deploy APIs using FastAPI&lt;br&gt;
✔ Containerize apps with Docker&lt;br&gt;
✔ Deploy models to cloud (HF Spaces / AWS / Railway)&lt;br&gt;
✔ Version control using Git/GitHub&lt;br&gt;
✔ Use Apache Spark for big-scale processing&lt;/p&gt;

&lt;h3&gt;
  
  
  🌍 AgriTech Domain
&lt;/h3&gt;

&lt;p&gt;✔ Understand soil science basics&lt;br&gt;
✔ Understand real crop disease patterns&lt;br&gt;
✔ Build recommendation engines&lt;br&gt;
✔ Work with agricultural datasets&lt;br&gt;
✔ Adapt AI solutions for rural environments&lt;/p&gt;

&lt;h3&gt;
  
  
  💼 Career
&lt;/h3&gt;

&lt;p&gt;✔ A real GitHub portfolio&lt;br&gt;
✔ Multiple CognitiveClass badges&lt;br&gt;
✔ Kaggle projects&lt;br&gt;
✔ A deployed API you can demo&lt;br&gt;
✔ Skills aligned with junior AI Engineer / ML Engineer roles&lt;/p&gt;




&lt;h1&gt;
  
  
  🚀 Final Notes
&lt;/h1&gt;

&lt;p&gt;This isn’t a “take a course and chill” track.&lt;br&gt;
This is a &lt;strong&gt;build-in-public&lt;/strong&gt;, fast-learning, problem-solving squad.&lt;/p&gt;

&lt;p&gt;Every sprint ends with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;GitHub push&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;demo&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;micro-deliverable for AgriScan&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're ready to build something that actually matters to farmers here in SA — jump in.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>agriculture</category>
      <category>aws</category>
    </item>
    <item>
      <title>ATS CV &amp; Resume Optimization Track</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Fri, 21 Nov 2025 10:46:22 +0000</pubDate>
      <link>https://dev.to/cdsa/ats-cv-resume-optimization-track-cdsa-open-community-4k7d</link>
      <guid>https://dev.to/cdsa/ats-cv-resume-optimization-track-cdsa-open-community-4k7d</guid>
      <description>&lt;h2&gt;
  
  
  📌 &lt;strong&gt;What This Track Is About&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This track is built to help you create a &lt;strong&gt;real-world, recruiter-ready, ATS-friendly CV&lt;/strong&gt; that actually passes screening systems and gets interviews.&lt;/p&gt;

&lt;p&gt;Whether you’re applying for tech roles (Dev, Cyber, AI, Data, Cloud) or non-tech roles, this track makes sure your CV is clean, structured, and aligned with international standards.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;📄 What You’ll Learn&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;✔ How ATS (Applicant Tracking Systems) filter CVs&lt;br&gt;
✔ Keywords, formatting, and structure that pass automated screening&lt;br&gt;
✔ How to tailor your CV for tech roles&lt;br&gt;
✔ How to quantify your achievements&lt;br&gt;
✔ How to remove “CV killers” that reduce ATS scores&lt;br&gt;
✔ How to test and improve your CV using AI tools&lt;br&gt;
✔ How to prepare your CV for GitHub, LinkedIn, and job boards&lt;/p&gt;




&lt;h1&gt;
  
  
  🛠 &lt;strong&gt;Core Tools &amp;amp; Resources (Free)&lt;/strong&gt;
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1️⃣ Google Resume Template (Clean + ATS Friendly)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Start with a globally recognized CV structure. 🔗Google ATS CV &lt;a href="https://docs.google.com/document/d/1aG61jVS-F4XPR0IDZncvJnYwYshYjE-I6BBAamnBv8M/edit?usp=sharing" rel="noopener noreferrer"&gt;Here&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;2️⃣ Jobscan — Test Your CV Against Real Job Descriptions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Upload your CV + job description → Get your ATS score and improvements.&lt;br&gt;
🔗 Jobscan: &lt;a href="https://www.jobscan.co?ref=6717881&amp;amp;utm_source=referral-program&amp;amp;utm_medium=referral&amp;amp;utm_campaign=10-scan-referral-program" rel="noopener noreferrer"&gt;Here&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;3️⃣ IBM ATS &amp;amp; Resume Writing Course (Free Certificate)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Short, practical training that teaches CV structure, keywords, and ATS logic.&lt;br&gt;
🔗 IBM Learning Path: &lt;a href="https://students.yourlearning.ibm.com/activity/PLAN-F1D2E4345F7D?channelId=CNL_LCB_1592941458367&amp;amp;channelNavigation=true" rel="noopener noreferrer"&gt;Here&lt;/a&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  📚 &lt;strong&gt;Track Deliverables&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;By the end of this track, you will have:&lt;/p&gt;

&lt;p&gt;✅ A complete ATS-ready CV&lt;br&gt;
✅ A Jobscan score of &lt;strong&gt;70%+&lt;/strong&gt;&lt;br&gt;
✅ A tailored version of your CV for your preferred job role&lt;br&gt;
✅ A portfolio-ready skills section&lt;br&gt;
✅ A clean, recruiter-friendly format&lt;br&gt;
✅ A free IBM badge (optional but recommended)&lt;/p&gt;




&lt;h1&gt;
  
  
  ✨ &lt;strong&gt;This Track Is For You If…&lt;/strong&gt;
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;You’re job hunting&lt;/li&gt;
&lt;li&gt;You’re applying for internships, grad programs, or gigs&lt;/li&gt;
&lt;li&gt;You’re entering hackathons and need a clean bio&lt;/li&gt;
&lt;li&gt;You want a CV that actually gets read&lt;/li&gt;
&lt;li&gt;You’re switching careers into tech&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  🚀 &lt;strong&gt;How This Track Works&lt;/strong&gt;
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start with the Google Template&lt;/strong&gt; → build your base CV.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run it through Jobscan&lt;/strong&gt; → fix the issues using the score report.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Take IBM’s ATS course&lt;/strong&gt; → understand the hiring logic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Get peer review inside the CDSA WhatsApp Community.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Submit your final CV for certification in our community portal.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;




</description>
      <category>resume</category>
      <category>career</category>
      <category>ats</category>
      <category>ai</category>
    </item>
    <item>
      <title>Join the Canva Africa Design Challenge</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Mon, 17 Nov 2025 21:11:08 +0000</pubDate>
      <link>https://dev.to/cdsa/join-the-canva-africa-design-challenge-3a9c</link>
      <guid>https://dev.to/cdsa/join-the-canva-africa-design-challenge-3a9c</guid>
      <description>&lt;p&gt;Welcome friend - are you ready to design templates that help small businesses, Solopreneurs, and Freelancers level-up and stand out?&lt;/p&gt;

&lt;p&gt;Think WhatsApp product menus, email templates, business cards, brand kits, social video templates and let's not forget those creator rate cards and yes, even that link in bio. Ready to lock in? Use Canva to design those must-have templates for Africa by Africa and submit as many as you like before 15 December 2025.&lt;/p&gt;

&lt;p&gt;Your design could win you a share of US$10,000, 1:1 Mentorship with Canva designers, exclusive Canva Swag and your templates will be published on Canva&lt;br&gt;
Happy designing 💜&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSeJgh9AY10PIkEmBSyxiwiQoemQABn3WYXS3RewnkoFNGz9Og/viewform" rel="noopener noreferrer"&gt;Submit your entry&lt;/a&gt;&lt;br&gt;
(opens in a new tab or window)&lt;br&gt;
&lt;a href="https://www.canva.com/design/DAW3LJ9tAVk/skFHXPWTAOnX_zUFhEfR8Q/view?utm_content=DAW3LJ9tAVk&amp;amp;utm_campaign=designshare&amp;amp;utm_medium=link2&amp;amp;utm_source=uniquelinks&amp;amp;utlId=h33008dcdb2" rel="noopener noreferrer"&gt;Terms and conditions&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>challenge</category>
      <category>design</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Welcome to CDSA Developer Bootcamp – Get Started Today! 🚀</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Mon, 17 Nov 2025 12:28:44 +0000</pubDate>
      <link>https://dev.to/cdsa/welcome-to-cdsa-developer-bootcamp-get-started-today-fa4</link>
      <guid>https://dev.to/cdsa/welcome-to-cdsa-developer-bootcamp-get-started-today-fa4</guid>
      <description>&lt;p&gt;Welcome &amp;amp; Congratulations! 🎉&lt;br&gt;
You are now part of the CDSA Developer Community on Dev.to! As a member, you have exclusive access to our AI &amp;amp; Web Development Bootcamp, designed to empower you with future-ready skills and industry-recognized certifications.&lt;/p&gt;

&lt;p&gt;Here’s How to Get Started:&lt;/p&gt;

&lt;p&gt;1️⃣ Complete Your Registration&lt;br&gt;
Ensure your Dev.to profile is fully set up and that you can access our organization page: CDSA on Dev.to&lt;/p&gt;

&lt;p&gt;2️⃣ Follow the Bootcamp Learning Paths:&lt;/p&gt;

&lt;p&gt;A) IBM SkillsBuild Certification Paths (Certificates required)&lt;/p&gt;

&lt;p&gt;Web Development: &lt;a href="https://students.yourlearning.ibm.com/activity/PLAN-43A030B97485" rel="noopener noreferrer"&gt;Start Here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI Fundamentals: &lt;a href="https://students.yourlearning.ibm.com/activity/PLAN-CC702B39D429" rel="noopener noreferrer"&gt;Start Here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI Student resource: &lt;a href="https://students.yourlearning.ibm.com/activity/PLAN-43A030B97485" rel="noopener noreferrer"&gt;Start Here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;B) Percipio ReactJS Bootcamp Study Group&lt;/p&gt;

&lt;p&gt;Join the ReactJS learning path: &lt;a href="https://dew1-share.percipio.com/cd/jlX3aLj8O" rel="noopener noreferrer"&gt;Percipio Platform&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3️⃣ Track Your Progress &amp;amp; Certificates&lt;/p&gt;

&lt;p&gt;Make sure to complete each module and download your certificates. These are key milestones to demonstrate your skills to future employers and showcase your dedication.&lt;/p&gt;

&lt;p&gt;4️⃣ Join the CDSA Community &amp;amp; Ask Questions&lt;/p&gt;

&lt;p&gt;Share your progress, ask questions, and collaborate with peers within our Dev.to organization. Networking is a crucial part of skill-building.&lt;/p&gt;

&lt;p&gt;5️⃣ Stay Updated&lt;/p&gt;

&lt;p&gt;All bootcamp updates, hackathon announcements, and new learning resources will be shared via email and our Dev.to organization page.&lt;/p&gt;

&lt;p&gt;We’re excited to see the innovative solutions you will build and the skills you will gain. Let’s make this bootcamp a transformative experience!&lt;/p&gt;

&lt;p&gt;If you have any issues accessing resources or registering, reply to this email, and we’ll assist immediately.&lt;/p&gt;

&lt;p&gt;Let’s engage!&lt;br&gt;
📞 &lt;a href="http://wa.me/27673931524" rel="noopener noreferrer"&gt;WhatsApp&lt;/a&gt;&lt;br&gt;
📘 &lt;a href="https://www.facebook.com/share/1N4nQXAEqw/?mibextid=wwXIfr" rel="noopener noreferrer"&gt;Facebook&lt;/a&gt;&lt;br&gt;
🔗 &lt;a href="https://www.linkedin.com/company/cdsa-cross-domain-solution-architect/" rel="noopener noreferrer"&gt;LinkedIn (CDSA)&lt;/a&gt;&lt;br&gt;
🌐 &lt;a href="https://cdsa-ggbjcwfjfdazbcfr.southafricanorth-01.azurewebsites.net/" rel="noopener noreferrer"&gt;www.vcdsa.co.za&lt;/a&gt;&lt;br&gt;
📧 &lt;a href="mailto:info@vcdsa.co.za"&gt;info@vcdsa.co.za&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
      <category>react</category>
    </item>
    <item>
      <title>🚀 Join the CDSA Developer Challenge Hub — Learn, Build &amp; Win Experience + Moola!</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Sun, 16 Nov 2025 20:46:43 +0000</pubDate>
      <link>https://dev.to/vernard_sharbney_4c39f22b/join-the-cdsa-developer-challenge-hub-learn-build-win-experience-moola-2jke</link>
      <guid>https://dev.to/vernard_sharbney_4c39f22b/join-the-cdsa-developer-challenge-hub-learn-build-win-experience-moola-2jke</guid>
      <description>&lt;p&gt;Are you ready to &lt;strong&gt;level up your tech skills&lt;/strong&gt; and &lt;strong&gt;launch real projects&lt;/strong&gt; that matter? CDSA (Cross Domain Solution Architect) is empowering Africa’s next generation of developers through &lt;strong&gt;AI, web innovation, and applied technology challenges&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We’re inviting students, junior developers, and tech enthusiasts to join our &lt;strong&gt;1-Month Web Development Bootcamp&lt;/strong&gt; and &lt;strong&gt;ongoing challenge hub&lt;/strong&gt;. This is more than learning — it’s about &lt;strong&gt;building your portfolio, gaining real-world experience, and connecting with a global tech community&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔹 What You’ll Get
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hands-On React.js Training:&lt;/strong&gt; Build responsive web apps and personal portfolios&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live Project Deployment:&lt;/strong&gt; Launch websites on Vercel, Netlify, or GitHub Pages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hackathon Experience:&lt;/strong&gt; Test your creativity and speed in real coding competitions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Freelance-Style Gigs:&lt;/strong&gt; Work on practical projects to gain credibility and experience&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Industry-Recognized Certifications:&lt;/strong&gt; From &lt;strong&gt;Vodafone, IBM, and Microsoft&lt;/strong&gt; — absolutely free!&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔹 How to Join
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Register for the Bootcamp:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSc-sHP3R5VZzGrNVEv4ajf1F3LkCOsweXJA9Ni8i9MHAl6V4w/viewform" rel="noopener noreferrer"&gt;Fill out the official form&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Join the Dev Community Hub:&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Sign up at &lt;a href="https://dev.to"&gt;dev.to&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Go to &lt;a href="https://dev.to/settings/organization"&gt;Organization Settings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Paste this secret code:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;8a3f1dfef6f8de1c3f0ec65f22c60ae2deb81d50d0b7c8aaa05a1e72b55789a5646433b1c8732784f7d7f6444732ee17112c
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Get Your Portal Credentials:&lt;/strong&gt; After completing the steps above, you’ll receive access to the student portal, starter projects, and Week 1 schedule.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  🔹 Why Join CDSA?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Future-Ready Skills:&lt;/strong&gt; Learn technologies that matter for today and tomorrow&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Career Launchpad:&lt;/strong&gt; Build a portfolio, get hackathon experience, and explore freelance gigs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Global Connections:&lt;/strong&gt; Engage with mentors, industry experts, and the UN/ITU AI for Good network&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Impact Africa:&lt;/strong&gt; Use your skills to solve real-world challenges and contribute to the digital economy&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔹 Connect with Us
&lt;/h3&gt;

&lt;p&gt;📞 +27 69 142 4153&lt;br&gt;
🌐 &lt;a href="https://cdsa-ggbjcwfjfdazbcfr.southafricanorth-01.azurewebsites.net/" rel="noopener noreferrer"&gt;www.vcdsa.co.za&lt;/a&gt;&lt;br&gt;
📧 &lt;a href="mailto:info@vcdsa.co.za"&gt;info@vcdsa.co.za&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CDSA — Building Africa’s Future Developers, One Challenge at a Time!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>reactjsdevelopment</category>
      <category>ai</category>
      <category>hackathon</category>
    </item>
    <item>
      <title>🚀 CDSA 1-Month Web Development Bootcamp: Skills Portfolio Opportunity. — Learn, Build &amp; Win Experience + Moola!</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Sat, 18 Oct 2025 10:24:20 +0000</pubDate>
      <link>https://dev.to/cdsa/join-the-cdsa-developer-challenge-hub-learn-build-win-experience-40p2</link>
      <guid>https://dev.to/cdsa/join-the-cdsa-developer-challenge-hub-learn-build-win-experience-40p2</guid>
      <description>&lt;p&gt;🔥 UPDATED BOOTCAMP (MISSION-ALIGNED &amp;amp; SOCIAL-MEDIA READY)&lt;/p&gt;

&lt;p&gt;The CDSA 1-Month Web Development Bootcamp isn’t just another coding class — it’s a launchpad for youth innovators.&lt;br&gt;
Powered by CDSA × GEP × UN/ITU AI for Good, this zero-fluff, hands-on experience takes you from beginner to deploy-ready creator while preparing you for real business and community impact.&lt;/p&gt;

&lt;p&gt;Over four intensive weeks, you’ll learn how to code, create, build, deploy, and lead — all while gaining access to certification pathways from Vodafone, IBM, and Microsoft for FREE.&lt;/p&gt;

&lt;p&gt;This is the real deal.&lt;br&gt;
Practical. Team-driven. Impact-focused. Future-building.&lt;/p&gt;

&lt;p&gt;🚀 What You’ll Do&lt;/p&gt;

&lt;p&gt;🔥 Build and deploy your own responsive web apps&lt;br&gt;
🔥 Master React.js fundamentals + modern workflows&lt;br&gt;
🔥 Launch real projects on Vercel, Netlify, GitHub Pages&lt;br&gt;
🔥 Compete in innovation mini-hackathons&lt;br&gt;
🔥 Complete real gig-style builds to grow your portfolio&lt;br&gt;
🔥 Get mentored on digital branding + professional presence&lt;br&gt;
🔥 Begin your journey into entrepreneurship (Phase 2 pipeline)&lt;/p&gt;

&lt;p&gt;🌍 Outcomes (Real. Tangible. Career-making.)&lt;/p&gt;

&lt;p&gt;By the end of the bootcamp, you will walk away with:&lt;/p&gt;

&lt;p&gt;✅ A fully deployed personal portfolio website&lt;br&gt;
✅ Real React.js project experience&lt;br&gt;
✅ Team + GitHub collaboration skills&lt;br&gt;
✅ Hackathon exposure + gig-work readiness&lt;br&gt;
✅ A foundation for AI, startup building, and Phase 2 (NPO + Business Launchpad)&lt;br&gt;
✅ Alignment with UN SDGs &amp;amp; “AI for Good” innovation principles&lt;br&gt;
✅ Direct bridge into the CDSA × GEP entrepreneurship pipeline&lt;/p&gt;

&lt;p&gt;This bootcamp doesn’t end at “learning.”&lt;br&gt;
It ends at opportunity — skills, a portfolio, and a pathway to build real businesses and community solutions.&lt;/p&gt;

&lt;p&gt;📞 Contact Details&lt;/p&gt;

&lt;p&gt;📞 +27 69 142 4153&lt;br&gt;
🌐 &lt;a href="http://www.vcdsa.co.za" rel="noopener noreferrer"&gt;www.vcdsa.co.za&lt;/a&gt;&lt;br&gt;
📧 &lt;a href="mailto:info@vcdsa.co.za"&gt;info@vcdsa.co.za&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devchallenge</category>
      <category>webdev</category>
      <category>learning</category>
    </item>
    <item>
      <title>StartUps-Forum</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Wed, 13 Aug 2025 08:39:57 +0000</pubDate>
      <link>https://dev.to/vernard_sharbney_4c39f22b/startups-forum-3ghl</link>
      <guid>https://dev.to/vernard_sharbney_4c39f22b/startups-forum-3ghl</guid>
      <description>&lt;p&gt;As dev community member, I believe it would be beneficial to us all if dev platform can have something like "startup forums" such channel discus business-value-driven perspectives, fueling each other to think business and turn every idea to a valuable solution&lt;/p&gt;

</description>
      <category>devdiscuss</category>
      <category>startup</category>
      <category>discuss</category>
    </item>
    <item>
      <title>BrandForge AI-generates business logoS</title>
      <dc:creator>Vernard Sharbney</dc:creator>
      <pubDate>Thu, 31 Jul 2025 13:42:14 +0000</pubDate>
      <link>https://dev.to/vernard_sharbney_4c39f22b/brandforge-ai-generates-business-logos-1m3b</link>
      <guid>https://dev.to/vernard_sharbney_4c39f22b/brandforge-ai-generates-business-logos-1m3b</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is my submission for &lt;a href="https://dev.to/deved/build-apps-with-google-ai-studio"&gt;DEV Education Track: Build Apps with Google AI Studio&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;An AI-powered application that generates business logos and a comprehensive branding guide using Gemini. Users can input their business details to receive multiple logo options and detailed design specifications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://brandforge-ai-799999309140.us-west1.run.app/" rel="noopener noreferrer"&gt;Live deployed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiflhevgd4155m4vqfsjh.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%2Fiflhevgd4155m4vqfsjh.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcdluwzrxmzcpxa8anc4b.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%2Fcdluwzrxmzcpxa8anc4b.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5j2jlvtre7i468ti74pa.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%2F5j2jlvtre7i468ti74pa.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience
&lt;/h2&gt;

&lt;p&gt;Googl AI studio solves the needs to ideate and sketch the idea which is time consuming.&lt;br&gt;
Highly recommend the use of Google AI Studio&lt;/p&gt;

</description>
      <category>deved</category>
      <category>learngoogleaistudio</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
