---
title: Arland.ai grows up
date: 2026-09-13
description: Duso has a substantial demo now, a real SaaS product I launched. Arland.ai answers visitor questions on a customer's website, and every piece of it, billing and provisioning included, runs on Duso.
keywords: Arland, Arlee, Duso, AI chatbot, SaaS, multi-tenant, Stripe
tags: duso, arland, ai, projects
image: /asset/arland-arlee.png
dave_react: happy
dave_pos: right
template: blog
---

[Arland](https://arland.ai) is a front-line sales rep that answers visitor questions on a customer's website. He reads their pages, learns their business, and talks to visitors without pressuring anybody into anything.

People have gotten impatient, and they've gotten used to an answer showing up the moment they ask for one. A website that can't do that sends somebody back out to a search engine, where the answers about a business come from a model guessing at it from the outside. Arland is built from one business's pages and documents, so what he says comes from what's there.

Arland.ai is also the substantial demo [Duso](https://duso.rocks) has been missing, a SaaS product running in production instead of a sample app written to show off a feature. That's the part I want to walk through here.

## What Arland.ai does

A customer points him at their website, he reads their pages, and he takes whatever else they feed him, text docs, exported spreadsheets, JSON data, and all of that becomes what he knows. One line pasted into their site puts the AI sales agent wherever they want it.

- **4 personalities**, friendly, concise, professional, or verbose, because a corner bakery and a roofing contractor should not sound the same
- **Speaks the visitor's language**, dozens of them, with nothing to configure
- **Takes messages through conversation**, no form to fill out before somebody can ask a question
- **Awake at 2am**, which is when a surprising number of people research a dentist
- **The AI model is included** in the price, our pick of the moment, or a customer can bring their own
- **API access** for wiring Arland into another app or a CRM

There's a free tier for building and testing, and paid plans start at $16/mo.

## The Duso part

All of Arland.ai runs on [Duso](https://duso.rocks), the marketing pages, the account server and control plane, and the bot servers.

### The product side

- **The account control plane**, plan limits, bot configuration, the knobs a customer turns
- **Customer team management**, accounts with multiple people and permissions for who can change what
- **Billing and plans**, subscriptions, upgrades, and the usage a customer sees against their limit
- **Analytics**, usage, prompts, what visitors are asking about
- **A template-driven marketing site**, the pages visitors land on
- **An installable JS widget**, the one line a customer pastes into their site
- **A public API** and the customization layer behind how the widget looks and behaves

### The plumbing underneath

- **The AI agents**, running across multiple vendors, with rate limit fallbacks so a busy provider hands off instead of failing the visitor
- **Stripe**, webhooks, plan changes, and the whole unglamorous middle of a SaaS
- **OAuth sign in** for Google, GitHub, and Microsoft, running on modules built into Duso
- **Email link sign in and invites**, a small custom module wired to Brevo for the transactional mail
- **DigitalOcean provisioning**, spinning up and tearing down infrastructure on demand
- **Multi-tenant bot servers**, many customers, isolated, sharing infrastructure
- **Built-in document datastores**, carrying the caching and the encrypted per-customer data, one tenant's content isolated from the rest, Redis-like speed in a MongoDB sort of shape with no configuration to wrangle
- **HTMX for the interactivity**, server driven, so the control plane stays HTML with no front end build step

## Some numbers

Lines of code is [still a stupid productivity metric](/post/lines-of-code-is-still-a-stupid-metric), and I stand by that, though the count does say something about how big a project got. Arland.ai is 20K lines across 304 files, with 164 endpoints averaging 120 lines each.

That endpoint count runs higher than the size suggests, and there are 2 reasons for it. A pile of them are small HTMX interactivity handlers, and the complete bot API lives in the same system.

The file count comes from how Duso likes a project laid out. Every endpoint gets its own handler script, so a route is a file instead of a branch buried in a router, which pushes the count up while keeping each file small enough to hold in your head. Shared work lives in modules, some written for the app and some built into Duso, and the runtime carries the rest, the HTTP server, the datastores, and a deep set of built-in functions that never needed a package installed.

## Go poke at it

[Arland.ai](https://arland.ai) is live, with a free tier that's enough for a look around. The whole flow is the demo, signup through billing through a provisioned bot answering questions on a site, and every piece of that is Duso code in production.

Arland on the [duso.rocks](https://duso.rocks) home page is the same product working a technical site, which leans on his capabilities and his personality harder than a bakery would. Ask him something about Duso and he will talk through the answer, point at the docs that go deeper, and write example code when the question calls for it.

## About the dog

My robot dog accountability buddy, the iOS app that's been wearing the Arland name since the start, is becoming Arlee. Same dog, same job, same gentle nagging about whether I did the thing I swore I'd do on Monday. He gets his own post once the rebrand lands.
