<?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: James</title>
    <description>The latest articles on DEV Community by James (@james2050).</description>
    <link>https://dev.to/james2050</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%2F4174980%2Fa103a26b-6fbb-4976-9e10-5d308d6143b0.jpg</url>
      <title>DEV Community: James</title>
      <link>https://dev.to/james2050</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/james2050"/>
    <language>en</language>
    <item>
      <title>Sub-20ms UK Companies House API: Address Sanitization, KYB &amp; Balance Sheet Extraction</title>
      <dc:creator>James</dc:creator>
      <pubDate>Fri, 16 Oct 2026 19:54:43 +0000</pubDate>
      <link>https://dev.to/james2050/sub-20ms-uk-companies-house-api-address-sanitization-kyb-balance-sheet-extraction-4594</link>
      <guid>https://dev.to/james2050/sub-20ms-uk-companies-house-api-address-sanitization-kyb-balance-sheet-extraction-4594</guid>
      <description>&lt;p&gt;If you’ve ever built against Companies House data, you know the pain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rate-limit dropouts&lt;/strong&gt; (HTTP 429 Too Many Requests)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ALL-CAPS addresses&lt;/strong&gt; and missing GPS coordinates&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dropped leading zeroes&lt;/strong&gt; on Scottish company numbers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Balance sheet PDFs&lt;/strong&gt; you can't easily query or render in browser apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I built a fix. 😁 &lt;/p&gt;

&lt;h3&gt;
  
  
  The sub-20ms API and web demo are live in production today!
&lt;/h3&gt;

&lt;p&gt;The live website demo is already running smoothly and handling real-time lookups with sub-20ms speeds.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here is what it handles in a single request:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Address Normalization:&lt;/strong&gt; Cleans raw strings into Title Case and attaches verified WGS-84 GPS coordinates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Directors KYB:&lt;/strong&gt; Categorizes active vs. resigned board officers instantly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Vision Extraction:&lt;/strong&gt; Scans filing PDFs and parses balance sheet metrics into clean JSON.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CORS PDF Streaming:&lt;/strong&gt; Proxies official filing PDFs directly into web portals and iFrames.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The platform speaks for itself, so check out the live demo and test out the sandbox (no API key needed):&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://uk-business-sanitizer-demo.jamesforsyth1829.workers.dev" rel="noopener noreferrer"&gt;Live Sandbox &amp;amp; Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Laravel developers can pull the open-source wrapper directly:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://packagist.org/packages/jamesforsyth/laravel-uk-kyb-edge" rel="noopener noreferrer"&gt;jamesforsyth/laravel-uk-kyb-edge on Packagist&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Building a Sub-20ms UK Companies House &amp; Financial Vision API</title>
      <dc:creator>James</dc:creator>
      <pubDate>Sat, 10 Oct 2026 09:52:28 +0000</pubDate>
      <link>https://dev.to/james2050/building-a-sub-20ms-edge-proxy-kyb-address-sanitizer-for-laravel-461</link>
      <guid>https://dev.to/james2050/building-a-sub-20ms-edge-proxy-kyb-address-sanitizer-for-laravel-461</guid>
      <description>&lt;p&gt;Connecting to government registries often comes with common pain points: rate-limit cascades (HTTP 429 errors), messy non-standardized address strings, missing GPS coordinates, and unstructured balance sheet PDFs.&lt;/p&gt;

&lt;p&gt;To solve this, I built the &lt;strong&gt;UK Business Data, Address Sanitizer &amp;amp; Financial Intelligence API&lt;/strong&gt;—a high-speed, enterprise-grade global proxy that standardizes company records, retrieves live board officers, and extracts financial metrics from filing PDFs into clean JSON.&lt;/p&gt;




&lt;h3&gt;
  
  
  What The API Solves
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Smart Address Normalization &amp;amp; Geocoding&lt;/strong&gt;&lt;br&gt;
Messy registered office addresses are automatically reformatted into Title Case and enriched with verified WGS-84 GPS coordinates (latitude, longitude, and administrative district).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automated Balance Sheet Extraction&lt;/strong&gt;&lt;br&gt;
Instead of forcing analysts to manually read filing PDFs, the &lt;code&gt;/financials&lt;/code&gt; endpoint passes document streams to custom Vision Models to parse unstructured balance sheets into strictly-typed JSON schemas.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;High-Speed Document Proxy Streaming&lt;/strong&gt;&lt;br&gt;
The &lt;code&gt;/document&lt;/code&gt; endpoint proxies Companies House S3 buckets with CORS headers injected, enabling direct PDF rendering inside web portals and iFrames.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Zero Rate-Limit Dropouts&lt;/strong&gt;&lt;br&gt;
An intelligent, distributed 24-hour caching layer absorbs upstream rate surges to eliminate 429 dropouts and deliver sub-20ms response times.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Native Laravel Package
&lt;/h3&gt;

&lt;p&gt;If you're building in PHP/Laravel, you can install the official open-source package directly:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;composer require jamesforsyth/laravel-uk-kyb-edge&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/James-2050/laravel-uk-kyb-edge" rel="noopener noreferrer"&gt;James-2050/laravel-uk-kyb-edge&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Packagist:&lt;/strong&gt; &lt;a href="https://packagist.org/packages/jamesforsyth/laravel-uk-kyb-edge" rel="noopener noreferrer"&gt;jamesforsyth/laravel-uk-kyb-edge&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try the Live Sandbox&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can test the endpoints live directly in your browser without needing an API key:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Live Sandbox &amp;amp; Demo:&lt;/strong&gt; &lt;a href="https://uk-business-sanitizer-demo.jamesforsyth1829.workers.dev" rel="noopener noreferrer"&gt;uk-business-sanitizer-demo.jamesforsyth1829.workers.dev&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;RapidAPI Hub:&lt;/strong&gt; &lt;a href="https://rapidapi.com/datasanitizeruk/api/uk-business-data-address-sanitizer" rel="noopener noreferrer"&gt;UK Business Data &amp;amp; Address Sanitizer on RapidAPI&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
