<?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: Edward Hsing</title>
    <description>The latest articles on DEV Community by Edward Hsing (@edwardhsing).</description>
    <link>https://dev.to/edwardhsing</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%2F3804391%2F9e7c7dd3-c411-4cc3-840a-0bfda9e25b96.jpg</url>
      <title>DEV Community: Edward Hsing</title>
      <link>https://dev.to/edwardhsing</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/edwardhsing"/>
    <language>en</language>
    <item>
      <title>I Bought a Domain at 15. Now It Powers 400,000+ Users.</title>
      <dc:creator>Edward Hsing</dc:creator>
      <pubDate>Wed, 18 Mar 2026 10:09:04 +0000</pubDate>
      <link>https://dev.to/edwardhsing/i-bought-a-domain-at-15-now-it-powers-400000-users-7ol</link>
      <guid>https://dev.to/edwardhsing/i-bought-a-domain-at-15-now-it-powers-400000-users-7ol</guid>
      <description>&lt;p&gt;My name is Edward Hsing.&lt;/p&gt;

&lt;p&gt;I’m 18, and I build internet infrastructure.&lt;/p&gt;

&lt;p&gt;Today, something I started at 15 serves over 400,000 users, with more than 150,000 GitHub stars.&lt;/p&gt;

&lt;p&gt;I was 15 when I bought a domain name.&lt;/p&gt;

&lt;p&gt;I didn’t expect it to become something hundreds of thousands of people would end up using.&lt;/p&gt;

&lt;p&gt;It wasn’t a startup.&lt;br&gt;
It wasn’t a plan.&lt;/p&gt;

&lt;p&gt;I just wanted to see what I could build.&lt;/p&gt;

&lt;p&gt;At the time, getting a domain felt unnecessarily hard. It cost money, required setup, and for many people, it was simply out of reach.&lt;/p&gt;

&lt;p&gt;That didn’t make sense to me.&lt;/p&gt;

&lt;p&gt;So I started experimenting.&lt;/p&gt;

&lt;h2&gt;
  
  
  It Started With One Question
&lt;/h2&gt;

&lt;p&gt;A friend asked me something simple:&lt;/p&gt;

&lt;p&gt;“Can I use a subdomain under your domain?”&lt;/p&gt;

&lt;p&gt;I said yes.&lt;/p&gt;

&lt;p&gt;Then someone else asked.&lt;/p&gt;

&lt;p&gt;And then another.&lt;/p&gt;

&lt;p&gt;That was the moment it stopped being mine.&lt;/p&gt;

&lt;p&gt;What began as a personal experiment quietly turned into something people started relying on in their projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building Something That Didn’t Exist
&lt;/h2&gt;

&lt;p&gt;There wasn’t a system for what I wanted to do.&lt;/p&gt;

&lt;p&gt;No platform designed to let anyone register and manage domains freely, at scale.&lt;/p&gt;

&lt;p&gt;So I built one.&lt;/p&gt;

&lt;p&gt;That eventually became DigitalPlat FreeDomain - a platform that lets people register and manage domains freely, at scale.&lt;/p&gt;

&lt;p&gt;I set up BIND9 on a small VPS.&lt;br&gt;
Wrote my own backend in Python and Flask.&lt;br&gt;
Connected everything directly to the DNS layer.&lt;/p&gt;

&lt;p&gt;It wasn’t perfect.&lt;br&gt;
It wasn’t elegant.&lt;/p&gt;

&lt;p&gt;But it worked.&lt;/p&gt;

&lt;p&gt;And people kept coming.&lt;/p&gt;

&lt;h2&gt;
  
  
  Growth Without Permission
&lt;/h2&gt;

&lt;p&gt;There was no launch.&lt;br&gt;
No marketing.&lt;br&gt;
No funding.&lt;/p&gt;

&lt;p&gt;Just developers sharing it with each other.&lt;/p&gt;

&lt;p&gt;Hundreds of users turned into thousands.&lt;br&gt;
Thousands turned into tens of thousands.&lt;/p&gt;

&lt;p&gt;And eventually, something I built at 15 became infrastructure.&lt;/p&gt;

&lt;p&gt;At some point, it stopped feeling like a project.&lt;/p&gt;

&lt;p&gt;It felt like something people actually relied on.&lt;/p&gt;

&lt;p&gt;Today, it serves over 400,000 users worldwide, with over 150,000 GitHub stars.&lt;/p&gt;

&lt;p&gt;That still doesn’t feel real.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Part No One Sees
&lt;/h2&gt;

&lt;p&gt;People think building is the hard part.&lt;/p&gt;

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

&lt;p&gt;Keeping something alive is.&lt;/p&gt;

&lt;p&gt;Running a free domain infrastructure means dealing with abuse at scale - spam, phishing, misuse.&lt;/p&gt;

&lt;p&gt;You don’t get to ignore it. You have to design for it.&lt;/p&gt;

&lt;p&gt;So I built systems to handle it:&lt;/p&gt;

&lt;p&gt;Automated review pipelines.&lt;br&gt;
Behavioral pattern scoring.&lt;br&gt;
GitHub-based identity verification.&lt;br&gt;
Structured abuse reporting and response.&lt;/p&gt;

&lt;p&gt;Not to eliminate abuse completely - that’s impossible.&lt;/p&gt;

&lt;p&gt;But to make sure everyone else can still use the system.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Was Really About
&lt;/h2&gt;

&lt;p&gt;At some point, I realized this was never just about domains.&lt;/p&gt;

&lt;p&gt;A domain is identity.&lt;/p&gt;

&lt;p&gt;It’s the ability to exist on the internet — to build something, share something, create something that is yours.&lt;/p&gt;

&lt;p&gt;And for a lot of people, that’s still harder than it should be.&lt;/p&gt;

&lt;p&gt;I don’t think it should be.&lt;/p&gt;

&lt;p&gt;Access to a digital identity shouldn’t be a privilege.&lt;/p&gt;

&lt;p&gt;It should be a basic layer of the internet.&lt;/p&gt;

&lt;h2&gt;
  
  
  It Became Bigger Than Me
&lt;/h2&gt;

&lt;p&gt;What started as something I built alone didn’t stay that way.&lt;/p&gt;

&lt;p&gt;Some of the earliest users stayed.&lt;br&gt;
They helped.&lt;br&gt;
They contributed.&lt;/p&gt;

&lt;p&gt;Today, people help manage reports, moderate discussions, and support the system.&lt;/p&gt;

&lt;p&gt;It became something bigger than me.&lt;/p&gt;

&lt;p&gt;And honestly, that’s the part I’m most proud of.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Back
&lt;/h2&gt;

&lt;p&gt;I didn’t set out to build infrastructure used by hundreds of thousands of people.&lt;/p&gt;

&lt;p&gt;I just bought a domain and started experimenting.&lt;/p&gt;

&lt;p&gt;But if you keep building - even when no one is watching, even when nothing is certain -&lt;/p&gt;

&lt;p&gt;something small can turn into something that matters.&lt;/p&gt;

&lt;p&gt;I’m 18 now.&lt;br&gt;
I’m Edward Hsing.&lt;/p&gt;

&lt;p&gt;And I’m still building things people rely on.&lt;/p&gt;

&lt;p&gt;Because I believe the internet should be something people can access - not something they have to earn.&lt;/p&gt;

&lt;p&gt;If you’re interested in how it works, the project is open on &lt;a href="https://github.com/DigitalPlatDev/FreeDomain" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>opensource</category>
      <category>dns</category>
      <category>story</category>
    </item>
    <item>
      <title>Running a Free Domain Infrastructure Serving 400,000 Users</title>
      <dc:creator>Edward Hsing</dc:creator>
      <pubDate>Tue, 03 Mar 2026 18:12:34 +0000</pubDate>
      <link>https://dev.to/edwardhsing/running-a-free-domain-infrastructure-serving-400000-users-2ok3</link>
      <guid>https://dev.to/edwardhsing/running-a-free-domain-infrastructure-serving-400000-users-2ok3</guid>
      <description>&lt;p&gt;I was 15 when I registered a four-letter domain name that no one had claimed. I used my savings to buy it, simply wanting to experiment with something interesting. I did not expect it to grow into a public domain infrastructure serving hundreds of thousands of users worldwide.&lt;/p&gt;

&lt;p&gt;The idea started casually. A friend asked if they could use a subdomain under my newly registered domain. That question led me to open it to others for free, which became the US.KG Domain Registry and later expanded into a broader open infrastructure initiative under DigitalPlat Foundation.&lt;/p&gt;

&lt;p&gt;There was no ready-made system designed for managing large-scale subdomain registrations. Public DNS providers imposed limits, and existing CMS tools were not built for this kind of dynamic delegation. I deployed BIND9 on a small VPS and built a custom management layer using Python and Flask, integrating it directly with the DNS backend.&lt;/p&gt;

&lt;p&gt;Within months of launching, registrations grew quickly through organic sharing in developer communities. Growth was exciting, but it also introduced a new responsibility: operating abuse controls at scale.&lt;/p&gt;

&lt;p&gt;Running a free domain platform means accepting that misuse will exist. The engineering challenge is building systems that remain stable, compliant, and fair to legitimate users while filtering malicious activity efficiently.&lt;/p&gt;

&lt;p&gt;To handle abuse efficiently, I built an automated review pipeline that integrates domain registration events, GitHub identity signals, and abuse report intake into a unified workflow. Registrations are logged and scored based on behavioral patterns, while abuse reports are triaged through a structured ticket system. The goal is not to eliminate misuse entirely, but to reduce response time and limit blast radius.&lt;/p&gt;

&lt;p&gt;Over time, the verification model evolved into a GitHub-based identity flow using OAuth. This reduced friction for developers while improving accountability and automation in abuse handling.&lt;/p&gt;

&lt;p&gt;As the platform matured, the infrastructure expanded across multiple domains to improve resilience and operational flexibility. Today the system operates across several zones, supported by structured abuse workflows, ticket management, and community moderation.&lt;/p&gt;

&lt;p&gt;One of the most important lessons has been that infrastructure is not only about uptime. It is also about governance. Clear policies, rapid response to reports, and consistent communication are as critical as technical configuration.&lt;/p&gt;

&lt;p&gt;Some early community members later became long-term collaborators. They now help manage reports, discussions, and support processes. What began as a personal experiment has grown into a distributed effort focused on maintaining reliable and responsible open infrastructure.&lt;/p&gt;

</description>
      <category>dns</category>
      <category>opensource</category>
      <category>devops</category>
      <category>infrastructure</category>
    </item>
  </channel>
</rss>
