Willdom Lee

A Productivity Experiment: Building a Network Backup SaaS Solo with AI

When I was young and full of confidence, I studied network engineering, pursued CCIE, and kept insisting that technology could make dreams come true. Now, meeting AI in midlife, that same enthusiasm is still with me.

Why write this article? Because I have tackled the same need—automated network configuration backups—three times over two years. AI has advanced rapidly in that time. The third attempt felt like a milestone, and I wanted to capture what I learned while it was fresh. I hope it will help others too.

This is for two kinds of readers: network engineers who know how painful losing device configurations can be, and explorers interested in global AI coding tools and serverless deployment who are still standing at the door. Two years ago, I barely understood these things myself. Now I know a little. I learned by finding my way through.

Here is an idea I strongly agree with:

Don't learn to build, build to learn—learn by doing. The Chinese version says it even more neatly.

Looking back at the first two iterations: the first was I Built a System with AI: Can a Complete Beginner Develop Software? AI was rather erratic then, and its coding results felt random. What it produced was just about presentable, but not necessarily usable:

The second was The Next Chapter of XConfKit: Open Source. It could run locally, but that was about it:

The third is today's XCONF.AI (https://xconf.ai), a genuinely working SaaS MVP.

During the first two attempts, I was skeptical about AI writing production code at all. What I made was a runnable demo, and I knew it was far from ready for real use. The third time, I deliberately set a goal that felt almost impossible: a minimal SaaS product where users could actually register, get online, and complete the workflow.

1. The need and the users

The need sounds simple: automatically back up network device configurations. But anyone who has handled network operations or project delivery knows that losing a configuration is one of the most exasperating failures. A hardware fault can wipe it out, or a mistaken command during a cutover can overwrite it. Then come troubleshooting, painstaking reconstruction, and arguments over responsibility.

The tool primarily serves two groups: network engineers and operations teams managing many devices, and administrators and managed service providers with strict security and compliance requirements who cannot accept uploading plaintext SSH passwords to a third-party cloud.

Unlike the previous local demos, this attempt aimed directly at a global, serverless, CDN-based architecture with object storage and multi-tenant SaaS. The complete flow works, from self-service registration to bringing devices online and backing up their configurations.

One thing stayed constant across all three attempts: keeping the requirements tightly focused. Rather than doing everything, I wanted to solve a few painful problems well. This time I also spent more effort on visual design and user experience. I care about product aesthetics and enjoy observing good design. A network operations tool has no excuse to be crude. Any product made for people deserves care.

2. The architecture

The foundation consists of two platforms: Cloudflare and Supabase. Resend and the indispensable GitHub support it behind the scenes. Here are the details:

XCONF.AI system architecture

The frontend's static assets are hosted on Cloudflare Pages' edge network. Deploying on a global cloud platform has a practical advantage: for now, regulatory matters do not interrupt the path from development to launch. Global CDN delivery and security protections are already available.

The backend APIs and cloud functions run entirely on Supabase Edge Functions. Supabase provides the underlying storage, authentication, and tenant isolation. Email uses Resend with an @xconf.ai sending domain. The client agent is written in Go and fully open source on GitHub.

Speaking of open source, this project owes a great deal to it. The design of multi-vendor interaction conventions and filtering rules drew inspiration from the excellent Oxidized project. Configuration diffs use open-source components. I have acknowledged these projects prominently on the website and followed their licenses carefully.

The diff feature draws on WinMerge and jsdiff.

I had no physical devices available for testing, so I built a simulated environment with GNS3 and virtual machines. They ran actual device images, behaving much like the real hardware. Local simulation was crucial: I could bring up almost ten routers and several virtual machines for integrated testing.

An old friend of network engineers: GNS3, bridged with virtual machines for simulation testing

Because both the routers and virtual machines, such as Multipass, support command-line operation, AI could operate them directly and run the code–test–error–fix–retest loop for me. That was extremely efficient. People still need to do the final acceptance checks, of course.

3. What AI-native means to me

I used Cursor for the first two attempts. This time I switched to Google AntiGravity with the Google AI Ultra plan. Honestly, in some situations it is less capable than the world's leading models—you know which ones I mean—but it is very stable and its inference is extremely fast. For someone with a technical background, it was enough.

My university major was information security. Although I have forgotten much of what I was taught, I tried to set a high security bar for this product. Passwords are redacted in local memory. Configurations are encrypted locally with AES-256-GCM before upload, so the SaaS backend receives only ciphertext. Decryption happens only in the browser's local sandbox through WebCrypto, and the AGENT_KEY used for decryption stays on the user's device.

Throughout development and deployment, Cloudflare and Supabase offered excellent command-line support. That is a major advantage of the CLI in the AI era: with complete official documentation—or a skill—AI can work through coding, deployment, and troubleshooting itself. My role was mainly to set direction, look after the experience, and perform final acceptance checks.

Since AI made the product possible in the first place, I designed it from the start around questions such as: how will AI use this product, deploy it, troubleshoot it, and operate it? I think that is what AI-native means.

XCONF.AI includes a native skill.

4. What did it cost?

The biggest cost was time. Outside exercise and family time, I have spent almost all my free weekends and holidays learning about AI. This project is an important part of that learning—and a willing investment. My interest in AI is almost obsessive.

What have I paid for XCONF.AI itself? So far, just one thing: a domain name from Cloudflare. That is all.

Even for buying a domain, Cloudflare

offers good value—compare it with GoDaddy yourself.

The free allowances on global cloud services are surprisingly generous. Here is a list worth keeping:

  • Cloudflare
    Pages and CDN: static website traffic and global bandwidth are completely free, with unlimited static traffic delivery.
    R2 object storage: 10 GB of free storage per month and no egress fees, which is particularly important.
    Workers AI: 10,000 Neurons of free GPU compute per day. In practice, that is not much, so watch your usage.
  • Supabase
    Database and storage: a 500 MB database and 1 GB of storage.
    Edge Functions: a free Deno edge runtime for APIs and gateways.
    Auth: registration and login for up to 50,000 monthly active users.
  • Resend: 3,000 free emails per month, with a daily limit of 100, and one custom sending domain.

Those allowances feel more than sufficient for this project.

5. A few reflections

  • First, the result went far beyond what I expected. Before starting, I thought a solo effort might produce little more than a toy. Now the system runs reliably and has passed stability, security, and memory-leak tests in the simulated environment. AI performed most of those tests automatically.
  • Second, command-line interfaces and structured operating instructions are prerequisites for a product that AI can use smoothly. If you want AI to do work for you, write the instructions first.
  • Third, coding was not what took the most time. AI wrote the code. The real work was the product's small-scale strategy: who is it for, what problem does it solve, what value does it create, and how good should the experience be? As AI surpasses humans at some tasks, which abilities should people keep developing? Individuals and organizations alike need to think deeply, act quickly, and perhaps reinvent themselves. That is no exaggeration.
What Is Your Job Now

Farhan Thawar | Cursor Compile 26

  • Fourth, global marketing is a major subject in its own right. How do you present a product to the world? Every day, Cloudflare's dashboard shows me AI agents from around the globe crawling xconf.ai.
AI crawler traffic in the Cloudflare dashboard

The biggest thing I took away from this project was not the technology itself, but a new understanding of the limits of individual capability in the AI era.

  • Fifth, how ambitious are you? This is the first year of the agent era. With AI, each of us can command a virtual army whose abilities are improving rapidly. What do we actually want to do? What do we want to accomplish? Are we aiming high enough? Can we lead that army to the goal?
  • Bringing it back to work, the methods and understanding gained from this solo experiment will eventually feed into our own business. An organization that reexamines its processes and systems with this mindset has a great deal to unlock.

XCONF.AI is a fond look back at my life as a network engineer, and a report from an experiment in AI productivity. Let's go all in on AI!

Visit xconf.ai ↗

Originally published in Chinese on WeChat, 南山独唱团 · Read the original ↗