<?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: Josiah Wilson</title>
    <description>The latest articles on DEV Community by Josiah Wilson (@josiahwilsonbit).</description>
    <link>https://dev.to/josiahwilsonbit</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%2F4193442%2F0c899186-161f-4069-a6f8-de87d4deee16.png</url>
      <title>DEV Community: Josiah Wilson</title>
      <link>https://dev.to/josiahwilsonbit</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/josiahwilsonbit"/>
    <language>en</language>
    <item>
      <title>Coordinating two open projects in 3 hours a week — a paid first assignment, evidence over resumes</title>
      <dc:creator>Josiah Wilson</dc:creator>
      <pubDate>Tue, 20 Oct 2026 03:34:25 +0000</pubDate>
      <link>https://dev.to/josiahwilsonbit/coordinating-two-open-projects-in-3-hours-a-week-a-paid-first-assignment-evidence-over-resumes-1pog</link>
      <guid>https://dev.to/josiahwilsonbit/coordinating-two-open-projects-in-3-hours-a-week-a-paid-first-assignment-evidence-over-resumes-1pog</guid>
      <description>&lt;p&gt;I'm Josiah — founder of ClearOpsHub, a small San Diego project building a dashboard for tracking tasks, job status, delivery evidence, and human approvals. I also maintain hr-project-map, an open-source model of person -&amp;gt; responsibility -&amp;gt; project -&amp;gt; task -&amp;gt; deliverable -&amp;gt; evidence -&amp;gt; verification -&amp;gt; completion.&lt;/p&gt;

&lt;p&gt;I need a part-time project coordinator: contract, remote, up to 3 hours per week. Not a job board post — this community is the hiring surface, because the selection method is the point: &lt;strong&gt;evidence over resumes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first assignment is paid (terms agreed in writing before work; no unpaid trial):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;30 min reviewing current project state&lt;/li&gt;
&lt;li&gt;60 min running one milestone against testable acceptance criteria&lt;/li&gt;
&lt;li&gt;90 min writing a developer recruitment plan
One concise document is the deliverable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To apply, comment with:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your rate or a fixed quote for the first assignment (my budget is not yet set — quotes are how I set it).&lt;/li&gt;
&lt;li&gt;Earliest start + weekly availability.&lt;/li&gt;
&lt;li&gt;ONE publicly reviewable artifact of your work.&lt;/li&gt;
&lt;li&gt;Assumptions and exclusions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every application gets a recorded decision with a reason. Shortlisted applicants move to a short conversation, then written terms before any work — "agreed" here means ready for terms, not a contract.&lt;/p&gt;

&lt;p&gt;Repos: github.com/josiahwilson-bit/hr-project-map and the ClearOpsHub work it coordinates.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>hiring</category>
      <category>productivity</category>
      <category>github</category>
    </item>
    <item>
      <title>I built a local-first contract obligation extractor with open-weight models — because contracts shouldn't have to leave the building</title>
      <dc:creator>Josiah Wilson</dc:creator>
      <pubDate>Mon, 19 Oct 2026 06:56:12 +0000</pubDate>
      <link>https://dev.to/josiahwilsonbit/i-built-a-local-first-contract-obligation-extractor-with-open-weight-models-because-contracts-jaf</link>
      <guid>https://dev.to/josiahwilsonbit/i-built-a-local-first-contract-obligation-extractor-with-open-weight-models-because-contracts-jaf</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Obligation Register, local edition&lt;/strong&gt;: a small Python tool that reads a&lt;br&gt;
short business agreement and extracts every obligation — who owes what,&lt;br&gt;
how much, by when — each one pinned to a &lt;strong&gt;verbatim source quote&lt;/strong&gt; from&lt;br&gt;
the document. No cloud API. No per-document fee. The document never&lt;br&gt;
leaves the machine it runs on.&lt;/p&gt;

&lt;p&gt;This is the extraction engine for a service I sell manually today: a&lt;br&gt;
fixed-price Contract Obligation Register ($150, one agreement up to 10&lt;br&gt;
pages, delivered with source quotations and unclear items flagged, no&lt;br&gt;
legal advice). The manual version works — but it doesn't scale, and&lt;br&gt;
sending a client's supplier agreement to a third-party API is exactly&lt;br&gt;
the kind of thing my customers are nervous about. A local open-weight&lt;br&gt;
model removes both problems at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; serves the model locally; the extractor is ~150 lines of
Python standard library — no dependencies to install.&lt;/li&gt;
&lt;li&gt;The model is instructed to return only a JSON array of obligation
packets: obligated party, obligation, amount, deadline, and a
verbatim source quote.&lt;/li&gt;
&lt;li&gt;Every extraction is &lt;strong&gt;scored against a human-authored ground truth&lt;/strong&gt;,
and a quote only counts if it appears in the document — the model
proposes, the evidence decides.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The demo (fictional document, real numbers)
&lt;/h2&gt;

&lt;p&gt;I wrote a fictional services agreement (Juniper Table LLC + Cove Supply&lt;br&gt;
Co. — invented parties, zero client data) with 6 planted obligations:&lt;br&gt;
a $2,500 payment at net 30, a $1,000,000 insurance requirement, a&lt;br&gt;
cycle-count deadline, a $500 variance-reconciliation duty, a&lt;br&gt;
confidentiality prohibition, and a 14-day termination right.&lt;/p&gt;

&lt;p&gt;Results on this machine (2 CPU cores, no GPU):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Captured&lt;/th&gt;
&lt;th&gt;Time&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Qwen 2.5 0.5B&lt;/td&gt;
&lt;td&gt;5 / 6&lt;/td&gt;
&lt;td&gt;~29 s&lt;/td&gt;
&lt;td&gt;Missed the confidentiality prohibition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen 3 4B&lt;/td&gt;
&lt;td&gt;6 / 6&lt;/td&gt;
&lt;td&gt;~4 min&lt;/td&gt;
&lt;td&gt;Complete, including the prohibition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemma 3 1B&lt;/td&gt;
&lt;td&gt;not run&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;Attempted: this sandbox's resolver maps the model registry's CDN to a synthetic non-public address, and the pull is refused. Reported, not hidden.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The 0.5B miss is the most interesting result in the table: small models&lt;br&gt;
skip &lt;em&gt;prohibitions&lt;/em&gt; — duties phrased as "shall not." That's precisely&lt;br&gt;
why the product wraps the model in a human-review gate instead of&lt;br&gt;
pretending extraction is the deliverable. The register flags what it's&lt;br&gt;
unsure about; a person verifies. Automation proposes, evidence decides,&lt;br&gt;
humans approve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why open matters here
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy&lt;/strong&gt;: a contract processed on a $0 local model never transits
anyone's cloud. For legal-adjacent documents, that's not a feature —
it's the whole sale.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost&lt;/strong&gt;: per-document API pricing makes a $150 flat-fee product
marginal at volume. Local inference makes the marginal cost of one
more document zero.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auditability&lt;/strong&gt;: open weights + a pinned model version mean the
extraction is reproducible — a client (or a court of their own
skepticism) can re-run the exact same pipeline.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;PDF ingestion and page-level quote anchoring.&lt;/li&gt;
&lt;li&gt;The human-review queue as a tiny local web UI (approve / correct /
reject per obligation).&lt;/li&gt;
&lt;li&gt;A paid pilot: first real register delivered with the local pipeline,
human-verified, at the same $150 flat fee.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Code: &lt;a href="https://github.com/josiahwilson-bit/obligation-register" rel="noopener noreferrer"&gt;https://github.com/josiahwilson-bit/obligation-register&lt;/a&gt; (publication is a founder-gated step)&lt;/li&gt;
&lt;li&gt;The manual service this productizes: ClearOpsHub&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Built for the DEV Hacktoberfest Open-Source AI Challenge, Week 2 —&lt;br&gt;
Side Hustle.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>hf26challenge</category>
      <category>devchallenge</category>
    </item>
  </channel>
</rss>
