<?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: Miles N</title>
    <description>The latest articles on DEV Community by Miles N (@miles_n_1b892ab5279134edc).</description>
    <link>https://dev.to/miles_n_1b892ab5279134edc</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%2F4207596%2Fd68dcf4f-26e8-4627-991e-29ad12ea4757.jpg</url>
      <title>DEV Community: Miles N</title>
      <link>https://dev.to/miles_n_1b892ab5279134edc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/miles_n_1b892ab5279134edc"/>
    <language>en</language>
    <item>
      <title>How I write a 1-page competitor snapshot with a source log (template included)</title>
      <dc:creator>Miles N</dc:creator>
      <pubDate>Mon, 26 Oct 2026 03:19:29 +0000</pubDate>
      <link>https://dev.to/miles_n_1b892ab5279134edc/how-i-write-a-1-page-competitor-snapshot-with-a-source-log-template-included-1f9j</link>
      <guid>https://dev.to/miles_n_1b892ab5279134edc/how-i-write-a-1-page-competitor-snapshot-with-a-source-log-template-included-1f9j</guid>
      <description>&lt;p&gt;Most competitor research I've seen (including mine) has the same problem: it reads confidently, but three weeks later nobody can tell which line came from the vendor's pricing page and which came from someone's memory. With AI tools summarizing everything, that gap got worse, not better.&lt;/p&gt;

&lt;p&gt;So I switched to a strict 1-page format. The rule is simple: &lt;strong&gt;every fact gets a source URL and the date I checked it.&lt;/strong&gt; If I can't source it, it goes under "unknowns", not "facts".&lt;/p&gt;

&lt;p&gt;Here's the structure.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Start with the decision question
&lt;/h3&gt;

&lt;p&gt;One sentence. What decision does this page inform?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Should we shortlist one of three inbox-workflow vendors for a 6-week pilot, based only on public product and pricing pages?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This stops the brief from turning into a feature dump. Every fact below has to help answer this question.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Bottom line, with a confidence level
&lt;/h3&gt;

&lt;p&gt;Two to four sentences that answer the question using only the facts on the page, plus an explicit confidence level: High, Medium, or Low.&lt;/p&gt;

&lt;p&gt;Writing "Confidence: Medium, we haven't talked to the vendors yet" is more useful to a reader than a confident paragraph that hides what you don't know.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Key facts table (the core)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Fact (neutral wording)&lt;/th&gt;
&lt;th&gt;Source title&lt;/th&gt;
&lt;th&gt;URL&lt;/th&gt;
&lt;th&gt;Accessed&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Vendor A lists its Growth plan at $49/user/month&lt;/td&gt;
&lt;td&gt;Vendor A pricing&lt;/td&gt;
&lt;td&gt;https://...&lt;/td&gt;
&lt;td&gt;2026-09-18&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Vendor B docs describe REST + webhooks and SAML SSO&lt;/td&gt;
&lt;td&gt;Vendor B docs&lt;/td&gt;
&lt;td&gt;https://...&lt;/td&gt;
&lt;td&gt;2026-09-18&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Three rules I follow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Neutral wording.&lt;/strong&gt; "The pricing page lists X", not "X is cheap".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Primary sources first.&lt;/strong&gt; The vendor's own docs, changelog, or filing beat a blog post about them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Access date always.&lt;/strong&gt; Pricing pages change. The date tells the reader how stale the fact might be.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Five facts is usually enough for one page. If you need fifteen, you probably have two decisions, not one.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Unknowns and open questions
&lt;/h3&gt;

&lt;p&gt;A short checklist of what's still unverified and what would change the bottom line. For example: "SOC 2 report availability (not public)" or "actual pilot discount". This is where things go that you &lt;em&gt;think&lt;/em&gt; are true but couldn't source.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Next actions
&lt;/h3&gt;

&lt;p&gt;Process steps only: what to verify, who to ask, what to read next. Not recommendations dressed up as facts.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Source log
&lt;/h3&gt;

&lt;p&gt;At the bottom (or in a shared CSV across briefs), keep a log of every source: claim, title, URL, access date, notes. When you write the next brief on the same market, half the research is already done, and you can see which sources went stale.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why this works with AI tools
&lt;/h3&gt;

&lt;p&gt;I still use AI to draft and summarize. The difference is that the template forces a check: if the model gives me a "fact", it doesn't go in the table until I've opened the source and filled in the URL and date. That one habit catches most of the made-up numbers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Free template
&lt;/h3&gt;

&lt;p&gt;I put the blank Snapshot template and a filled sample (fictional companies, so the format is the point) on a free page, no email needed:&lt;br&gt;
&lt;a href="https://signal-brief-kit.pages.dev/free-sample" rel="noopener noreferrer"&gt;https://signal-brief-kit.pages.dev/free-sample&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Disclosure: I also sell a fuller kit with more templates; the free page links to it, but the template above is everything you need to start.&lt;/p&gt;

&lt;p&gt;What do you put in your competitor research notes that I'm missing?&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>writing</category>
      <category>startup</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
