<?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: One Scales</title>
    <description>The latest articles on DEV Community by One Scales (onescales).</description>
    <link>https://dev.to/onescales</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%2Forganization%2Fprofile_image%2F12595%2F5fb49e4c-3c1f-4473-8324-e91d20db02a5.jpg</url>
      <title>DEV Community: One Scales</title>
      <link>https://dev.to/onescales</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/onescales"/>
    <language>en</language>
    <item>
      <title>Why I'm Passionate About x402</title>
      <dc:creator>Ori Tzvielli</dc:creator>
      <pubDate>Wed, 23 Sep 2026 07:12:41 +0000</pubDate>
      <link>https://dev.to/onescales/why-im-passionate-about-x402-22kg</link>
      <guid>https://dev.to/onescales/why-im-passionate-about-x402-22kg</guid>
      <description>&lt;p&gt;I've been building on the web for a long time, and I've paid a lot of middlemen along the way: payment processors, billing platforms, marketplaces, subscription tools. Each one added an account, a fee, and another step between a buyer and the thing they wanted.&lt;/p&gt;

&lt;p&gt;x402 is the first payment standard in years that made me think that stack could get a lot thinner. This post explains why I care about it, what we're doing with it at &lt;a href="https://underscoredone.com" rel="noopener noreferrer"&gt;_done&lt;/a&gt;, and where it isn't ready yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  x402 in one minute
&lt;/h2&gt;

&lt;p&gt;HTTP has had a status code called &lt;code&gt;402 Payment Required&lt;/code&gt; since the 1990s. It was "reserved for future use" and almost nobody used it. x402 is an open protocol, started by Coinbase and backed by Cloudflare among others, that finally puts it to work.&lt;/p&gt;

&lt;p&gt;The flow is simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A client requests a resource.&lt;/li&gt;
&lt;li&gt;The server answers &lt;code&gt;402&lt;/code&gt; with a price and where to pay.&lt;/li&gt;
&lt;li&gt;The client pays, usually in USDC on Base or Solana, and retries with proof of payment.&lt;/li&gt;
&lt;li&gt;The server checks the payment (typically through a facilitator such as Coinbase's) and returns the result.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There's no signup and no key. Paying is how you authenticate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I'm excited about it
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The potential is huge.&lt;/strong&gt; Almost every online interaction that involves money can be expressed as "request, price, pay, deliver." That covers APIs, data, content, files, and eventually ordinary checkouts. A native payment layer for HTTP is a big idea, not a niche one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No accounts, no logins, no API keys.&lt;/strong&gt; Think about what a developer goes through to try a new API today: sign up, verify an email, find the dashboard, create a key, store it somewhere safe, add a card, pick a plan. With x402, all of that collapses into one retried request. There are no keys to leak and no passwords to reset.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's built for AI agents.&lt;/strong&gt; An agent can't click an email confirmation link or fill in a billing form, and it shouldn't have to. Give it a wallet with a few dollars and it can buy exactly what it needs to finish a task, one call at a time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fewer middlemen, lower fees.&lt;/strong&gt; Card payments carry fixed fees that make anything under roughly 30–40 cents uneconomical. With x402, charging a cent or less per call actually works. The money moves from buyer to seller without a stack of platforms each taking a cut. That makes pricing models possible that simply didn't exist before.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we're experimenting with at _done
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://underscoredone.com" rel="noopener noreferrer"&gt;_done&lt;/a&gt; is a catalog of small, pay-per-call utility APIs aimed at AI agents: things like DNS and WHOIS lookups, screenshots, OCR, hashing, QR codes, and SEO extraction. Every call costs one cent in USDC over x402. There's no account and no key.&lt;/p&gt;

&lt;p&gt;We picked these tools deliberately. They're tasks an LLM genuinely can't do on its own. A model can't resolve DNS, reach a live website, or compute a correct SHA-256 hash, however confident its output looks. An agent that can pay a cent to get the real answer is more useful than one that guesses.&lt;/p&gt;

&lt;p&gt;What we're learning along the way:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Discovery matters as much as payment.&lt;/strong&gt; Each API publishes an &lt;code&gt;openapi.json&lt;/code&gt;, and we list on registries like x402scan and the Coinbase Bazaar. An agent can't pay for a tool it can't find.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Machine-readable descriptions need care.&lt;/strong&gt; Agents read your spec literally. A sloppy description gets a wrong call, and the buyer still pays.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One cent is the norm.&lt;/strong&gt; Agents expect tiny payments, and a flat price keeps things predictable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The honest downsides
&lt;/h2&gt;

&lt;p&gt;I'm excited about x402, but it's early, and pretending otherwise wouldn't help anyone.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buyers are scarce.&lt;/strong&gt; Most people don't have a crypto wallet, and most agents aren't set up to pay yet. Right now there are more services accepting x402 than clients using it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The spec is still moving.&lt;/strong&gt; Implementations differ slightly, and what works today may need changes in a few months.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Crypto" is a hard sell for some.&lt;/strong&gt; Even with a dollar-pegged stablecoin, some buyers and finance teams will say no on principle.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't expect overnight revenue.&lt;/strong&gt; Adding a 402 to your API won't bring in money by itself. Demand is still catching up.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Should you care?
&lt;/h2&gt;

&lt;p&gt;If you're building tools for AI agents, I'd start experimenting now. Nobody else has solved "an agent buys something without a human" this cleanly.&lt;/p&gt;

&lt;p&gt;If your customers are mostly people with credit cards, add x402 alongside your existing checkout, not in place of it. It's cheap to set up, and you'll be ready as demand grows.&lt;/p&gt;

&lt;p&gt;I'll keep sharing what we learn from running _done. If you're building with x402 too, I'd like to compare notes in the comments.&lt;/p&gt;

</description>
      <category>x402</category>
      <category>cryptocurrency</category>
      <category>api</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Verifiable Data &gt; Claimed Data: What i'm Trying to do with Ori's List</title>
      <dc:creator>Ori Tzvielli</dc:creator>
      <pubDate>Wed, 23 Sep 2026 07:08:17 +0000</pubDate>
      <link>https://dev.to/onescales/verifiable-data-claimed-data-what-im-trying-to-do-with-oris-list-436f</link>
      <guid>https://dev.to/onescales/verifiable-data-claimed-data-what-im-trying-to-do-with-oris-list-436f</guid>
      <description>&lt;p&gt;Most of the data we act on is claimed data. Someone tells you a number, shows you a chart, or hands you a PNG, and you decide whether to believe them.&lt;/p&gt;

&lt;p&gt;Verifiable data is different. You can trace it back to the system that produced it, and the person showing it to you couldn't have changed it along the way.&lt;/p&gt;

&lt;p&gt;As developers, we already know this. We don't trust a screenshot of a passing test suite. We trust the CI run. We don't trust "it works on my machine." We trust a reproducible build. Proof is something you can check, not something someone describes to you.&lt;/p&gt;

&lt;p&gt;I've done SEO since 2007, and the SEO agency market runs almost entirely on claimed data. That's the gap I'm trying to close with &lt;a href="https://orislist.com" rel="noopener noreferrer"&gt;Ori's List&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem, in engineering terms
&lt;/h2&gt;

&lt;p&gt;When you hire an SEO agency, the pitch is usually a case study: a traffic chart, a big percentage, a client logo. Every one of those is a claim. The chart went through the seller's hands before it reached you, and nothing ties it back to its source.&lt;/p&gt;

&lt;p&gt;Nobody has to be lying for this to be a problem. The format makes honest agencies and dishonest ones look identical. There's no signal in it.&lt;/p&gt;

&lt;p&gt;The question I actually want answered is simple: &lt;strong&gt;can this agency rank its own website?&lt;/strong&gt; Their own site is the one project they fully control. If they can't get organic traffic for themselves, why would you trust them to get it for you?&lt;/p&gt;

&lt;p&gt;Google already knows the answer. It lives in Google Search Console. The trick is getting it out without anyone touching it on the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  The mechanism: read-only OAuth instead of uploads
&lt;/h2&gt;

&lt;p&gt;Ori's List doesn't accept screenshots, reports, or self-reported numbers. An agency connects its own Search Console through Google OAuth with a single scope:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.googleapis.com/auth/webmasters.readonly" rel="noopener noreferrer"&gt;https://www.googleapis.com/auth/webmasters.readonly&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From there, a few design rules do most of the work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The data comes from Google, not the agency.&lt;/strong&gt; The directory pulls clicks for the agency's own root domain directly from the API. There's no form field where a number could be typed in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's re-checked every week.&lt;/strong&gt; Verification is a subscription to reality, not a one-time badge. If access is revoked or the property goes missing two checks in a row, the verified mark and the performance data come down.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The numbers can't be bought.&lt;/strong&gt; Free and paid listings publish exactly the same data. Paying gets a check mark, a link, and placement. It never gets a better number.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data is allowed to go down.&lt;/strong&gt; If an agency's traffic declines, the listing says &lt;strong&gt;Declining&lt;/strong&gt;. It keeps its listing and its verification.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last rule is the one I care about most. A system that can only show good news isn't proof. It's a trophy case. Verified doesn't mean good. It means real.&lt;/p&gt;

&lt;h2&gt;
  
  
  Minimum access, minimum storage
&lt;/h2&gt;

&lt;p&gt;If you're asking businesses to connect a Google account, the privacy design has to be as strict as the verification. The rules I stuck to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read-only scope, nothing broader.&lt;/li&gt;
&lt;li&gt;Own domain only. Client properties are rejected.&lt;/li&gt;
&lt;li&gt;Aggregates only. Individual search queries are never published.&lt;/li&gt;
&lt;li&gt;Disconnecting wipes the stored data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Asking for less access also makes it easier for an agency to say yes. That's the practical upside of scoping tightly.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern is bigger than SEO
&lt;/h2&gt;

&lt;p&gt;Swap the nouns and this applies to a lot of software:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Freelancer platforms showing earnings pulled from a payment API instead of self-reported.&lt;/li&gt;
&lt;li&gt;Growth claims backed by a read-only analytics connection instead of a slide.&lt;/li&gt;
&lt;li&gt;Uptime pages built from independent probes instead of a status page someone edits.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most major platforms already offer read-only OAuth scopes. The infrastructure for verifiable data exists. We just haven't made "show me the source" a normal thing to ask for, or a normal thing to build.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd ask other builders
&lt;/h2&gt;

&lt;p&gt;If your product displays a number that someone could be tempted to inflate, ask yourself:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Can this come straight from the source system instead of from the user?&lt;/li&gt;
&lt;li&gt;Can the person displaying it edit it? If so, why?&lt;/li&gt;
&lt;li&gt;Does it update, or does it freeze at its best moment?&lt;/li&gt;
&lt;li&gt;Can it go down?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the answers are yes, no, it updates, and yes, you're publishing verifiable data. Otherwise it's a claim, however nicely it's formatted.&lt;/p&gt;

&lt;p&gt;I'd love feedback on the approach, especially on the privacy side of the OAuth flow. And if you run an SEO agency and think you can rank yourself, you know where to prove it.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>seo</category>
      <category>oauth</category>
      <category>startup</category>
    </item>
    <item>
      <title>Building In-Browser Private Tools: When the Server Is the Liability</title>
      <dc:creator>Ori Tzvielli</dc:creator>
      <pubDate>Wed, 23 Sep 2026 06:54:16 +0000</pubDate>
      <link>https://dev.to/onescales/building-in-browser-private-tools-when-the-server-is-the-liability-1ba1</link>
      <guid>https://dev.to/onescales/building-in-browser-private-tools-when-the-server-is-the-liability-1ba1</guid>
      <description>&lt;p&gt;Most file tools on the web work the same way: upload the file, process it on a server, download the result. That made sense when browsers were weak. It doesn't anymore. If your tool views, searches, converts, or exports a user's own file, it can often run entirely in the browser, and then the file never leaves the user's machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why skip the server
&lt;/h2&gt;

&lt;p&gt;An uploaded file becomes your liability: storage, retention, deletion, breaches. The user can't verify any of it. If the file never arrives, there's nothing to leak. That's privacy by architecture, not by policy.&lt;/p&gt;

&lt;h2&gt;
  
  
  The toolkit
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;File API and Blob.slice() to read huge files in chunks with bounded memory.&lt;/li&gt;
&lt;li&gt;Web Workers to parse without freezing the UI.&lt;/li&gt;
&lt;li&gt;WebAssembly when an existing Rust or C parser beats rewriting one in JS.&lt;/li&gt;
&lt;li&gt;IndexedDB or OPFS to store a local index, not the whole file.&lt;/li&gt;
&lt;li&gt;Blob URLs to hand exports back without touching the network.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Example: read mbox
&lt;/h2&gt;

&lt;p&gt;Google Takeout gives you your Gmail as one huge .mbox file that nothing on Windows or Mac can open. Most "online" viewers want you to upload it. &lt;a href="https://readmbox.com/" rel="noopener noreferrer"&gt;readmbox.com&lt;/a&gt; reads, indexes, and searches it right in the tab instead. What I like about it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No upload endpoint exists, so there's no server to send your mail to.&lt;/li&gt;
&lt;li&gt;Files of tens of gigabytes work, because they're read in chunks.&lt;/li&gt;
&lt;li&gt;No install and no account.&lt;/li&gt;
&lt;li&gt;Exports (CSV, PDF, EML, split MBOX, attachments) are generated locally too.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It does use analytics and says so openly. The claim is scoped precisely: your email never leaves your machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make it verifiable
&lt;/h2&gt;

&lt;p&gt;Load the page, turn off Wi-Fi, then open a file and use it. If it still works, the data isn't going anywhere. You can also watch the Network tab in DevTools, and enforce the guarantee with a strict connect-src in your Content Security Policy so nothing can quietly start uploading later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Before you add an upload button
&lt;/h2&gt;

&lt;p&gt;Ask whether the file really needs to leave the user's device. Often it doesn't. Every file you never receive is one you can't lose.&lt;/p&gt;

&lt;p&gt;Building local-first tools? I'd like to see them in the comments.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>privacy</category>
      <category>javascript</category>
      <category>localfirst</category>
    </item>
    <item>
      <title>Introducing "Token Proof of Work"</title>
      <dc:creator>Ori Tzvielli</dc:creator>
      <pubDate>Thu, 27 Aug 2026 04:49:06 +0000</pubDate>
      <link>https://dev.to/onescales/introducing-token-proof-of-work-5d7p</link>
      <guid>https://dev.to/onescales/introducing-token-proof-of-work-5d7p</guid>
      <description>&lt;p&gt;Every contact form, webhook receiver, and "submit a listing" endpoint you've ever built shares one unspoken assumption baked into the code: a human is on the other end, typing slowly, one submission at a time. That assumption is aging badly.&lt;/p&gt;

&lt;p&gt;Agents are now the client. Sometimes via WebMCP, sometimes just a headless browser with a model driving it. And that's fine — plenty of that traffic is legitimate, a user's agent doing a user's errand. The problem is the traffic that isn't: an agent that can generate ten thousand unique, coherent, non-repetitive messages for the price of API calls, aimed at any endpoint that's "free to submit."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The old anti-spam toolkit doesn't transfer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Rate limiting catches volume from one source, not distributed volume. Content filters catch repetition and boilerplate, and an LLM has neither — every message it writes is genuinely different. CAPTCHAs solve a problem you may not even have anymore: "are you human?" is the wrong gate when you want agents submitting things on behalf of real users. You just don't want the flood.&lt;/p&gt;

&lt;p&gt;The property you actually want to check for is much simpler: did generating and sending this cost the sender something non-trivial?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Borrowing the PoW primitive, aimed at a different resource&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Proof-of-work doesn't authenticate identity — it verifies expended effort, and prices abuse by making repetition at scale expensive. Bitcoin pointed this at hash computation. For AI agents, two resources are actually scarce in the same way:&lt;/p&gt;

&lt;p&gt;Tokens — every unit of model output has a real, non-zero inference cost&lt;br&gt;
Time — wall-clock time can't be parallelized away by throwing more compute at it&lt;/p&gt;

&lt;p&gt;Token Proof of Work is a small protocol sketch built on exactly those two primitives. The flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Agent  -&amp;gt; Receiver:  "I want to submit X"&lt;/li&gt;
&lt;li&gt;Receiver -&amp;gt; Agent:   one-time challenge, bound to this exact submission
                    (not precomputable, not replayable)&lt;/li&gt;
&lt;li&gt;Agent solves it:     burns a minimum number of tokens actually
                    engaging with the challenge + the payload&lt;/li&gt;
&lt;li&gt;Receiver accepts iff:

&lt;ul&gt;
&lt;li&gt;the token-work checks out, AND&lt;/li&gt;
&lt;li&gt;a minimum time interval has elapsed since step 2&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Both thresholds are set by the receiver. A contact form might require ~30-50k tokens of work and a 30-second minimum latency. A directory or marketplace submission — historically a much juicier spam target — can dial both numbers up. A genuine sender never notices the friction. Running this at spam volume means paying real inference cost and real wall-clock time, per message, with no way to amortize either one away.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two independent knobs, not one&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This only works because token cost and time cost fail in different ways when used alone.&lt;/p&gt;

&lt;p&gt;Token-only degrades over time. Inference gets cheaper every year, and an attacker can trivially parallelize across N instances to keep aggregate cost flat even as unit cost drops.&lt;br&gt;
Time-only degrades the same way in the other direction — spin up N parallel identities, wait out the clock on all of them concurrently, and the "cost" of time disappears.&lt;/p&gt;

&lt;p&gt;Two independent knobs close both gaps. Raise the token requirement to attack the attacker's budget. Raise the time requirement to attack the attacker's throughput. You can't optimize around both simultaneously the way you can around either alone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it sits relative to x402 / pay-per-call&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're already comfortable with the idea of agents paying for API access — x402-style pay-per-call, USDC micropayments, no accounts — this will look adjacent but distinct. Where charging money outright is the honest, direct solution (an agent calling a paid API), that's already a solved shape.&lt;/p&gt;

&lt;p&gt;Token Proof of Work is for the adjacent case where charging money is the wrong answer: a customer shouldn't have to pay to ask your store a question, an applicant shouldn't pay to submit a job application. But "free" still needs a cost function attached to it, or it gets abused. That's the gap this fills — contact forms, directory/marketplace submissions, app store listings, reviews, comments, support tickets, applications: anywhere "free to submit" has historically meant "free to flood."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's actually unsolved here&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To be upfront: this is a proposal, not a shipped implementation. There's no reference server, no SDK, nothing running in prod. The interesting open problem is verification — how does a receiver confirm the token-work was genuinely produced by the challenge-solving process, rather than shortcut through a cheaper model, a cache, or a lookup table? The working hypothesis is that challenge design can be structured so that cheating the verification costs about as much as honestly complying — which is the only invariant proof-of-work systems have ever actually needed to hold. That's a claim worth stress-testing, not one to take on faith.&lt;/p&gt;

&lt;p&gt;Full write-up, threat model, and open questions are in the whitepaper (MIT licensed) on GitHub: &lt;a href="https://github.com/onescales/token-proof-of-work" rel="noopener noreferrer"&gt;https://github.com/onescales/token-proof-of-work&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you can break the challenge design, have a cleaner verification scheme, or want to prototype a receiver/verifier — that's exactly the discussion this was written to start.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webspam</category>
      <category>cryptography</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why We're Building Apps for the Internet — Here's Our Direction</title>
      <dc:creator>Ori Tzvielli</dc:creator>
      <pubDate>Mon, 02 Mar 2026 02:26:19 +0000</pubDate>
      <link>https://dev.to/onescales/why-were-building-apps-for-the-internet-heres-our-direction-380d</link>
      <guid>https://dev.to/onescales/why-were-building-apps-for-the-internet-heres-our-direction-380d</guid>
      <description>&lt;h1&gt;
  
  
  Why We're Building Apps for the Internet
&lt;/h1&gt;

&lt;p&gt;There's a simple reason we do this: we want to give more than we take.&lt;/p&gt;

&lt;p&gt;Before One Scales, I ran a web development company with up to 38 people. We built websites, we sold hours — we were more like a factory. One Scales is a different bet. Use code and content to reach a lot of people, reduce waste, build things once that keep working.&lt;/p&gt;




&lt;h2&gt;
  
  
  Finding What's Missing
&lt;/h2&gt;

&lt;p&gt;We look for gaps. Underserved niches, tools that don't exist yet, problems people are quietly frustrated by. When we find one, we build something and create content around it to help people save time and do something useful.&lt;/p&gt;




&lt;h2&gt;
  
  
  What We're Building Right Now
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;AI SEO / llms.txt&lt;/strong&gt; — We believe AI discoverability is the next generation of SEO. Just like websites had to learn to speak Google's language, they'll need to speak AI's. The llms.txt standard is part of that shift. Our flagship project is &lt;strong&gt;&lt;a href="https://hillms.com" rel="noopener noreferrer"&gt;Hi LLMs&lt;/a&gt;&lt;/strong&gt; — a suite of tools that help websites connect with AI systems, including an embeddable AI Summary Widget, free Chrome extensions, and more in the pipeline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Apify Apps&lt;/strong&gt; — We publish automation and scraping tools on the Apify marketplace. &lt;a href="https://apify.com/onescales" rel="noopener noreferrer"&gt;21 apps live&lt;/a&gt;, 3,800+ users and growing. A few examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LLMS.txt Generator&lt;/strong&gt; — Make websites discoverable to AI assistants&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bulk Image Downloader&lt;/strong&gt; — Download thousands of images at scale&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sitemap URL Extractor&lt;/strong&gt; — Extract all URLs from any sitemap&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bulk AI Markdown Maker&lt;/strong&gt; — Convert pages to clean markdown with AI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Website Screenshot Pro&lt;/strong&gt; — Capture high-quality screenshots at scale&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simple SEO Data Extractor&lt;/strong&gt; — Pull SEO metadata from websites&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  We Share Everything We Learn
&lt;/h2&gt;

&lt;p&gt;On our &lt;a href="https://www.youtube.com/@onescales" rel="noopener noreferrer"&gt;YouTube channel&lt;/a&gt; we publish tutorials and walkthroughs. One video on improving &lt;code&gt;.mbox&lt;/code&gt; files from Google Takeout/Gmail has helped over 100,000 people.&lt;/p&gt;

&lt;p&gt;We also write articles on &lt;a href="https://onescales.com" rel="noopener noreferrer"&gt;onescales.com&lt;/a&gt; — anything we can share that either doesn't exist online or we think we can explain better. It's not always tech. We timestamped &lt;a href="https://onescales.com/blogs/main/skipping-scary-parts-moana" rel="noopener noreferrer"&gt;all the scary parts of Moana&lt;/a&gt; so parents of toddlers know exactly what to skip. Simple, useful, real.&lt;/p&gt;

&lt;p&gt;And we open-source tools on &lt;a href="https://github.com/onescales" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; — a Google Sheet API wrapper, a Calendar ICS exporter, an IPFS bulk uploader, and more. If we build something useful, we share it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Honest About Where We Are
&lt;/h2&gt;

&lt;p&gt;One Scales isn't a full-time income yet. It's a side mission we believe in, built step by step, with the goal of becoming something sustainable. We're learning, adjusting, and continuing.&lt;/p&gt;

&lt;p&gt;If any of this resonates, we'd love to connect.&lt;/p&gt;

&lt;p&gt;Follow along: &lt;a href="https://www.youtube.com/@onescales" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt; · &lt;a href="https://github.com/onescales" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; · &lt;a href="https://apify.com/onescales" rel="noopener noreferrer"&gt;Apify&lt;/a&gt; · &lt;a href="https://twitter.com/one_scales" rel="noopener noreferrer"&gt;Twitter/X&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>showdev</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
