<?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: Roberto Francisco junior</title>
    <description>The latest articles on DEV Community by Roberto Francisco junior (@messora).</description>
    <link>https://dev.to/messora</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%2F4082167%2F4d48b061-06ed-4bfd-942a-97deba7a19c4.png</url>
      <title>DEV Community: Roberto Francisco junior</title>
      <link>https://dev.to/messora</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/messora"/>
    <language>en</language>
    <item>
      <title>I built Messora and need 10 developers to break the onboarding</title>
      <dc:creator>Roberto Francisco junior</dc:creator>
      <pubDate>Mon, 17 Aug 2026 20:10:41 +0000</pubDate>
      <link>https://dev.to/messora/i-built-messora-and-need-10-developers-to-break-the-onboarding-1n8g</link>
      <guid>https://dev.to/messora/i-built-messora-and-need-10-developers-to-break-the-onboarding-1n8g</guid>
      <description>&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%2Fcwehe2ffhs9f45ejitr4.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%2Fcwehe2ffhs9f45ejitr4.png" alt=" " width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I spent the last few months building Messora, and I have reached the part that interests me most: letting people outside the project try to break it.                                      &lt;/p&gt;

&lt;p&gt;## The problem                                                                                                                                                                             &lt;/p&gt;

&lt;p&gt;Sending raw HTML to an LLM wastes context on markup, navigation, scripts, and layout elements.                                                                                             &lt;/p&gt;

&lt;p&gt;In one of my tests, a 62 KB HTML page consumed approximately 21.4k tokens with the tokenizer I was using. After extracting the relevant content as clean Markdown, it used 1,284 tokens.   &lt;/p&gt;

&lt;p&gt;That was roughly 16 times less context spent reading the same page.                                                                                                                        &lt;/p&gt;

&lt;p&gt;Messora receives a public URL and returns:                                                                                                                                                 &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;clean Markdown;
&lt;/li&gt;
&lt;li&gt;structured JSON using a schema;
&lt;/li&gt;
&lt;li&gt;raw HTML when needed.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;## Try it without creating an account                                                                                                                                                      &lt;/p&gt;

&lt;p&gt;The homepage has a public playground:                                                                                                                                                      &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;a href="https://messora.dev" rel="noopener noreferrer"&gt;messora.dev&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;Scroll to &lt;strong&gt;“Teste agora, sem cadastro”&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;Enter a public URL.
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;“Extrair dados”&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;Inspect the Markdown, JSON, or raw output.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The screenshot above shows the request prepared for &lt;code&gt;https://example.com&lt;/code&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ol4nglg9v26p2653xgd.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%2F1ol4nglg9v26p2653xgd.png" alt=" " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this recorded execution, the request returned HTTP 200 in 510 ms. This is one observed run, not a performance benchmark.                         &lt;/p&gt;

&lt;p&gt;The public playground uses a separate anonymous demo allowance. It does not represent the balance of a registered beta account.                                                            &lt;/p&gt;

&lt;p&gt;## API example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST https://api.messora.dev/scrape &lt;span class="se"&gt;\ &lt;/span&gt;                                                                                                                                             
     &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-API-Key: YOUR_API_KEY"&lt;/span&gt; &lt;span class="se"&gt;\ &lt;/span&gt;                                                                                                                                                          
     &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\ &lt;/span&gt;                                                                                                                                                   
     &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"url":"https://example.com","formats":["markdown"]}'&lt;/span&gt;                                                                                                                                
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A successful page costs one credit. Failed extraction attempts do not consume the credit.                                                                                                  &lt;/p&gt;

&lt;p&gt;## What I need help testing                                                                                                                                                                &lt;/p&gt;

&lt;p&gt;I am looking for 10 developers to go through this flow while trying to break it:                                                                                                           &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create account → generate API key → make the first successful API request&lt;/strong&gt;                                                                                                              &lt;/p&gt;

&lt;p&gt;I already know where every button is. You do not.                                                                                                                                          &lt;/p&gt;

&lt;p&gt;I would like to learn:                                                                                                                                                                     &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Where did you get stuck?
&lt;/li&gt;
&lt;li&gt;How long did it take to receive the first HTTP 200 response?
&lt;/li&gt;
&lt;li&gt;Which error could you provoke?
&lt;/li&gt;
&lt;li&gt;Did the error message explain what to do next?
&lt;/li&gt;
&lt;li&gt;Was the credit cost clear before the first request?
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Please try malformed URLs, invalid schemas, blocked domains, and requests without an API key. Only test URLs you own or are authorized to access.                                          &lt;/p&gt;

&lt;p&gt;## Current limitations                                                                                                                                                                     &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LinkedIn and Instagram are explicitly refused.
&lt;/li&gt;
&lt;li&gt;Targets with heavy anti-bot protection may be limited or refused during the beta.
&lt;/li&gt;
&lt;li&gt;There is no official SDK yet; the API is REST.
&lt;/li&gt;
&lt;li&gt;The beta is free and does not require a credit card.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you abandon the signup halfway through, that is useful feedback too.                                                                                                                    &lt;/p&gt;

&lt;p&gt;Please do not share API keys in the comments.                                                                                                                                              &lt;/p&gt;

&lt;p&gt;After the first 10 tests, I will update this post with the main friction points and the changes made.                                                                                      &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test it:&lt;/strong&gt; &lt;a href="https://messora.dev" rel="noopener noreferrer"&gt;https://messora.dev&lt;/a&gt;      &lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>ai</category>
      <category>saas</category>
    </item>
  </channel>
</rss>
