<?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: Joan A.</title>
    <description>The latest articles on DEV Community by Joan A. (@joan_a_a54e4495093cb5f0a).</description>
    <link>https://dev.to/joan_a_a54e4495093cb5f0a</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3840081%2F2ed11d38-031e-4303-bdcc-f7a63796a851.png</url>
      <title>DEV Community: Joan A.</title>
      <link>https://dev.to/joan_a_a54e4495093cb5f0a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joan_a_a54e4495093cb5f0a"/>
    <language>en</language>
    <item>
      <title>I built 3 AI tools around document clarity — now I hope they find the right users</title>
      <dc:creator>Joan A.</dc:creator>
      <pubDate>Tue, 24 Mar 2026 20:39:07 +0000</pubDate>
      <link>https://dev.to/joan_a_a54e4495093cb5f0a/i-built-3-ai-tools-around-document-clarity-now-i-hope-they-find-the-right-users-3je</link>
      <guid>https://dev.to/joan_a_a54e4495093cb5f0a/i-built-3-ai-tools-around-document-clarity-now-i-hope-they-find-the-right-users-3je</guid>
      <description>&lt;p&gt;Over the past months, I’ve built three small AI products focused on helping people understand important documents and information more clearly:&lt;/p&gt;

&lt;p&gt;&lt;a href="//GetRevealr.com"&gt;GetRevealr.com&lt;/a&gt;&lt;br&gt;
&lt;a href="//WorkContractReview.com"&gt;WorkContractReview.com&lt;/a&gt;&lt;br&gt;
&lt;a href="//SaferLease.com"&gt;SaferLease.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They all come from the same idea: people often sign, read, or analyze things that matter without enough clarity, and I wanted to build tools that make that process simpler.&lt;/p&gt;

&lt;p&gt;Each one has taught me something different about trust, tone, OCR, and how hard it is to make AI useful in real-world workflows.&lt;/p&gt;

&lt;p&gt;Still early, but I’m proud I built all three — and I hope they go well.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>What Building an AI Lease Review Tool Taught Me About Clarity, Trust, and Real-World Documents</title>
      <dc:creator>Joan A.</dc:creator>
      <pubDate>Tue, 24 Mar 2026 20:31:59 +0000</pubDate>
      <link>https://dev.to/joan_a_a54e4495093cb5f0a/what-building-an-ai-lease-review-tool-taught-me-about-clarity-trust-and-real-world-documents-41ed</link>
      <guid>https://dev.to/joan_a_a54e4495093cb5f0a/what-building-an-ai-lease-review-tool-taught-me-about-clarity-trust-and-real-world-documents-41ed</guid>
      <description>&lt;p&gt;When people hear about an AI tool for reviewing leases, the first reaction is usually:&lt;/p&gt;

&lt;p&gt;“That makes sense. Upload the lease, extract the text, and let the model explain it.”&lt;/p&gt;

&lt;p&gt;That sounds simple.&lt;/p&gt;

&lt;p&gt;It isn’t.&lt;/p&gt;

&lt;p&gt;Building &lt;a href="//SaferLease.com"&gt;SaferLease.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;has shown me that lease review is one of those products that feels obvious in theory and messy in practice. Because a lease is never just a document. It’s a financial commitment, a legal agreement, and, for most people, something they sign under time pressure.&lt;/p&gt;

&lt;p&gt;That changes how you have to build.&lt;/p&gt;

&lt;p&gt;Most people don’t want “legal analysis.” They want clarity.&lt;/p&gt;

&lt;p&gt;One of the biggest lessons for me has been this:&lt;/p&gt;

&lt;p&gt;Most users are not looking for a sophisticated legal essay.&lt;/p&gt;

&lt;p&gt;They want to know things like:&lt;/p&gt;

&lt;p&gt;What should I pay attention to?&lt;br&gt;
Is there anything unusual here?&lt;br&gt;
What happens if I leave early?&lt;br&gt;
Who is responsible for repairs?&lt;br&gt;
Are there fees, penalties, or clauses that could surprise me later?&lt;/p&gt;

&lt;p&gt;That sounds straightforward, but it creates a real product challenge.&lt;/p&gt;

&lt;p&gt;If the output is too technical, it becomes hard to use.&lt;br&gt;
If it is too vague, it is not helpful.&lt;br&gt;
If it is too alarming, it creates unnecessary fear.&lt;br&gt;
If it sounds too confident, users may trust things they should verify more carefully.&lt;/p&gt;

&lt;p&gt;The right experience is not “AI lawyer mode.”&lt;/p&gt;

&lt;p&gt;It is closer to plain-English guidance that helps people spot what matters.&lt;/p&gt;

&lt;p&gt;That has shaped a lot of how I think about product quality. In this kind of tool, clarity is not a nice extra. It is the product.&lt;/p&gt;

&lt;p&gt;Leases look standardized until you actually work with them&lt;/p&gt;

&lt;p&gt;From the outside, lease documents seem fairly repetitive.&lt;/p&gt;

&lt;p&gt;But once you start working with real ones, the differences show up fast.&lt;/p&gt;

&lt;p&gt;The structure varies.&lt;br&gt;
The wording varies.&lt;br&gt;
The formatting varies.&lt;br&gt;
The risk varies even more.&lt;/p&gt;

&lt;p&gt;Some leases are clean and easy to parse. Others are scanned, badly formatted, or full of dense clauses that mix standard terms with highly specific conditions. Two documents can look almost identical while creating very different obligations for the tenant.&lt;/p&gt;

&lt;p&gt;That is where a lot of the difficulty lives.&lt;/p&gt;

&lt;p&gt;The challenge is not just extracting text or summarizing clauses. The challenge is identifying what deserves attention without overwhelming the user with noise.&lt;/p&gt;

&lt;p&gt;Because not every clause is equally important. A routine occupancy rule should not be framed the same way as an automatic renewal clause, a penalty-heavy early termination section, or ambiguous maintenance language.&lt;/p&gt;

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

&lt;p&gt;PDF extraction is one of the hardest parts of the stack&lt;/p&gt;

&lt;p&gt;A lot of AI products quietly assume that the input text is already clean.&lt;/p&gt;

&lt;p&gt;Real users do not behave that way.&lt;/p&gt;

&lt;p&gt;They upload scanned leases, exported PDFs, photos turned into PDFs, and documents with inconsistent formatting or missing structure. And when that happens, the extraction layer becomes one of the most important parts of the entire system.&lt;/p&gt;

&lt;p&gt;This is where silent failure becomes dangerous.&lt;/p&gt;

&lt;p&gt;A clause gets broken across lines.&lt;br&gt;
A number gets misread.&lt;br&gt;
A section heading disappears.&lt;br&gt;
A sentence is merged with the wrong paragraph.&lt;/p&gt;

&lt;p&gt;Then the model takes that imperfect text and does what it is designed to do: produce a confident answer.&lt;/p&gt;

&lt;p&gt;That means the system can sound polished while reasoning over flawed input.&lt;/p&gt;

&lt;p&gt;For me, that has been one of the clearest reminders that OCR and document parsing are not just backend details. They directly affect user trust. If extraction quality is weak, the product has to recognize that and respond carefully rather than pretending everything is fine.&lt;/p&gt;

&lt;p&gt;In high-trust workflows, confidence is only useful when it is earned.&lt;/p&gt;

&lt;p&gt;Tone is a product decision&lt;/p&gt;

&lt;p&gt;Another thing I underestimated early on was how much tone affects perceived quality.&lt;/p&gt;

&lt;p&gt;In lease review, users want something that feels calm, clear, and useful. Not robotic. Not alarmist. Not overly academic.&lt;/p&gt;

&lt;p&gt;That balance is harder than it looks.&lt;/p&gt;

&lt;p&gt;If every clause is presented as a red flag, the output becomes exhausting.&lt;br&gt;
If every clause sounds neutral, important issues disappear into the background.&lt;br&gt;
If the language is too generic, users feel like they learned nothing.&lt;/p&gt;

&lt;p&gt;So a lot of the work is really about calibration.&lt;/p&gt;

&lt;p&gt;How do you explain risk without overstating it?&lt;br&gt;
How do you surface uncertainty without making the tool feel weak?&lt;br&gt;
How do you keep the experience approachable for someone who has never read a lease carefully before?&lt;/p&gt;

&lt;p&gt;That is not just a prompt problem. It is a product problem.&lt;/p&gt;

&lt;p&gt;The real goal is reducing uncertainty&lt;/p&gt;

&lt;p&gt;What I’ve learned from building SaferLease.com&lt;br&gt;
 is that people are not uploading leases because they want a summary for fun.&lt;/p&gt;

&lt;p&gt;They upload them because they are uncertain.&lt;/p&gt;

&lt;p&gt;They are about to sign something that affects where they live, what they owe, what they are responsible for, and what could go wrong later. They want a faster way to understand the document, but speed alone is not enough.&lt;/p&gt;

&lt;p&gt;They want reassurance that they are not missing something important.&lt;/p&gt;

&lt;p&gt;That is why I think the real value in this category is not “AI can read your lease.”&lt;/p&gt;

&lt;p&gt;It is: AI can help you understand the parts that deserve a second look.&lt;/p&gt;

&lt;p&gt;That framing changes everything. It pushes you to optimize less for flashy output and more for practical usefulness.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>learning</category>
      <category>startup</category>
      <category>ux</category>
    </item>
    <item>
      <title>What Building an AI Contract Review Tool Taught Me About Trust, Tone, and Starting Narrow</title>
      <dc:creator>Joan A.</dc:creator>
      <pubDate>Tue, 24 Mar 2026 20:30:17 +0000</pubDate>
      <link>https://dev.to/joan_a_a54e4495093cb5f0a/what-building-an-ai-contract-review-tool-taught-me-about-trust-tone-and-starting-narrow-pgi</link>
      <guid>https://dev.to/joan_a_a54e4495093cb5f0a/what-building-an-ai-contract-review-tool-taught-me-about-trust-tone-and-starting-narrow-pgi</guid>
      <description>&lt;p&gt;When people first hear about an AI tool for reviewing work contracts, the reaction is usually something like:&lt;/p&gt;

&lt;p&gt;“That sounds straightforward. Upload a contract, extract the text, ask the model to explain it.”&lt;/p&gt;

&lt;p&gt;In practice, it’s not straightforward at all.&lt;/p&gt;

&lt;p&gt;Building &lt;a href="//WorkContractReview.com"&gt;WorkContractReview.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;has taught me that contract review is one of those product categories that looks simple from the outside, but gets complicated the moment you try to make it reliable for real users.&lt;/p&gt;

&lt;p&gt;A contract is not just text. It is risk, context, ambiguity, and user anxiety packed into a PDF.&lt;/p&gt;

&lt;p&gt;And that changes everything.&lt;/p&gt;

&lt;p&gt;The first lesson: start with one contract type&lt;/p&gt;

&lt;p&gt;One of the biggest mistakes you can make when building an AI product is assuming that similar-looking tasks are actually the same task.&lt;/p&gt;

&lt;p&gt;At first glance, employment contracts, freelance agreements, NDAs, consulting agreements, and offer letters all feel close enough that a single generalized workflow should handle them.&lt;/p&gt;

&lt;p&gt;That assumption breaks fast.&lt;/p&gt;

&lt;p&gt;Each document type has different structures, different key clauses, different user expectations, and different levels of risk. The same model prompt that sounds useful on one contract can sound vague, overly cautious, or even misleading on another.&lt;/p&gt;

&lt;p&gt;That’s why I think starting narrow matters so much.&lt;/p&gt;

&lt;p&gt;Instead of trying to analyze every possible legal document from day one, it makes far more sense to focus on one contract type and get very good at it. Not because expansion is impossible, but because trust is built through consistency. A tool that works well for one use case is more valuable than a tool that kind of works for ten.&lt;/p&gt;

&lt;p&gt;In AI products, premature generalization is often just another form of product fragility.&lt;/p&gt;

&lt;p&gt;The second lesson: tone is part of the product&lt;/p&gt;

&lt;p&gt;Another thing I underestimated early on was how much the tone of the output matters.&lt;/p&gt;

&lt;p&gt;With contract review, users do not just want information. They want information delivered in a way that feels clear, grounded, and useful.&lt;/p&gt;

&lt;p&gt;Too neutral, and the output feels generic.&lt;br&gt;
Too aggressive, and everything sounds like a legal emergency.&lt;br&gt;
Too much hedging, and users stop trusting the tool.&lt;br&gt;
Too much confidence, and the tool becomes dangerous.&lt;/p&gt;

&lt;p&gt;The sweet spot is surprisingly hard to hit.&lt;/p&gt;

&lt;p&gt;The best experience is usually not “formal legal robot” and not “casual AI assistant.” It is closer to a knowledgeable friend who helps you understand what deserves attention.&lt;/p&gt;

&lt;p&gt;That means the model has to do more than summarize clauses. It has to communicate risk with the right level of weight. A non-compete clause should not sound identical to a probation period clause. A standard confidentiality clause should not trigger the same tone as a one-sided termination condition.&lt;/p&gt;

&lt;p&gt;This is where prompt design alone is not enough.&lt;/p&gt;

&lt;p&gt;You need iteration, feedback, and a quality loop. You need to read real outputs and ask:&lt;/p&gt;

&lt;p&gt;Does this feel trustworthy?&lt;br&gt;
Does this over-warn?&lt;br&gt;
Does this bury the important part?&lt;br&gt;
Would a normal user actually understand what to do next?&lt;/p&gt;

&lt;p&gt;In other words, UX writing and model behavior are tightly connected. Tone is not decoration. Tone is product design.&lt;/p&gt;

&lt;p&gt;The third lesson: PDF extraction is not a minor detail&lt;/p&gt;

&lt;p&gt;A lot of AI product demos begin after the text is already clean.&lt;/p&gt;

&lt;p&gt;Real users do not.&lt;/p&gt;

&lt;p&gt;They upload scanned PDFs, low-quality exports, phone camera captures, partially corrupted files, and documents with inconsistent formatting. And once that happens, your system is only as good as the text extraction layer underneath it.&lt;/p&gt;

&lt;p&gt;This is one of the hardest parts of the stack.&lt;/p&gt;

&lt;p&gt;The most dangerous failure mode is not a visible crash. It is silent failure.&lt;/p&gt;

&lt;p&gt;The OCR or extraction pipeline mangles a clause.&lt;br&gt;
A heading disappears.&lt;br&gt;
A date is misread.&lt;br&gt;
A salary figure is broken.&lt;br&gt;
A paragraph is split incorrectly.&lt;/p&gt;

&lt;p&gt;Then the LLM does exactly what LLMs do: it confidently analyzes the text it received.&lt;/p&gt;

&lt;p&gt;That means the model can produce something polished, structured, and persuasive while being grounded in incomplete or distorted input.&lt;/p&gt;

&lt;p&gt;This is why I think extraction quality should be treated as a core product problem, not a preprocessing detail.&lt;/p&gt;

&lt;p&gt;If the source text is weak, the system should be able to detect uncertainty early, flag it clearly, and avoid pretending the analysis is operating on perfect input.&lt;/p&gt;

&lt;p&gt;For users, confidence without reliability is worse than a limitation message.&lt;/p&gt;

&lt;p&gt;The real product is trust&lt;/p&gt;

&lt;p&gt;What I’ve learned from building WorkContractReview.com&lt;br&gt;
 is that AI contract review is not mainly about “making GPT read a contract.”&lt;/p&gt;

&lt;p&gt;It is about building a system that users can trust when the stakes feel personal.&lt;/p&gt;

&lt;p&gt;And work contracts are personal.&lt;/p&gt;

&lt;p&gt;People are not uploading them for curiosity. They are uploading them because they are about to sign something that affects their income, obligations, flexibility, and future options. They want speed, yes. But more than that, they want clarity.&lt;/p&gt;

&lt;p&gt;That changes how you build.&lt;/p&gt;

&lt;p&gt;You start caring less about showing off model intelligence and more about reducing ambiguity.&lt;br&gt;
You start caring less about covering every document type and more about reliability in the ones you support.&lt;br&gt;
You start caring less about sounding impressive and more about sounding useful.&lt;/p&gt;

&lt;p&gt;That shift has probably been the biggest lesson for me.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>product</category>
      <category>showdev</category>
      <category>startup</category>
    </item>
    <item>
      <title>How I built an AI contract analyzer in a few weeks (and what I learned about legal text)</title>
      <dc:creator>Joan A.</dc:creator>
      <pubDate>Mon, 23 Mar 2026 12:07:00 +0000</pubDate>
      <link>https://dev.to/joan_a_a54e4495093cb5f0a/how-i-built-an-ai-contract-analyzer-in-a-few-weeks-and-what-i-learned-about-legal-text-4apj</link>
      <guid>https://dev.to/joan_a_a54e4495093cb5f0a/how-i-built-an-ai-contract-analyzer-in-a-few-weeks-and-what-i-learned-about-legal-text-4apj</guid>
      <description>&lt;p&gt;I'm a developer. I sign freelance contracts. At some point I realized I was doing both badly.&lt;br&gt;
Not the development part — the contract part. I was signing agreements I only half-understood, trusting that the other party had written something reasonable.&lt;/p&gt;

&lt;p&gt;So I built &lt;a href="https://getrevealr.com" rel="noopener noreferrer"&gt;GetRevealr&lt;/a&gt; to fix that.&lt;/p&gt;

&lt;p&gt;The core problem with legal text&lt;br&gt;
Legal language is designed to be precise, not readable. The same clause that protects one party can silently harm the other. The ambiguity isn't accidental — it's structural.&lt;/p&gt;

&lt;p&gt;Teaching an AI to surface that ambiguity was harder than I expected. The challenge isn't identifying obviously bad clauses. It's flagging the ones that look neutral but create asymmetric risk — an IP assignment that extends to side projects, a termination clause that only favors one side, an auto-renewal window so short it's nearly impossible to meet.&lt;/p&gt;

&lt;p&gt;What the system does&lt;/p&gt;

&lt;p&gt;You upload a contract — PDF, Word, or image. The AI reads every clause, assigns a risk score from 0 to 100, and returns plain-English explanations with specific recommended actions for each flagged item.&lt;/p&gt;

&lt;p&gt;The hard part was calibrating tone. Legal analysis tends to be either too technical or too alarmist. I wanted something that felt like a knowledgeable friend reading the contract with you — not a legal disclaimer machine.&lt;/p&gt;

&lt;p&gt;What I'd do differently&lt;/p&gt;

&lt;p&gt;Start with one contract type, not all of them. I built for leases, employment, NDAs, and freelance contracts simultaneously. Each has different risk patterns and different user contexts. Narrowing the scope early would have made the first version much cleaner.&lt;/p&gt;

&lt;p&gt;Try it&lt;/p&gt;

&lt;p&gt;If you have a contract you've been meaning to read properly, upload it at &lt;a href="https://getrevealr.com" rel="noopener noreferrer"&gt;Getrevealr.com&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Free preview, $19 for the full report.&lt;/p&gt;

&lt;p&gt;And if you've built something similar or have thoughts on working with legal text — I'd genuinely like to hear it in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
  </channel>
</rss>
