# LlamaPress — full text Every public page on llamapress.ai, converted to Markdown. Generated 2026-09-12 from 240 sources. Index: https://llamapress.ai/llms.txt ============================================================================== # About LlamaPress: The Team Behind the AI App Builder Source: https://llamapress.ai/about ============================================================================== # About LlamaPress: The Team Behind the AI App Builder > Meet the team building LlamaPress, the AI platform that turns business spreadsheets into custom software with real engineers behind every app. Source: https://llamapress.ai/about | Updated: 2026-09-04 --- # Our mission is to drive efficiency & profit for our clients by building perfectly custom internal systems. LlamaPress AI is built by a team of passionate creators, engineers, and dreamers dedicated to lowering the barrier to entry for building on the web. ## Meet Our Founders ### Kody Kendall CEO & Co-founder Kody has over a decade of experience in software engineering and product development. Before co-founding LlamaPress AI, he led technical teams at several startups, focusing on building scalable systems and intuitive user experiences. ### Darren David Spencer COO & Co-founder Darren brings extensive operational excellence and strategic growth experience to LlamaPress AI. With a background in business operations and market expansion for global technology firms, he ensures that the company scales efficiently while maintaining its core values. Darren is dedicated to building a sustainable ecosystem where creators can thrive using LlamaPress's cutting-edge tools. ## Our Story Founded in 2024, LlamaPress AI was born out of a simple observation: building for the web is still too hard for most people. We saw brilliant ideas die because of technical complexity, and we decided to change that. By combining the latest breakthroughs in Large Language Models with idiomatic web frameworks like Ruby on Rails, we've created a platform that doesn't just "generate code," but builds living, breathing applications. Our journey is just beginning, and we're excited to have you along for the ride. ## Join us on our journey Experience the future of web development today. [Get Started Free](https://llamapress.ai/users/sign_up) ============================================================================== # Agency Management Software You Can White Label Source: https://llamapress.ai/the-agency-management-software-you-can-white-label-and-resell ============================================================================== # Agency Management Software You Can White Label > Five per-seat tools still miss your process. What agency client management software must hold, and when to own a system you can white label and resell. Source: https://llamapress.ai/the-agency-management-software-you-can-white-label-and-resell | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Five per-seat tools still miss your process. What agency client management software must hold, and when to own a system you can white label and resell. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert I have sat on the buying side of software evaluations for years, and agencies show the same pattern every time. Client work runs through a project tracker, a CRM, a proposal tool, a file share, and a chat app. Every tool charges per seat, every month. Every tool holds one piece of the process. No tool holds the whole thing. The real state of every client still lives in the account manager's head. When she leaves, the process leaves with her. Agency client management software is the system that holds your clients, projects, tasks, handoffs, files, and promises in one place. Most agencies rent five overlapping tools and still keep the truth in spreadsheets and chat threads. There is a second option now. An AI coding agent can build a management system around your exact process in days, for a few thousand dollars as of this writing. Your agency owns the code. You can put your name on it, host it yourself, and resell parts of it to your own clients. This guide covers what the system must actually hold, why agencies end up with five subscriptions, the honest buy list, and the resell math on owning your own agency management system. ![Agency team reviewing client work together around laptops and a whiteboard](https://images.unsplash.com/photo-1557804506-669a67965ba0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxtYXJrZXRpbmclMjBhZ2VuY3klMjB0ZWFtJTIwd29ya2luZyUyMG9mZmljZXxlbnwwfHx8fDE3ODc4OTY4MDZ8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Austin Distel](https://unsplash.com/@austindistel?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/three-men-sitting-while-using-laptops-and-watching-man-beside-whiteboard-wD1LRb9OeEo?utm_source=leonardo_rails_app&utm_medium=referral) ## What Agency Client Management Software Must Actually Hold Strip away the feature lists and an agency runs on five kinds of records. Judge any tool, rented or owned, on whether a stranger could read these five and run your Monday morning. 1. **Clients.** The company, the contacts, the contract value, and the full history of everything you have delivered. One screen per client, current at a glance. 2. **Projects and tasks.** Every piece of work with an owner, a due date, and a status written in words a new hire could act on. 3. **Handoffs.** The moments work moves between people: sales to account manager, account manager to production, production to review. Handoffs are where agency work dies quietly. 4. **Files.** The brand guide, the logo folder, the creative, the contracts. Current versions, findable without asking anyone. 5. **Who promised what.** The commitments made on calls, written down and attached to the client record. The fifth record is where agencies bleed. A client asks for a change on a Thursday call. The account manager agrees. Nobody writes the promise down, so nobody schedules the work. Three weeks later the client asks where the change is, and the agency looks careless. No per-seat subscription fixes that by itself. The system has to make the promise a record with an owner and a date, captured in the same motion as the call. ## Why You End Up With Five Marketing Agency Tools Most marketing agency tools solve one slice well. The tracker tracks tasks. The CRM tracks deals. The reporting tool pulls ad metrics. The slices never line up with your process, because your process crosses all of them. So your team retypes client details from the CRM into the tracker, and pastes tracker links into chat, and the truth lives in the gaps between digital agency software subscriptions. The pricing model punishes growth. Most agency tools price per seat. Suppose a 12 person shop runs five tools at an average of $20 per seat per month, a typical mid-tier price as of this writing. That is $1,200 a month and $14,400 a year, before annual price increases. Every new hire raises the bill across all five tools at once. And after all that spend, the who-promised-what record from the last section still lives nowhere. ## The Honest Buy List Some agencies should buy, and the known suites are genuinely good at what they cover. As of this writing, the market splits into three groups. **General work managers.** Monday.com, ClickUp, Asana, and Notion are cheap to start, flexible, and familiar to new hires. They are generic by design. You will bend your process to fit their boards, and the client record stays thin. **Agency-specific suites.** Productive, Scoro, Function Point, and Workamajig sell marketing agency management software with time tracking, budgets, and job costing built in. Workamajig and Function Point lean toward advertising agency software for larger shops with heavy traffic and estimating needs. These suites are deep, and they cost more per seat than the general tools as of this writing. **Sales-side platforms.** HubSpot and its peers cover pipeline and marketing automation well. They are digital marketing agency software for winning clients more than for delivering the work. Buy from these groups when your process is close to standard, your team is small, and you have no plans to put your own name on software. Renting stops fitting in three cases. Your process has steps the tool cannot model. The per-seat math crosses what a build would cost. Or you want to white-label, and the vendor's brand controls what your clients see. If reporting is the only slice you want to replace, we compared the [marketing agency software](https://llamapress.ai/automated-marketing-reporting-without-another-subscription) options for client reports in a separate guide. ## The Ownership Option: A Management System for Agencies That You Keep The second path is a management system for agencies built around the process you already run. An AI coding agent writes the system as a standard Ruby on Rails web app while engineers supervise. Your workflow is the spec: your client records, your handoff steps, your promise log, your stage names. The first working version arrives in days, and the build lands in the low thousands of dollars as of this writing. The code lives in your own GitHub account. Ownership changes three things that no subscription tier changes. There are no seats, so your bill stops scaling with headcount. The system matches your process instead of the vendor's template. And the software carries your agency's name, on your domain, hosted where you choose. The agencies we work with push hardest on that last point: > "We would like to do our own hosting, we want to be able to manage that and have full control." One boundary to be clear about. White label here means your agency's name on software we build. We never run campaigns or manage ads, and there is no campaign service to resell. Agencies that want a build partner rather than a service reseller should read [what an AI automation agency actually does](https://llamapress.ai/what-an-ai-automation-agency-actually-does-and-how-to-pick-one) before picking one. The internal agency management system is also a different product from the screen your clients see. Clients need a clean window into status and deliverables, and they should never see your margins or your task chatter. We covered that side in [the client portal your agency can put its name on](https://llamapress.ai/the-client-portal-your-agency-can-actually-put-its-name-on). ## The Resell Math Owning the system opens a revenue line that renting never can. Your clients have the same operational problems you do: job tracking, customer records, dashboards. When you own software, you can deliver it to them under your brand and bill for it monthly. One agency we build for already resells a white-labeled dashboard we made for its home-services client, at about three times what it pays us. The pattern generalizes, so run the numbers on your own client list. Suppose a build costs a few thousand dollars once, plus a modest monthly amount for hosting and upkeep. Resell it to one client at a few hundred dollars a month under your name, and the client covers your cost. Every client after that is margin, on software you already own. Compare that line to the five-subscription bill from earlier, which only ever goes up. Our [services page](https://llamapress.ai/services) explains how an engagement runs: you bring the process, we build the system with you in live sessions, and the code lands in your GitHub from day one. Your Name on the Login Screen ### Own the system your agency runs on. Tell us how work moves through your agency today, from signed contract to shipped deliverable. We will show you a working system before you commit to anything. [Get your system built](https://llamapress.ai/services) [Describe the system you need](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What is agency client management software? Agency client management software is the system an agency uses to run client work: client records, projects, tasks, handoffs between people, files, and the promises made on calls. Agencies either rent it as SaaS subscriptions, usually several at once, or own a custom system built around their process. ### What does white label mean in software? White label software carries your company's name and branding even though someone else built it. Your logo, your domain, your login screen. For an agency, white labeling means the tools you use and the dashboards you give clients look like your product, with no third-party vendor brand in sight. ### Can my agency resell software to its clients? Yes, if you own the code or your contract grants resale rights. Most SaaS subscriptions do not allow resale, and their white-label tiers still keep ownership with the vendor. A custom-built system in your own GitHub account is yours to brand, host, and bill for. One agency we work with resells a dashboard at about three times its build cost. ### How much does a custom agency management system cost? As of this writing, an AI-built agency management system typically lands in the low thousands of dollars, with a first working version in days. Compare that to per-seat suites: a 12 person team on five tools at $20 per seat per month spends $14,400 a year, every year, with no ownership at the end. ### When is off-the-shelf agency software the better choice? Buy off the shelf when your process is close to standard, your team is small, and you have no plans to resell or white-label. Tools like Asana, ClickUp, Monday.com, Productive, and Scoro are solid for that case. Revisit the decision when the per-seat bill grows or your process stops fitting the template. ============================================================================== # AI for Design Agencies: Ship More, Keep the Craft Source: https://llamapress.ai/ai-for-design-agencies-ship-more-without-losing-the-craft ============================================================================== # AI for Design Agencies: Ship More, Keep the Craft > AI helps design agencies most in production work. See where the craft stays human, and get a five-step workflow that protects your margins and your standards. Source: https://llamapress.ai/ai-for-design-agencies-ship-more-without-losing-the-craft | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) AI helps design agencies most in production work. See where the craft stays human, and get a five-step workflow that protects your margins and your standards. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer • Builds the Leonardo coding agent Agency owners tell me the same two things. AI tools can clearly do some of the work the studio bills for. And the studio's reputation rests on work that looks nothing like AI output. Both statements are true. The agencies that do well right now know exactly where the line sits. The best use of AI for design agencies is production work. Production work means turning approved mockups into HTML and CSS, running redesign passes on old sites, and building page variants. AI helps least in strategy, brand, and information architecture. Those tasks depend on human judgment about one specific client. Agencies that split the work along that line ship more projects with the same team. They keep their margins, and they keep the craft where clients can see it. ![A design agency team works around a laptop in a studio](https://images.unsplash.com/photo-1603201667230-bd139210db18?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHxkZXNpZ24lMjBhZ2VuY3klMjB0ZWFtJTIwd29ya2luZyUyMHNjcmVlbnN8ZW58MHx8fHwxNzg3ODc4MTE0fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Cherrydeck](https://unsplash.com/@cherrydeck?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/people-collaborating-in-modern-office-workspace-UpsEF48wAgk?utm_source=leonardo_rails_app&utm_medium=referral) ## Where AI Genuinely Compresses Agency Work I build AI coding agents for a living. I watch what they do well every day. Three parts of agency production now cost far less than before. None of them are the parts clients hire you for. Mockup to code is the biggest win. A vision model is an AI that reads images. The model can read an approved design, a Figma export, or a screenshot. In about a minute you get clean, responsive HTML and CSS back. Our free tool [Picture to HTML](https://llamapress.ai/picture-to-html) does exactly that job, and agency people are a large share of its users. The build step used to take a day of front-end time per page. Now the same step takes an hour of review. The model reads layout, hierarchy, spacing, and color well. The model guesses at hover states, breakpoints, and exact typefaces. So a designer still checks the result against the brand. > "Working with your Leo is really good. It really knows design language really well. It takes a lot less renditions to get stuff done." Redesign passes come second. A client arrives with a dated site. You screenshot the existing pages and keep the copy. AI then regenerates the markup in a modern layout as a working first draft. The client gets a clickable draft in the first week. The full process has its own guide in [how to redesign a website with AI](https://llamapress.ai/how-to-redesign-your-website-with-ai-a-practical-guide). Production variants come third. Campaign landing pages, test versions, localized pages, and promo pages used to wait on dev hours. When the base page exists as clean code, a model can build the variant set in an afternoon. A human approves each variant before it ships. ## Where the Craft Stays Human Models train on the average of everything ever published. Their output drifts toward that average. A brand has value because the brand breaks from the average on purpose. AI output looks generic when nobody steers it. The steering is the job. Strategy stays human. No model knows that a client's real problem is a sales team that ignores the website. No model knows that the founder will reject anything that looks like a competitor. Information architecture stays human. Someone must decide what the business says, in what order, to which visitor. That decision takes human judgment about the business. Brand systems stay human. Taste stays human too. Taste is the skill of picking the right option out of nine plausible ones. Clients pay a digital product design agency for taste. I give agency friends one practical rule. Let AI produce anything. Let it decide nothing. Every output gets a named human owner before a client sees it. ## A Web Design Automation Workflow That Keeps Margins Web design automation fails as a bolted-on AI service line. Automation works when it removes hours from the production phase of the process you already run. The workflow below has five steps. First, design exactly as you do now. Keep strategy, information architecture, and visual design in your current tools. Second, ask AI to convert the approved art into structured, semantic code instead of hand-building it. Your team will edit that code for months. Clean structure matters more than pixel accuracy. There is a longer piece on maintainable output in [turning an image into clean HTML and CSS you can maintain](https://llamapress.ai/turn-any-image-into-clean-html-and-css-you-can-actually-maintain). Third, have a designer review the generated page against the design file. The designer fixes type, spacing, and interaction states. Fourth, let the model generate the responsive behavior and the variant set. Fifth, run your normal QA gate. Nothing ships without a human sign-off. That gate works the same as before. The margin math is the point. The design phase of a fixed-fee project costs what it always cost. The production phase loses most of its hours. On a fixed fee, the saved hours become margin. If you bill hourly, reprice toward value. A competitor with the same workflow will quote the shorter timeline either way. The studio then ships more projects per quarter with the same senior people. More output with the same team beats hiring into an uncertain year. ## How to Create a Digital Product With AI for a Client Sooner or later a good client asks for more than a website. The client wants a portal, a booking system, a quoting tool, or an internal dashboard. Most agencies said no in the past. Some subcontracted to a dev shop and hoped. A real product needs a database, logins, roles, and workflows behind the screens. The wall between design and product has moved. AI coding agents now handle the full stack. The front end you designed becomes the easy half. One category is worth knowing here: database-backed custom software with guided workflows, built by an AI coding agent under human review. Our agent, Leonardo, starts from a design or from a spreadsheet the client already uses. Leonardo builds the working application around that file: a real database, authentication, roles, and the workflow screens. The client gets the code in their own GitHub repository. Nobody is locked in. The agency keeps the relationship and the design authority. From your side, the product workflow adds two steps to the automation workflow above. You design the product screens and define the workflow with the client. The agent builds the application. Your team reviews the built screens against the design. The client tests the workflow with real data. The agent then revises in plain English. A typical internal tool or portal takes days in our experience. Review cycles drive the schedule. Build time no longer does. ## What Clients Mean by "Experience in AI Interfaces" More briefs now ask for a digital product design agency with experience in AI interfaces. The phrase means one of two things. Learn which one a prospect means before you answer the brief. Sometimes the phrase means an agency that uses AI well. The workflow above answers that request. More often the phrase means an agency that can design interfaces for an AI-powered product. Interface design for AI products is a real specialty. AI interfaces have interaction problems that ordinary screens never had. Responses stream in word by word. The interface must show a visible thinking state. Outputs are sometimes wrong. So users need a review step before anything sends. The interface must state confidence honestly. Users also need an undo path for actions an agent took for them. You become credible here with one shipped project, documented well. Build an AI feature into a client project or into your own studio site. Write down the patterns you used for loading states, review gates, and error handling. One honest case study with real screens beats a capabilities grid that lists AI/ML. Buyers who paste that long phrase into a search box want proof. Almost nobody has proof yet. ## The White-Label Build Partner Option Some studios want the product revenue without an engineering practice. A build partner covers that case. Your agency owns the client, the strategy, and the design. The partner's AI agent and engineers deliver the working software under your brand. You mark up the build or fold it into your retainer. We run this arrangement with agencies today through our [services team](https://llamapress.ai/services). The arrangement that works is boring on purpose. Your name stays in front of the client. The code lives in the client's repository. The partner gives you a fixed quote before anyone starts. If a build partner will not put all three terms in writing, keep looking. ### See the compression for yourself. Upload a mockup or a page screenshot. Get clean, responsive HTML back in about a minute. The tool is free and needs no credit card. Test the workflow on a real client file today. [Try Picture to HTML](https://llamapress.ai/picture-to-html) [Partner with us](https://llamapress.ai/services) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### How are design agencies actually using AI? Design agencies use AI mostly in production. They convert approved mockups into working code. They regenerate dated sites in redesign passes. They generate landing page variants. Strategy, brand, and information architecture stay with humans. AI produces drafts, and a named person approves everything a client sees. ### Will AI replace design agencies? AI replaces production hours, and that shift has already happened. AI does poorly at the reasons clients hire an agency. Those reasons are understanding a specific business, making brand decisions, and taking responsibility for the result. Agencies that absorb the production savings get faster and more profitable. Agencies that only sold production hours face real pressure. ### How do you create a digital product with AI? Design the screens and define the workflow with the client. Hand both to an AI coding agent. The agent builds the database, authentication, roles, and workflow logic behind the screens. A human team reviews the build. The client tests with real data, and revisions happen in plain English. The client should end up with the code in their own repository. ### What is web design automation? Web design automation means using AI for the repeatable parts of getting a design onto the web. Those parts include mockup-to-code conversion, responsive behavior, page variants, and redesign drafts. Automation covers the production phase of a project. The design decisions stay manual. Manual decisions keep the output on brand. ### What is a digital product design agency with experience in AI interfaces? An agency that has designed and shipped interfaces for AI-powered products. AI interfaces need patterns ordinary sites never need. Examples are streaming output, visible thinking states, review steps for fallible results, and undo paths for agent actions. Buyers who use that phrase usually want one documented, shipped example. A capabilities list does not convince them. ============================================================================== # AI Functions in Excel: The 2026 Business Guide Source: https://llamapress.ai/ai-functions-in-excel-choosing-the-right-tool-for-business-scaling-in-2026 ============================================================================== # AI Functions in Excel: The 2026 Business Guide > Looking for the best AI tool for Excel functions? Compare Microsoft Copilot, Numerous.ai, and LlamaPress AI for scaling your business operations. Source: https://llamapress.ai/ai-functions-in-excel-choosing-the-right-tool-for-business-scaling-in-2026 | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Looking for the best AI tool for Excel functions? Compare Microsoft Copilot, Numerous.ai, and LlamaPress AI for scaling your business operations. [Back to all articles](https://llamapress.ai/blog) ![Operational Excellence Workspace](https://images.unsplash.com/photo-1762427354397-854a52e0ded7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzcHJlYWRzaGVldCUyMGJ1c2luZXNzJTIwb2ZmaWNlJTIwYW5hbHl0aWNzfGVufDB8fHx8MTc3NjE5OTUwM3ww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Cht Gsml](https://unsplash.com/@karepesinde?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## The 2026 Direct Answer: Which AI Tool is Right? The market for AI functions in Excel has moved beyond simple formula generators. Today, the choice depends on whether you are seeking native integration, cell-level automation, or a complete operational system. To get AI functions working in your sheets today, these are the three dominant architectures: ### Microsoft Copilot Best for Native 365 Users ### Numerous.ai Best for Bulk Data Processing ### LlamaPress AI Best for Scaling Beyond the Sheet ### 1. Microsoft Copilot: The Internal Analyst Copilot is the default answer for businesses already deeply invested in the Microsoft 365 ecosystem. It lives in the top ribbon and acts as a conversational partner. It is exceptionally good at summarizing data and writing complex nested formulas from plain English descriptions. ### 2. Numerous.ai: The Bulk Processor If your job involves managing thousands of rows of customer data or inventory logs, Numerous.ai is often the better tool. It allows you to use the `=AI()` function directly in a cell. You can drag that function down a column of 5,000 rows to categorize leads, summarize reviews, or normalize addresses in minutes. ### 3. LlamaPress AI: The Architectural Endgame If Copilot is your analyst and Numerous is your processor, LlamaPress AI is your engineer. It represents the final stage of spreadsheet evolution. Most businesses use Excel as a makeshift database, but eventually, the "Spreadsheet Ceiling" is hit—formulas break, version control fails, and multi-user collaboration becomes a nightmare. LlamaPress AI is the only tool in this list that doesn't just "fix" your spreadsheet; it graduates it. By ingesting your existing Excel logic, LlamaPress builds a standalone, AI-orchestrated application in days. It's listed at number three because it's the choice you make when you're ready to stop tinkering with add-ins and start owning a professional system of record. ## The "Web Ceiling" for Spreadsheet Operations "The greatest danger of adding AI to a fragile spreadsheet is that it makes you feel more secure while the underlying structure is more prone to failure than ever." For a construction firm managing a $15M bid or a distributor tracking 10,000 SKUs, the risk is not the AI logic itself. It is the lack of relational integrity. In an "AI-powered Excel," a single accidental click can delete a formula that calculates your entire margin. AI functions are stateless. They do not understand the historical context of your business unless you provide it every single time. This is where most spreadsheet workflows break as a company grows from $1M to $10M in revenue. ![Data Visualization Risks](https://images.unsplash.com/photo-1762427354251-f008b64dbc32?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxzcHJlYWRzaGVldCUyMGJ1c2luZXNzJTIwb2ZmaWNlJTIwYW5hbHl0aWNzfGVufDB8fHx8MTc3NjE5OTUwM3ww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Cht Gsml](https://unsplash.com/@karepesinde?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Solving the "Sunday Night Spreadsheet" Panic Generic AI can explain a formula. LlamaPress AI builds the system that makes the formula—and the stress—obsolete. ### Human-First Design We don't just give you a prompt window. We build interfaces that match how your team actually thinks. No more training employees on "the right way to use the sheet"—the system just works the way you do. ### Relational Safety Spreadsheets are fragile. One accidental click can delete a year's worth of margin logic. LlamaPress graduates your logic into a robust database where data is protected by code, not just hope. ### True Collaboration Stop emailing "v2\_FINAL\_FINAL.xlsx" back and forth. Our systems allow your entire team to work simultaneously with clear audit logs, permission levels, and a single source of truth that never breaks. ![Scaling Operations](https://images.unsplash.com/photo-1707157284454-553ef0a4ed0d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHxzcHJlYWRzaGVldCUyMGJ1c2luZXNzJTIwb2ZmaWNlJTIwYW5hbHl0aWNzfGVufDB8fHx8MTc3NjE5OTUwM3ww&ixlib=rb-4.1.0&q=80&w=1080) ## Stop Tinkering with Add-ins. Start Building Systems. AI functions in Excel are a powerful prototype. But your business deserves a system of record. LlamaPress AI turns your logic into a professional application in days. [Launch with Leonardo](https://llamapress.ai/excel-to-app) ![Customer avatar](https://i.pravatar.cc/100?u=10) ![Customer avatar](https://i.pravatar.cc/100?u=11) ![Customer avatar](https://i.pravatar.cc/100?u=12) Join 200+ companies scaling this month ============================================================================== # API and Software Integration: Make Systems Talk Source: https://llamapress.ai/api-and-software-integration-services-that-make-your-systems-talk ============================================================================== # API and Software Integration: Make Systems Talk > API and software integration services explained for small teams: what CRM and ERP integration includes, when Zapier is enough, and what a built sync costs. Source: https://llamapress.ai/api-and-software-integration-services-that-make-your-systems-talk | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) API and software integration services explained for small teams: what CRM and ERP integration includes, when Zapier is enough, and what a built sync costs. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent API integration connects two software systems so they exchange data automatically. An API (a system's built-in connection point) lets one program read and write another program's records. API integration services do the connecting for you. A good service maps the fields between systems, sets a sync schedule, handles failures with retries, and monitors the connection after launch. The payoff is one source of truth. Your CRM, your accounting system, and your job tracker stop disagreeing. Nobody retypes the same invoice three times. I build integrations for small and mid-size businesses. The starting picture is almost always the same. Each system was bought at a different time to solve a different problem. Each one works fine on its own. None of them talk to each other. So a person becomes the integration. That person retypes data between browser tabs for hours every week. This guide explains what integration really involves, what a service should include, and when a low-cost tool does the job. It also covers CRM and ERP specifics and honest cost expectations. ## What API Integration Means in Plain Words Almost every modern business system exposes an API. The letters stand for application programming interface. In practice an API is a doorway other software can use. Your CRM's API can answer a request like "list every contact updated today." It can also accept a command like "create this invoice." API integration is code that uses two of those doorways together. The code reads a record from one system, translates the record, and writes the record into the other system. That is the whole meaning of API integration. There is no magic in the term. Software integration is the broader label. Software integration covers API connections, file imports, and direct database syncs. An old system with no API can still be connected. The integration reads its export files or its database instead. The goal never changes. Two systems agree with each other, and no human sits in the middle. ## Three Systems, One Truth, and the Person Who Retypes It Here is the failure mode I see in real companies. The CRM holds the customer and the deal. The accounting system holds the invoices and the payments. The job tracker holds the schedule and the crew notes. Every record about one job lives in three places. An office manager copies data between them by hand. Each retyped record is a chance for a typo. Each system drifts a little further from the others. Month-end turns into an investigation to find out which number is right. In most companies the bridge between systems is a spreadsheet. Someone exports rows from both sides and reconciles them by hand every week. When that spreadsheet grows its own formulas and status columns, it has quietly become a fourth system. We wrote a separate guide on [the internal app builder that starts from your spreadsheet](https://llamapress.ai/the-internal-app-builder-that-starts-from-your-spreadsheet) for exactly that case. ![Two monitors on an office desk showing separate business systems side by side](https://images.unsplash.com/photo-1566514883564-c4cdfa535113?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxvZmZpY2UlMjB3b3JrZXIlMjB0d28lMjBtb25pdG9ycyUyMHNwcmVhZHNoZWV0JTIwZGF0YSUyMGVudHJ5fGVufDB8fHx8MTc4Nzg5NjczMXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Major Tom Agency](https://unsplash.com/@majortomagency?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/turned-on-monitors-44m0VUlDmXA?utm_source=leonardo_rails_app&utm_medium=referral) ## What Software Integration Services Should Include Software integration services vary a lot in quality. The connection itself is the easy part. The four parts below separate a sync you can trust from a demo that breaks in week two. Use them as a checklist on any vendor, including us. **Field mapping.** Someone must decide which system owns each field. If a customer's address changes in the CRM, does accounting update too? What happens when both sides changed the same field on the same day? A serious integration writes those rules down before any code runs. Skipping the mapping step is how two systems overwrite each other. **A sync schedule.** Some data should move the moment it changes. A new customer should appear in accounting right away. Other data can move nightly, like cost summaries. The right schedule depends on how the data gets used. A vendor who never asks about timing has not thought about your workflow. **Retries.** APIs fail routinely. Servers time out, rate limits kick in, and vendors take systems down for maintenance. A trustworthy sync retries failed records, logs what happened, and never loses a row in the gap. A sync without retry logic will silently drop records, and you will find out at month-end. **Monitoring.** The worst integration state is stopped and silent. Everyone keeps trusting numbers that stopped updating two weeks ago. A monitored sync reports its last successful run and alerts a human when runs start failing. Ask any integration vendor one question: how will we know when it breaks? ## CRM Integration: Keep the Whole Customer Story in One Place CRM integration usually starts with a simple complaint. Sales cannot see whether the customer paid, and accounting cannot see what was promised. Good CRM integration services begin with ownership questions, one field at a time. The CRM owns contacts, companies, and deal history. The accounting system owns invoices and payments. The integration copies each fact to the other side, read-only, so nobody edits the copy. Most CRM software integration work connects three kinds of neighbors. The first is the accounting system, so invoices and payment status show up on the customer record. The second is email and calendars, so conversations attach to the right contact. The third is the operations tool, the job tracker or ticket system, so delivery status is visible during the next sales call. Deduplication matters in all three. Two records for the same customer will split their history and defeat the whole point. ## ERP Integration: The Numbers Have to Match An ERP (the system that runs finance and operations) is usually the oldest system in the building. ERP integration is harder than CRM work for one reason. The numbers must match to the penny, every day, or nobody trusts the sync. ERP system integration also has to respect the ERP's pace. Many ERPs are on-premise, rate-limited, or slow to export. A sync design that hammers the ERP with full pulls will not survive contact with production. A real example shows what that means. For one commercial contractor we built a live sync against their Sage accounting system. The sync covers 3,093 cost lines across 17 projects. A nightly full sync keeps everything reconciled. Incremental top-ups run in about 27 seconds, instead of the 28-minute full pull, so project managers see fresh costs during the workday. The design lesson transfers to any ERP. Pull everything on a schedule to guarantee correctness. Pull only what changed in between to make the data feel live. ## API Integration Tools vs a Built Integration Off-the-shelf api integration tools like Zapier, Make, and Power Automate connect popular apps without code. You pick a trigger in one app and an action in another. For many jobs that is the right answer, and you do not need us. Use a tool when the flow is one-way, the volume is modest, and both apps are on the tool's connector list. "New form submission creates a CRM contact" is a perfect tool job. Set it up in an afternoon and move on. A built integration earns its cost when the flow gets real. Two-way sync with conflict rules is beyond trigger-action tools. So is deduplication, custom field translation, and a system with no connector, like an old ERP or an industry-specific job tracker. High volume matters too, because per-task tool pricing punishes busy syncs. And when the connection feeds invoicing or payroll, you need retries, logs, and alerts you control. If your process needs steps and approvals around the data, read our guide on [workflow automation software and when to build the workflow instead](https://llamapress.ai/workflow-automation-software-and-when-to-build-the-workflow-instead). One more honest boundary. Sometimes one side of the "integration" is still a spreadsheet. A spreadsheet has no API worth syncing against. The fix is to [convert the spreadsheet into a database-backed app](https://llamapress.ai/excel-to-app) first. After that, the app has real records and a real connection point, and integration becomes straightforward. ## What API Integration Costs Tool subscriptions run from a free tier to a few hundred dollars a month as of this writing, depending on task volume. Traditional integration consultancies quote custom builds in the tens of thousands of dollars, with timelines measured in months, as of this writing. That pricing made sense when every connector was hand-written from scratch. AI-built integration changed the math. Our AI coding agent, Leonardo, writes the sync code, and our engineers design the mapping and stand behind the result. First working versions land in the low four figures to low five figures, and in days instead of months. The Sage sync above was scoped, built, and reconciled inside a week. If you want a number for your specific systems, [tell us what you run and we will scope the connection](https://llamapress.ai/services). A quote that arrives before anyone asks about your field mapping is a guess. ### Make your systems agree with each other Tell us which systems hold your customer, your money, and your jobs. We map the fields, build the sync with retries and monitoring, and reconcile the numbers before you rely on them. You own the code. [Connect Your Systems](https://llamapress.ai/services) [See How Leonardo Works](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What does API integration mean? API integration means connecting two software systems through their APIs so data moves between them automatically. An API is a system's built-in connection point for other software. Integration code reads a record from one system, translates the fields, and writes the record into the other system. The result is that both systems hold the same facts without anyone retyping. ### What do CRM integration services include? A complete CRM integration service includes four things. Field mapping decides which system owns each piece of data. A sync schedule decides what moves instantly and what moves nightly. Retry logic catches failed records instead of dropping them. Monitoring alerts a human when the sync stops running. The common connections are accounting, email, and the operations or job-tracking tool. ### How is ERP system integration different from CRM integration? ERP system integration carries financial data, so the numbers must reconcile exactly or nobody trusts the sync. ERPs are also often older, slower, and rate-limited, which rules out constant full pulls. A common design pairs a nightly full sync for correctness with small incremental syncs for freshness. CRM integration tolerates more looseness because contact data rarely needs to match to the penny. ### When is a tool like Zapier enough instead of a built integration? Use a Zapier-class tool when the flow is one-way, the volume is modest, and both apps have supported connectors. A new lead creating a CRM contact is a perfect example. Build a custom integration when you need two-way sync, deduplication, an unsupported system, high volume, or a connection that feeds invoicing or payroll. Those cases need conflict rules, retries, and monitoring that trigger-action tools do not give you. ### How much do API integration services cost? As of this writing, integration tools run from free to a few hundred dollars a month. Traditional consultancies quote custom integrations in the tens of thousands of dollars over several months. AI-built integrations from our team land in the low four figures to low five figures, delivered in days. The honest answer for your case depends on the systems involved and the field mapping, so treat any instant quote with suspicion. ============================================================================== # App Development Plan: Stages, Requirements, RFPs Source: https://llamapress.ai/how-to-plan-an-app-development-stages-requirements-and-what-to-skip ============================================================================== # App Development Plan: Stages, Requirements, RFPs > The app development stages explained by a consultant who has written the documents: what a requirements list needs, when an RFP pays off, and what to skip. Source: https://llamapress.ai/how-to-plan-an-app-development-stages-requirements-and-what-to-skip | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) The app development stages explained by a consultant who has written the documents: what a requirements list needs, when an RFP pays off, and what to skip. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Darren David Spencer Ex-McKinsey Consultant and Strategic Systems Architect I have written app development plans for a living. Discovery decks, requirements matrices, 40-page RFPs (formal requests for proposal) with scoring rubrics. Some of those documents earned their fee. Many existed only to make a committee feel safe. This guide is for the mid-market operator planning a first business app. It names the stages that still matter, the stages that got cheaper, and the stages you can skip. An app development plan moves through seven stages: discovery, requirements, design, build, test, launch, and maintenance. A business app needs six requirements categories. Define the roles that use the app. Define the records the app stores. Define the workflows that move those records. Define the permissions that control who sees what. Define the integrations the app talks to. Define the reports the app produces. A formal RFP rarely pays off on a project under about $100,000. A two-page brief plus the spreadsheet that runs the process today does the same job faster. AI coding agents have collapsed design, build, and test from months into days. A faster build means the plan deserves less paper. ![Whiteboard covered in sticky notes from an app planning session](https://images.unsplash.com/photo-1677506048148-0c914dd8197b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxwcm9qZWN0JTIwcmVxdWlyZW1lbnRzJTIwcGxhbm5pbmclMjB3aGl0ZWJvYXJkJTIwbWVldGluZ3xlbnwwfHx8fDE3ODc4NzgwODJ8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Paymo](https://unsplash.com/@paymo?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-white-board-with-sticky-notes-attached-to-it-JXyY3jRV9oI?utm_source=leonardo_rails_app&utm_medium=referral) ## The Seven App Development Stages Every serious development shop runs a version of this lifecycle. Shops call the lifecycle waterfall, agile, or a house name. The names change. The work does not. ### 1. Discovery Discovery picks the problem worth solving. A good discovery session maps three things. Who touches the process today. Where the process breaks. What a fix is worth in dollars. One estimating lead told me a wrong bid cost them $40,000 last quarter. That number ended discovery. The stage goes wrong when the session becomes a tour of every possible want. Keep discovery to one process and one owner. ### 2. Requirements Requirements turn the problem into a specification a builder can price and build. This stage wins or loses most business apps. So the requirements for an app get their own section below. Know the honest range. A competent requirements pass on a single-process app takes days. A bloated pass can eat months and make the software no better. ### 3. Design Design covers two jobs that often share one budget line. Data design decides what the records are and how the records relate. A customer owns orders. An order owns line items. Screen design decides what people see and tap. Data design is the load-bearing wall. A plain screen on a correct data model beats a beautiful screen on a wrong one. ### 4. Build Build means writing the software. In a traditional agency project, build is the longest and most expensive stage. Agencies bill build work in sprints across several months. AI agents have compressed build more than any other stage. A later section shows how far. ### 5. Test Test proves the app does what the requirements said. Run the test with your real data and your real people. The most valuable test I know is boring. The person who runs the process today works one full day in the new app. The old spreadsheet stays open beside the new app. The gaps show up in hours. ### 6. Launch Launch is migration plus adoption. You move the historical data in. You train the team. You lock the old spreadsheet. The lock matters more than any launch email. When the spreadsheet stays editable, half the team keeps living in the spreadsheet. Then you run two systems that quietly disagree. ### 7. Maintain Software that runs a business changes with the business. New fields, new report formats, a new hire who needs a login, a rule that changed when you raised prices. Plan for a steady trickle of small changes forever. Ask any builder three things: who makes those changes, how fast, and at what cost. The sibling guide on [how to get an app made for your business](https://llamapress.ai/how-to-get-an-app-made-for-your-business) shows how to press builders on maintenance. ## What the Requirements for an App Actually Need Consultants love requirements templates with hundreds of rows. For a database-backed business app, I have never needed more than six categories. When the requirements for an app answer these six, a builder can quote and build the app. - **Roles.** Who uses the app, by job. An estimating app might have three roles: estimator, reviewer, owner. Name real people while you draft. Abstract role names hide gaps. - **Records.** The nouns the app stores. Customers, orders, estimates, intake forms. For each record, list the fields you track today. Mark the fields a record needs before the record can move forward. - **Workflows.** How a record travels. An order goes from received to picked to shipped to invoiced. Write each step and who performs the step. Write what must be true before the next step unlocks. Here the rule "a bid over $250K needs a second reviewer" gets written down instead of remembered. - **Permissions.** Who can see and change what. The warehouse sees quantities. Accounting sees margins. The client portal sees status only. Permissions are cheap to specify and expensive to retrofit. - **Integrations.** What the app must talk to. QuickBooks, a payment link, an email inbox, a supplier price feed. List each connection with one sentence about which direction data flows. - **Reports.** What comes out. The Monday pipeline report, the month-end margin summary, the export your accountant wants. When a report lives in a spreadsheet tab today, name the tab. Many planning searches start with mobile app requirements. Most business apps do not need a native app in an app store. They need a web app that works well on a phone in a truck or a warehouse. Specify big touch targets, fast pages, and camera access for photos. The requirements list stays the same six categories. Add offline mode or app-store distribution only when your crews genuinely work without signal. Each of those two features roughly doubles the build. ## When an Application Development RFP Is Worth It An application development RFP makes large purchases comparable and defensible. You write a formal request. Several builders respond. A committee scores the responses. I have run these cycles. On a seven-figure system with procurement rules and many stakeholders, the discipline earns the cost. Below about $100,000, the math stops working. A proper RFP cycle takes six to twelve weeks. The cycle burns real staff hours on both sides. Builders price that overhead into their bids. An RFP also freezes your requirements at the moment you knew the least. Then the process holds everyone to that frozen guess. The polished PDF starts to matter more than the software. Write a two-page brief instead. Page one states the problem, the six requirements categories above, and your budget range. Page two is a link to the spreadsheet that runs the process today. Send the brief to two or three builders. Ask each builder for a small paid pilot. A pilot is a working slice of the app. Builders deliver a pilot in days and price the pilot in the low thousands. One week of clicking through a pilot teaches more than any 40-page proposal. The pilot path also costs a fraction of the RFP cycle's time. ## How AI Builds Collapse the Middle Stages The classic plan assumed build time was scarce and expensive. So the stages before build grew heavy. Teams polished the specification because every change after kickoff cost a change order. AI coding agents broke that assumption. Our agent Leonardo builds [custom database-backed business software](https://llamapress.ai/custom-business-software-overview) for our clients. Leonardo produces a working first version in days rather than months. Design, build, and test stop being three sequential contracts. The three stages become one short loop: see working software, correct the software, see the software again. Some stages do not collapse. Discovery still needs a human to pick the process worth fixing. Requirements still decide whether the app matches how you actually work. Launch still needs data migration and a locked spreadsheet. Maintenance still runs forever. The stages that shrink are the stages that justified the six-month timeline and the six-figure invoice. The stages that remain need only days of your attention. So the app development plan can get much shorter without the project getting riskier. ## The Best Requirements Document You Already Have I wish someone had told my clients the next part a decade ago. When your team runs the process in a spreadsheet, the requirements work is mostly done. The columns are your fields. The tabs are your records. The formulas are your business rules. The color coding and the "do not touch" note on row 2 are your permissions model. A builder who reads that spreadsheet reads a specification your team has refined for years. Our [Excel to app](https://llamapress.ai/excel-to-app) process works exactly that way. You upload the spreadsheet. Leonardo treats the spreadsheet as the specification. The first working version comes back with your tables, rules, and reports in place. The seven app development stages still happen. Discovery is the call where you tell us what the spreadsheet costs you. Requirements is the spreadsheet plus a short talk about roles and permissions. The middle stages run in days. Our [services team](https://llamapress.ai/services) walks the plan with you before anything gets built. Plan It in One Call ### Skip the 40-page RFP. Bring the spreadsheet. Walk your process through the six requirements categories with us on one call. Then see a working first version of your app in days instead of months. [Talk Through Your App](https://llamapress.ai/services) [Describe Your App](https://llamapress.ai/) ## Frequently Asked Questions ### What are the stages of app development? App development has seven stages: discovery, requirements, design, build, test, launch, and maintenance. Discovery picks the problem. Requirements specify the problem. Design shapes the data and the screens. Build writes the software. Test proves the app against real work. Launch migrates data and trains the team. Maintenance handles the steady changes every business app needs afterward. ### What should the requirements for an app include? Six categories: roles (who uses the app), records (what the app stores), workflows (how records move), permissions (who sees and changes what), integrations (what the app connects to), and reports (what comes out). A requirements document that answers all six gives a builder enough to quote and build the app. ### Do I need an RFP for app development? Rarely. An application development RFP makes sense on large systems, roughly $100,000 and up, where procurement rules demand formal comparable bids. Below that line, write a two-page brief. Attach the spreadsheet that runs the process today. Send the brief to two or three builders and ask each for a small paid pilot. That path gets a better decision in a fraction of the time. ### How long should planning an app take? For a single-process business app, days rather than months. One discovery call, one requirements pass through the six categories, and one review of the current spreadsheet complete the plan inside a week. Long planning phases made sense when a build took six months. AI-built software delivers a working version in days. Size the plan to match. ### Are mobile app requirements different from web app requirements? The core list is identical: roles, records, workflows, permissions, integrations, and reports. Mobile adds questions about where people use the app. Most teams need a web app that works well on a phone, with large touch targets and camera access. Specify native app-store distribution or offline mode only when people genuinely work without signal. Each of those features roughly doubles the build. ============================================================================== # Automated Marketing Reports, No New Subscription Source: https://llamapress.ai/automated-marketing-reporting-without-another-subscription ============================================================================== # Automated Marketing Reports, No New Subscription > The monthly client report can eat a day per client. Compare reporting SaaS, spreadsheets with connectors, and a custom reporting app your agency owns. Source: https://llamapress.ai/automated-marketing-reporting-without-another-subscription | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) The monthly client report can eat a day per client. Compare reporting SaaS, spreadsheets with connectors, and a custom reporting app your agency owns. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Automated marketing reports are client reports that build themselves from live campaign data. You connect the data sources once. You pick the metrics and the schedule. The report then arrives every month without copy and paste. Agencies get there in one of three ways. They subscribe to reporting SaaS. They wire connectors into spreadsheets. Or they run a custom reporting app that they own. Each path fits a different agency size, and the wrong pick costs real margin. I am a software engineer, and I build AI coding agents for a living. Agencies come to us with the same complaint. The monthly client report eats a day per client. This guide compares the three ways out. I will be honest about where a subscription is the right answer. I will also show where a custom app beats every subscription on cost and control. ## The Monthly Report Eats a Day Per Client Walk through what one report actually takes. Someone signs in to Google Ads, GA4, Meta Ads Manager, and an SEO tool. They export the numbers into a slide deck or a spreadsheet. They fix the charts that broke since last month. They write commentary for the client. Then they send the PDF and answer the follow-up questions. Call that one day of work. An agency with ten clients then spends ten working days on reports each month. That work lands in the last week of the month, when clients also want calls. Manual assembly carries a second cost. A wrong number in a client report damages trust more than a late report does. Copy and paste produces wrong numbers. ![Marketing performance dashboard with charts on a laptop screen](https://images.unsplash.com/photo-1551288049-bebda4e38f71?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxtYXJrZXRpbmclMjBhbmFseXRpY3MlMjBkYXNoYm9hcmQlMjBsYXB0b3AlMjBjaGFydHN8ZW58MHx8fHwxNzg3ODk1NzI2fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Luke Chesser](https://unsplash.com/@lukechesser?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/graphs-of-performance-analytics-on-a-laptop-screen-JKUTrJ4vK00?utm_source=leonardo_rails_app&utm_medium=referral) ## What Marketing Intelligence Tools Actually Do Marketing intelligence tools collect campaign data from many sources and turn that data into dashboards and reports. Strip the label away and you find four jobs. First, connectors pull data from each platform through an API. An API is a machine-to-machine data feed. Second, the tool stores the numbers in one place and lines up the fields. Spend from Google Ads and spend from Meta land in one column. Third, the tool renders dashboards and scheduled reports. Fourth, some tools add alerts, budget pacing, and anomaly flags. Advertising reporting tools are the paid-media slice of the category. They focus on spend, clicks, conversions, and return on ad spend across ad platforms. Search engine marketing reporting software narrows further. It covers paid search on Google Ads and Microsoft Advertising, down to search terms and budget pacing. Every product in the category does some mix of the same four jobs. Judge each product on the four jobs, and ignore the label on the box. ## Option One: Reporting SaaS Reporting SaaS is the fast path. Tools in this class include AgencyAnalytics, Whatagraph, and Swydo as of this writing. You connect your accounts, pick a template, and schedule the send. A usable client report can exist by the end of the day. Most tools offer white label options on their higher tiers, so the report carries your logo. For a small roster with standard metrics, this class is the right answer. I mean that without reservation. Three ceilings arrive with growth. First, pricing usually scales per client or per data source as of this writing. Twenty clients means twenty units of monthly fee, for as long as you operate. Second, templates set the ceiling on layout and metrics. A custom metric that blends three sources often needs a workaround, or cannot exist at all. Third, your reporting history lives in the vendor's system. Cancel the plan and the dashboards disappear. Some marketing agency software suites bundle reporting with project management, billing, and client chat. The bundle can serve a small shop well. The reporting module is rarely the strongest part of the bundle. Roundups of digital marketing agency tools rank reporting near the top for a reason. Reporting touches every client, every month, in the client's own inbox. ## Option Two: Spreadsheets Plus Connectors The second path wires connectors into spreadsheets or Looker Studio. Looker Studio is Google's free dashboard tool as of this writing. Connector services such as Supermetrics pull platform data into Google Sheets or straight into a dashboard on a schedule. This path is cheap and flexible. You control every formula and every chart. The costs are fragility and dependence on one person. Whoever builds the sheet becomes the only person who can fix the sheet. A renamed campaign or a changed platform field breaks a chart, and the chart breaks silently. Client dashboards multiply as tabs and copies. Version chaos follows. We see this pattern far beyond marketing. A spreadsheet quietly becomes the operating system of a business, then the business outgrows the grid. Our [Excel to app service](https://llamapress.ai/excel-to-app) exists for exactly that moment. ## Option Three: A Custom Reporting App Your Agency Owns The third path is a custom reporting app. The app pulls your sources on a schedule and stores the numbers in a database you own. It renders one live dashboard per client, on your domain, under your logo. A scheduled job sends each client a PDF or a link every month. Custom metrics get equal treatment. If your agency sells qualified calls booked, the dashboard can lead with qualified calls booked. An agency reporting dashboard of this kind used to need a five-figure engineering project. AI coding agents changed those economics. Our agent, Leonardo, builds database-backed software from a plain description of the report you send today. Human engineers stand behind the agent. The result is real code your agency can keep, with no per-client fee attached. One agency owner we build for priced a friend's setup: two reporting subscriptions that together run about $800 a month, as of this writing. Then he compared that bill to the app he already owns. > "Already this. I mean, why would we set up our own?" One boundary matters here. LlamaPress builds the reporting tool. Your agency runs the campaigns, owns the ad accounts, and keeps the client relationship. We never touch campaign settings and we never talk to your clients. The dashboard shows the campaign data. The campaign work stays yours. A reporting dashboard also pairs well with a client portal. Status, files, approvals, and the monthly numbers can sit behind one login. We cover that pattern in [our guide to white label client portals](https://llamapress.ai/the-client-portal-your-agency-can-actually-put-its-name-on). ## What to Automate First Automate in this order. Start with data collection, because collection is the repetitive, error-prone hour. Next, automate the recurring dashboard, so every client question has a live answer. Then automate delivery, meaning the scheduled PDF or link. Keep the commentary human for as long as you can. Clients pay for judgment. Two sharp paragraphs on what changed, and what you will do next, carry the whole report. A report that is all charts and no judgment reads like a bill. ## When Custom Beats a Subscription Choose a subscription when you have a few clients and standard metrics. The template ceiling will not bother you for years. Choose spreadsheets when budgets are tight and one technical person wants to own them. Choose a custom reporting app in three situations. First, many clients. Per-client SaaS fees compound, while a custom app costs the same at 10 clients or 60. Second, custom metrics. Your reporting is part of your pitch, and templates flatten your pitch. Third, white label as the default. Your name sits on your domain without a premium tier. There is a fourth, quieter reason. A custom app becomes an asset your agency owns. The tool keeps working when you change vendors or add channels. Creative shops use AI the same way, to own more of their stack without hiring engineers. We wrote about that in [AI for design agencies](https://llamapress.ai/ai-for-design-agencies-ship-more-without-losing-the-craft). If you want real numbers for your roster, [our services team will scope the build with you](https://llamapress.ai/services) before you commit to anything. ### Own your reporting instead of renting it Describe the report you assemble by hand today. Leonardo builds a reporting app that pulls your sources, renders one dashboard per client, and sends the monthly report itself. You own the code. Your clients stay yours. [Get Your Reporting Built](https://llamapress.ai/services) [Explore LlamaPress](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What are automated marketing reports? Automated marketing reports are client reports that build themselves from live campaign data. Software pulls numbers from platforms like Google Ads, GA4, and Meta through their APIs. The software then renders dashboards and sends reports on a schedule. The three common setups are reporting SaaS, spreadsheets with connectors, and a custom reporting app the agency owns. ### What are the best marketing reporting tools? The best marketing reporting tools depend on roster size and metrics. Reporting SaaS such as AgencyAnalytics, Whatagraph, or Swydo suits a small roster with standard metrics as of this writing. Looker Studio with connectors suits tight budgets and a technical owner. A custom reporting app suits agencies with many clients, custom metrics, or a white label requirement. Judge any tool on its connectors, its pricing model, and your export rights. ### What is search engine marketing reporting software? Search engine marketing reporting software reports on paid search campaigns. It covers Google Ads and Microsoft Advertising. Typical views include spend, clicks, conversions, cost per conversion, search terms, and budget pacing. General advertising reporting tools cover the same ground across more channels, such as Meta, LinkedIn, and TikTok. ### How much does automated client reporting cost? Reporting SaaS usually prices per client or per data source each month as of this writing. The cost grows with your roster. Looker Studio is free as of this writing, and connector services charge a monthly fee. A custom reporting app costs a flat build plus hosting. The custom path usually wins once per-client fees pass the cost of owning the tool. ### Does LlamaPress run marketing campaigns? No. LlamaPress builds custom software and AI tools. For agencies, we build the reporting app or the client dashboard. Your agency runs the campaigns, owns the ad accounts, and keeps the client relationship. The tool carries your brand, and your clients stay yours. ============================================================================== # Best AI for Data Visualization: Beyond Charts Source: https://llamapress.ai/best-ai-for-data-visualization-scaling-beyond-static-charts ============================================================================== # Best AI for Data Visualization: Beyond Charts > Stop fighting with Excel charts. Discover why the best AI for data visualization isn't a chart maker—it's a database-backed application that scales with your business. Source: https://llamapress.ai/best-ai-for-data-visualization-scaling-beyond-static-charts | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Stop fighting with Excel charts. Discover why the best AI for data visualization isn't a chart maker—it's a database-backed application that scales with your business. [Back to all articles](https://llamapress.ai/blog) ## The "Reporting Tax" is Killing Your Growth For most mid-market operators, "data visualization" is a Friday afternoon nightmare. It starts with exporting data from three different spreadsheets, manually cleaning corrupted cells, and fighting with Excel's pivot tables just to see if your project is still on budget. By the time you have the chart, the data is already three days old. You are looking in the rearview mirror when you should be looking at the road. "The best AI for data visualization doesn't just draw the lines. It ensures the data behind those lines is accurate, real-time, and actionable." ![Team collaborating on data visualization](https://images.unsplash.com/photo-1774600122432-dfddc9987ff8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkYXRhJTIwdmlzdWFsaXphdGlvbiUyMGJ1c2luZXNzfGVufDB8fHx8MTc3NjIwNjMyNnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Fiqih Alfarish](https://unsplash.com/@fiqihalfarish?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Why Most AI "Visualizers" Fail at Scale It is tempting to think that ChatGPT or a specialized "data scientist in a box" is the solution. But these tools treat visualization as a post-processing step. ### Static Snapshots A chart generated from a CSV is dead the moment you save it. It doesn't reflect the order that came in five minutes ago or the bid that was just updated. ### No Data Integrity AI can't fix a broken VLOOKUP or a missing row in your spreadsheet. If the underlying data is fragile, your visualization is a beautiful lie. ### Disconnected Workflow Visualizing data in one tool while working in another creates friction. Insights should live where the work happens, not in a separate tab. ## The Leonardo Pivot: Visualization as an Operation At LlamaPress, we believe the best AI for data visualization is the one that builds the application for you. Leonardo doesn't just analyze your spreadsheet; it re-architects it into a secure, database-backed application. ### Real-Time Dashboards Every record added to your database app instantly updates your visual summaries. No exports. No imports. Just live data. ### Enforced Guardrails Database validations ensure that your users can't enter "text" where a "number" should be. Your charts stay clean because your data stays clean. ### Interactive Drill-Downs Go from a high-level bar chart to the specific customer order in one click. Your visualization is a doorway to your data, not a static image. ![Operational data dashboard discussion](https://images.unsplash.com/photo-1758873272739-701756d8c7e5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxkYXRhJTIwdmlzdWFsaXphdGlvbiUyMGJ1c2luZXNzfGVufDB8fHx8MTc3NjIwNjMyNnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Vitaly Gariev](https://unsplash.com/@silverkblack?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Stop Analyzing. Start Operationalizing. Your spreadsheet is already an application in waiting. Let Leonardo build the visualization engine your business deserves. [Build Your Engine](https://llamapress.ai/excel-to-app) ### Related Reading [Strategy #### The Best AI to Analyze Excel Data Isn’t What You Think Learn why analyzing data in isolation is a dead end for scaling businesses.](https://llamapress.ai/the-best-ai-to-analyze-excel-data-isnt-what-you-think-scaling-beyond-spreadsheets-in-2025) [Systems #### Transforming Fragile Lead Forms into Robust Estimating Engines How to transition from simple web forms to full application logic.](https://llamapress.ai/web-to-application-transforming-fragile-lead-forms-into-robust-estimating-engines) ============================================================================== # Best AI for Google Sheets: An App Beats an Add-on Source: https://llamapress.ai/best-ai-for-google-sheets-why-an-app-is-better-than-an-add-on ============================================================================== # Best AI for Google Sheets: An App Beats an Add-on > Looking for the best AI for Google Sheets? Discover why converting your sheet into a database-backed app with LlamaPress AI is better than any extension. Source: https://llamapress.ai/best-ai-for-google-sheets-why-an-app-is-better-than-an-add-on | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Looking for the best AI for Google Sheets? Discover why converting your sheet into a database-backed app with LlamaPress AI is better than any extension. [Back to all articles](https://llamapress.ai/blog) If you are searching for the **best AI for Google Sheets**, you are likely feeling a specific kind of friction. Your workbook has become the operational backbone of your department, but it is starting to creak under the weight of manual data entry, broken VLOOKUPs, and the constant fear that one wrong delete key-stroke will wipe out your history. The standard advice is to install a GPT-powered sidebar. These extensions are impressive at first. They can clean up your formatting, write product descriptions, or help you debug a formula. But after the novelty wears off, you are still left with the same fundamental problem: you are running a multi-million dollar business process inside a document meant for simple list-making. ![Person working on a professional dashboard on multiple devices](https://images.unsplash.com/photo-1773332598501-f8612761781a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxzcHJlYWRzaGVldCUyMG9mZmljZXxlbnwwfHx8fDE3NzYyMDY1MDN8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Microsoft Copilot](https://unsplash.com/@microsoftcopilot?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## The Trap of the "AI Extension" Most "AI for Google Sheets" tools are essentially jet engines bolted onto a bicycle. They make you faster, but the vehicle was never designed for those speeds. When you use an AI add-on, you are still dealing with the structural limitations of a spreadsheet. There is no granular permission control. You cannot easily restrict a user to only seeing certain rows without breaking the filter views for everyone else. There is no audit trail to see who changed a value three weeks ago. Most importantly, there is no data integrity. A spreadsheet accepts any value in any cell, which is exactly how "bad data" starts to poison your reports. "The best AI for your data isn't the one that helps you type faster into a cell. It is the one that builds a secure, structured environment where you never have to worry about broken formulas again." ## From Add-on to Evolution At LlamaPress AI, we see a different path. Instead of trying to make your spreadsheet marginally better with a sidebar, we use our AI agent, **Leonardo**, to graduate your Google Sheet into a full database-backed software application. This is the Evolution approach. You keep the logic and the data you have spent years refining, but you move it into a professional interface designed for scale. ### Real Database Secure PostgreSQL storage built for millions of records. No more 'File too large' errors. ### Role-Based Access Control exactly who can view or edit specific data. No more accidental overwrites. ### Automated Flows Triggered actions like auto-invoicing when a status changes. Systems, not manual work. ![Abstract blue and black lines representing data flow and AI architecture](https://images.unsplash.com/photo-1739054730201-4b6463484e3c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHxhcnRpZmljaWFsJTIwaW50ZWxsaWdlbmNlJTIwYmx1ZXxlbnwwfHx8fDE3NzYyMDY1MDd8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Logan Voss](https://unsplash.com/@loganvoss?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Why Leonardo Beats a Sidebar When you use a standard AI extension, you are the developer. You have to prompt it, verify the output, and figure out how to wire it into your other cells. You are still doing the manual shepherd work that keeps you chained to your desk. Leonardo is different. He is an **AI Coding Agent**. He does not just give you a formula. He understands your business logic and builds the code to support it. He transforms your flat rows of estimating data into a robust bidding engine with built-in versioning and PDF exports. This shift moves you from being a Spreadsheet Operator to a Systems Owner. You stop fixing broken links and start managing your business. ![Software Architecture](https://images.unsplash.com/photo-1664526937033-fe2c11f1be25?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzb2Z0d2FyZSUyMGFyY2hpdGVjdHVyZXxlbnwwfHx8fDE3NzU3NzQ1Mjd8MA&ixlib=rb-4.1.0&q=80&w=1080) ## Stop Transforming Spreadsheets. Start Building Applications. Ready to see what your Google Sheet looks like as a professional application? Let Leonardo build your custom software in days, not months. [Launch with Leonardo](https://llamapress.ai/contact) ## Is Your Spreadsheet Ready for Graduation? We usually find that businesses reach the graduation point when three or more people need to touch the same data daily. If you are experiencing version chaos where everyone has their own saved copy of the master file, you have already outgrown Google Sheets. The best AI for Google Sheets is the one that allows you to finally turn the spreadsheet off. Whether you are managing construction estimates, customer onboarding, or a complex manufacturing queue, there is a better way to work. It is time to move beyond the add-on and build the database-backed engine your growth requires. ============================================================================== # Best Digital Transformation Platforms for Businesses in 2026 Source: https://llamapress.ai/the-best-digital-transformation-platforms-for-businesses-in-2026-compared-honestly ============================================================================== # Best Digital Transformation Platforms for Businesses in 2026 > Twelve digital transformation platforms ranked with verified 2026 prices and seat models, plus a straight verdict on which one fits a 10 to 200 person business. Source: https://llamapress.ai/the-best-digital-transformation-platforms-for-businesses-in-2026-compared-honestly | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Twelve digital transformation platforms ranked with verified 2026 prices and seat models, plus a straight verdict on which one fits a 10 to 200 person business. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 The best digital transformation platform for a business depends on its size and on where its processes live today. For a large enterprise with an IT department, ServiceNow, Salesforce Platform and Appian are the strongest suites. For a company on Microsoft 365 with an admin to run it, Power Apps at $22 per user per month is the best low-code platform. For a small team that only needs a shared task board, monday.com from $9 a seat per month is enough. For a 10 to 200 person business whose processes live in spreadsheets, the best choice is a custom database-backed app built from those spreadsheets. That app has no seat fees, fits the process exactly, and the code belongs to you. LlamaPress builds it, with hosted plans from $9.99 a month and build sprints from $2,000. In short - For most 10 to 200 person businesses, a custom database-backed app built from their own spreadsheets beats every platform on fit, seat cost and ownership. - Microsoft Power Apps Premium is $22 per user per month paid yearly, as of this writing. monday.com Basic is $9 a seat and Airtable Team is $20 a seat per month. - ServiceNow, SAP, Appian, Pega, OutSystems, Kissflow and Nintex publish no dollar price. Every one of them is contact sales. - LlamaPress hosted plans run $9.99 to $54.99 a month with no per-user fees, and done-for-you build sprints start at $2,000. I built Leonardo, the AI coding agent behind LlamaPress, and I have watched it convert hundreds of spreadsheets into working apps. Before that work starts, most customers ask me whether they should buy a platform instead. My answer is below, with the price I could verify on each vendor's own site. If you want the definition first, read [what a digital transformation platform is and whether a mid-market business needs one](https://llamapress.ai/what-is-a-digital-transformation-platform-and-does-a-mid-market-business-need-one). ![A group of people sitting around a table with laptops, the kind of team that has to choose a digital transformation platform for its business](https://images.unsplash.com/photo-1690378820474-b468b8ee64d3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxidXNpbmVzcyUyMHRlYW0lMjBtZWV0aW5nJTIwbGFwdG9wJTIwb2ZmaWNlJTIwcGxhbm5pbmd8ZW58MHx8fHwxNzg4NDgzNzY2fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Lyubomyr Reverchuk](https://unsplash.com/@lreverchuk?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-group-of-people-sitting-around-a-table-with-laptops-rtD_lcsN6_U?utm_source=leonardo_rails_app&utm_medium=referral) ## How we picked and compared these platforms We ranked each platform on five criteria: process fit, seat pricing, implementation effort, ownership of data and code, and running it without an IT team. Process fit asks how much of your real workflow the platform holds without a workaround. Seat pricing asks what the bill looks like at 20, 50 and 200 users. Ownership asks who holds the data and the code if you leave. BCG's 2020 research found that [70% of digital transformations fall short of their objectives](https://www.bcg.com/publications/2020/increasing-odds-of-success-in-digital-transformation). Gartner's 2026 CIO survey reports that [only 48% of digital initiatives meet or exceed business targets](https://www.gartner.com/en/articles/cio-agenda). [McKinsey's 2018 global survey on digital transformations](https://www.mckinsey.com/capabilities/people-and-organizational-performance/our-insights/unlocking-success-in-digital-transformations) found a size effect that matters here. Respondents at organizations with fewer than 100 employees were 2.7 times more likely to report a successful digital transformation than those at organizations above 50,000. Small companies succeed when the tool fits the process. They fail when they buy an enterprise suite and spend a year configuring it. No vendor we checked sells a product called a digital transformation platform. SAP says Business Transformation Management. ServiceNow says AI Platform. Appian and Nintex say process automation platform. Microsoft says Power Platform, and monday.com says work management platform. The search phrase is yours, the product names are theirs, and the list below uses them. ## What are the best digital transformation platforms for businesses in 2026? The best digital transformation platforms for businesses in 2026 fall into three groups plus one alternative. Enterprise suites: ServiceNow, SAP, Salesforce Platform and Appian. Low-code platforms: Microsoft Power Platform, OutSystems, Mendix, Quickbase and Zoho Creator. Work management platforms: monday.com and Airtable. The alternative is a custom app built from your spreadsheet, which is what LlamaPress does. Every price below is the list price on the vendor's own page, as of this writing. **Enterprise suites.** Built for organizations with an IT department and a procurement process. Only Salesforce publishes a price. ### 1. ServiceNow AI Platform Verdict: the enterprise suite for IT, CRM and employee workflows at scale. ServiceNow describes the AI Platform as the unified foundation for every ServiceNow product, executing work across IT, CRM, employee experience and app development. There is no public price, and the only call to action is a demo request. ServiceNow fits a large organization that already runs a service desk and has a team to own the platform. ### 2. SAP Business Transformation Management Verdict: the transformation toolkit for companies that already run SAP. The portfolio combines SAP LeanIX for enterprise architecture, SAP Signavio for process mining, and WalkMe for digital adoption. No price is shown, and the call to action is a demo request. These tools map the process. Something else still has to run it. ### 3. Salesforce Platform Verdict: the right pick when the app must live inside Salesforce. Platform Starter is $25 per user per month billed annually with 10 custom objects. Platform Plus is $100 per user per month billed annually with 110 custom objects. Salesforce Platform fits a company already paying for Salesforce CRM that wants custom apps next to its customer data. Watch the 10 object cap on Starter and the per-user bill on Plus. ### 4. Appian Verdict: the process automation platform for large enterprises and governments. Appian says it automates complex processes in large enterprises and governments. The tiers are Standard, Advanced and Premium, priced per user, per month, per app, and no dollar figure appears on the page. Appian guarantees your first app delivered in [8 weeks or less](https://appian.com/products/pricing). Appian fits regulated, mission-critical case work with a budget to match. Watch the per-app multiplier on the seat price. **Low-code platforms.** Built for a team that assembles apps from parts. Most charge per user, and a few publish no price at all. ### 5. Microsoft Power Platform Verdict: the best low-code choice for a Microsoft 365 company with an IT admin. Power Apps Premium is [$22 per user per month paid yearly](https://www.microsoft.com/en-us/power-platform/products/power-apps/pricing), with unlimited apps for that user and a 250 MB Dataverse database. Power Automate Premium adds $15 per user per month. Power Platform fits a company where someone already administers Microsoft 365 licenses. Every user who opens the app needs a license, so watch the seat count. If nobody on staff is an admin, read [the Power Apps alternative for businesses without an IT department](https://llamapress.ai/the-power-apps-alternative-for-businesses-without-an-it-department). ### 6. OutSystems Verdict: a developer platform for teams that ship many apps. OutSystems Developer Cloud is priced per application, user and add-on. The entry point starts with 100 internal users and one medium-sized production application. No dollar price is published, and the button says get an estimate. A free Personal Edition allows up to 100 internal users for test applications only. OutSystems fits a company with developers on staff and several apps on the roadmap. ### 7. Mendix Verdict: platform-priced low-code for department apps, with developers on staff. Mendix Free starts at $0 a month. Mendix Standard, for department-wide business applications, starts at [$1,090 a month](https://www.mendix.com/pricing/), and Premium is a quote. The price is per platform rather than per user. Hosting is the catch: Mendix Cloud is included in Free and an additional cost on Standard and Premium. Mendix fits a company with developers who want one platform for several internal apps. ### 8. Quickbase Verdict: operations tracking for teams that outgrew shared spreadsheets, at a per-user price. Team starts at [$35 per user per month](https://www.quickbase.com/plans-and-pricing) priced annually, and Business starts at $55. Both carry a footnote that the cost shown does not include the platform minimum, and Quickbase does not publish that minimum. Quickbase fits an operations team that wants dashboards and audit logs without code. Watch the unpublished minimum. ### 9. Zoho Creator Verdict: the cheapest per-user low-code platform, and strongest inside the Zoho suite. Standard is US$8 per user per month billed annually and covers one app. Professional is US$20 per user per month for unlimited apps, and Enterprise is US$25. A 15-day trial needs no credit card. Zoho Creator fits a small team already on Zoho that wants a simple internal app. Watch the one-app limit on Standard and the taxes charged on top. **Work management platforms.** Built around boards, lists and views. Quick to start, and priced per seat. ### 10. monday.com Verdict: the right pick for shared task boards. Basic is $9 a seat per month, Standard $12 and Pro $19, all billed annually, and a free plan covers up to 2 seats. Standard includes 250 automation actions a month, and Pro raises that to 25,000. monday.com fits a team that needs to see who is doing what by Friday. Watch the automation caps and the seat count. When your operations still run from spreadsheets, read [the monday.com alternative when your work OS is still run from spreadsheets](https://llamapress.ai/the-monday-com-alternative-when-your-work-os-is-still-run-from-spreadsheets). ### 11. Airtable Verdict: a prettier spreadsheet with a database underneath, priced per seat. Team is $20 per seat per month billed annually, or $24 monthly. Business is $45 per seat per month billed annually, or $54 monthly, and a free plan exists. Portals for outside guests start at $120 a month for 15 guests, so watch that line when customers need access. Airtable fits content calendars and lightweight tracking with a handful of editors. For teams that need real software, read [the Airtable alternative for teams that need real software](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet). **The alternative.** A custom app built from the spreadsheet you already run on, which is a different category from everything above. ### 12. LlamaPress Verdict: the best route for a 10 to 200 person business that runs on spreadsheets and wants software that fits. LlamaPress is a build service plus hosting rather than a platform you configure. You upload the spreadsheet at [the Excel to app page](https://llamapress.ai/excel-to-app). Leonardo, our AI coding agent, reads the tabs and formulas and writes a Ruby on Rails app on PostgreSQL. A human engineer reviews every build, and the code lives in your own GitHub repository. Hosted plans are $9.99, $21.99 and $54.99 a month with no per-user fees. Build sprints start at $2,000, and an ongoing build partnership starts at $1,500 a month. We have converted 400+ spreadsheets this way. LlamaPress is not an IT service desk, a process mining tool, or a set of prebuilt compliance modules. Also considered: Pega, Kissflow, Nintex, Bizagi and Celonis. Pega describes its platform as a way to orchestrate agents, people and systems, built on 40 years of enterprise trust. Kissflow, Nintex and Celonis publish no price. Bizagi prices by consumption with unlimited users and apps and publishes no dollar figure. All five belong on an enterprise shortlist, and none belongs on a 40-person company's. | Platform | Type | Published price (as of this writing) | Per user? | Best for | | --- | --- | --- | --- | --- | | ServiceNow AI Platform | Enterprise suite | Contact sales (demo request only) | Not published | IT, CRM and employee workflows in large organizations | | SAP Business Transformation Management | Enterprise suite (LeanIX, Signavio, WalkMe) | Contact sales (demo request only) | Not published | Process mining and architecture in SAP shops | | Salesforce Platform | Enterprise suite | Platform Starter $25 and Platform Plus $100 per user per month, billed annually | Yes | Custom apps inside an existing Salesforce org | | Appian | Enterprise process automation | Contact sales; priced per user, per month, per app | Yes (no figure) | Complex process automation in large enterprises and government | | Microsoft Power Apps | Low-code | Premium $22 per user per month paid yearly; Developer Plan free | Yes | Microsoft 365 companies with an IT admin | | OutSystems | Low-code | Contact sales for Developer Cloud; Personal Edition free, test apps only | Per application, user and add-on | Developer teams shipping several apps | | Mendix | Low-code | Free from $0; Standard from $1,090 a month; Premium by quote; hosting extra on paid plans | No, per platform | Department apps with developers on staff | | Quickbase | Low-code | Team from $35 and Business from $55 per user per month, priced annually, plus an unpublished platform minimum | Yes | Operations tracking with dashboards and audit logs | | Zoho Creator | Low-code | US$8, US$20 and US$25 per user per month, billed annually | Yes | Small teams already on Zoho | | monday.com | Work management | Basic $9, Standard $12 and Pro $19 per seat per month, billed annually; free up to 2 seats | Yes | Shared task boards for small teams | | Airtable | Work management | Team $20 and Business $45 per seat per month, billed annually; free plan | Yes | Lightweight tracking and content lists | | LlamaPress | Custom app built from your spreadsheet (AI agent plus engineer) | Hosted plans $9.99, $21.99 and $54.99 a month; build sprints from $2,000 | No per-user fees | 10 to 200 person businesses that run on spreadsheets | Table sources, checked in September 2026: [Salesforce Platform pricing](https://www.salesforce.com/platform/enterprise-app-development/pricing/), [OutSystems pricing and editions](https://www.outsystems.com/pricing-and-editions), [Zoho Creator pricing](https://www.zoho.com/creator/pricing.html), [monday.com pricing](https://monday.com/pricing) and [Airtable pricing](https://airtable.com/pricing). The Microsoft, Mendix, Quickbase and Appian pages are linked above. LlamaPress prices are from our [pricing page](https://llamapress.ai/pricing) and [services page](https://llamapress.ai/services). ## Which digital transformation platform is best for a small or mid-market business? For a small or mid-market business the best platform depends on four situations, and each has a clear winner. First, a team under 20 people that needs a shared task list and nothing more. Pick monday.com at $9 a seat per month or Airtable at $20 a seat per month. Second, a company on Microsoft 365 with an IT admin and a standard process. Power Apps at $22 per user per month is the right tool, provided somebody on staff owns the environments. Third, a company that already pays for Salesforce or SAP. Build inside the suite you own. Fourth, a 10 to 200 person company whose operations run from spreadsheets with real logic in them: pricing, scheduling, job costing, compliance. A custom database-backed app built from those spreadsheets fits better than any platform. Nobody pays a seat fee for the estimator, the foreman and the bookkeeper, and the code stays yours. LlamaPress is built for this fourth situation. The price question is answered in [how much it costs to replace a spreadsheet with a custom web app](https://llamapress.ai/how-much-does-it-cost-to-replace-a-spreadsheet-with-a-custom-web-app). ## When is an enterprise platform the right choice? An enterprise platform is right in four cases: an IT service desk, 500 or more seats, a vendor mandate, or a required audit module. If you run an IT service desk with incident, change and asset workflows, ServiceNow leads that category and a custom app is the wrong tool. At 500 or more seats a suite's fixed cost stops mattering. When a parent company or a major customer mandates SAP or Salesforce, the decision is made. When a regulator expects a named audit module, buy the module. Quickbase lists FDA and HIPAA compliance on its Business plan. The opposite concession is just as honest. A small team that needs a shared task list should buy a work management platform and be done in an afternoon. monday.com's free plan covers 2 seats, and Basic covers a small team for $9 a seat. We do not build task boards, and we would say so on the first call. We also do not do process mining, IT service management, or enterprise architecture maps. ![A turned-on laptop showing code, the custom app route where a spreadsheet becomes software the business owns](https://images.unsplash.com/photo-1577375729152-4c8b5fcda381?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzb2Z0d2FyZSUyMGRldmVsb3BlciUyMHdyaXRpbmclMjBjb2RlJTIwb24lMjBsYXB0b3B8ZW58MHx8fHwxNzg4NDgzNzY5fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Pakata Goh](https://unsplash.com/@pakata?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/turned-on-laptop-computer-RDolnHtjVCY?utm_source=leonardo_rails_app&utm_medium=referral) ## Why a custom app built from your spreadsheet beats a platform for most mid-market teams A custom app built from your spreadsheet beats a platform for most mid-market teams because the spreadsheet already is the specification. Every platform above asks you to translate your process into its objects, boards or flows. Your spreadsheet already holds the process in tabs, formulas and dropdowns. A database-backed app built from that spreadsheet keeps the same fields and the same rules. Per-user prices grow with every hire, and a custom app on a hosted plan does not. When the process changes, the app is yours to change, which is the argument in [custom software development when off-the-shelf stops fitting](https://llamapress.ai/custom-software-development-when-off-the-shelf-stops-fitting). LlamaPress is the way to get that app without hiring a development team. You upload the spreadsheet at [the Excel to app converter](https://llamapress.ai/excel-to-app). Leonardo reads it and writes a standard Ruby on Rails app on a PostgreSQL database. A human engineer reviews every build and pushes the code to your own GitHub repository. RSB, a steel contractor, priced every job from one estimating spreadsheet. We rebuilt that spreadsheet's logic as a custom app in 6 weeks from kickoff to deployment. Estimates now go out 62% faster, and each estimate costs 40% less to produce. The full account is in [how we rebuilt a contractor's Excel logic as an app](https://llamapress.ai/we-rebuilt-a-contractors-excel-logic-as-an-app). Hosted plans start at $9.99 a month with no per-user fees, and build sprints start at $2,000, as of this writing. From Spreadsheet to Software ### Skip the platform. Build from the spreadsheet you already run on. Upload the spreadsheet that runs your business. Leonardo builds a first working app from its tabs and formulas, and an engineer reviews it with you. No seat fees, and the code is yours. [Start From Your Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to an Engineer](https://llamapress.ai/contact) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will compare the platforms against your spreadsheet with you. ## Frequently Asked Questions ### What is the best digital transformation platform? There is no single best digital transformation platform, because the vendors serve different sizes of company. ServiceNow, Salesforce Platform and Appian lead for large enterprises. Microsoft Power Apps leads low-code for Microsoft 365 companies with an IT admin. For a 10 to 200 person business that runs on spreadsheets, a custom database-backed app built from those spreadsheets fits better than any platform. LlamaPress builds that app. ### What is the best digital transformation platform for a small business? For a small business the best choice depends on what the spreadsheets do. A team that only needs a shared task board can use monday.com from $9 a seat per month or Airtable from $20 a seat. Both prices are as of this writing. A business whose spreadsheets hold pricing, scheduling or job logic is better served by a custom app built from those spreadsheets. LlamaPress does that with hosted plans from $9.99 a month and no per-user fees. ### How much do digital transformation platforms cost? Published per-user prices run from $8 a month for Zoho Creator Standard to $100 a month for Salesforce Platform Plus, as of this writing. Both are billed annually. Microsoft Power Apps Premium is $22 per user per month, Quickbase Team starts at $35, and Mendix Standard starts at $1,090 a month. ServiceNow, SAP, Appian, Pega, OutSystems, Kissflow and Nintex publish no price and sell through contact with sales. LlamaPress hosted plans are $9.99 to $54.99 a month with no per-user fees, and build sprints start at $2,000. ### Is Microsoft Power Platform a digital transformation platform? Yes in practice, although Microsoft does not use that name. Power Platform bundles Power Apps, Power Automate and Copilot Studio, and Microsoft describes Power Apps as a way to modernize legacy applications and systems. Power Apps Premium is $22 per user per month paid yearly as of this writing. Power Platform fits a company on Microsoft 365 with an admin to manage environments and licenses, and the per-user price grows with every seat. ### Do you need a digital transformation platform or custom software? Most 10 to 200 person businesses need custom software built from the spreadsheets they already run on. A platform is priced per user and shaped around the vendor's model of work. A platform wins when you have 500 or more seats, an IT department to run it, or a vendor mandate. Custom software wins when the process is specific to your business and the team is small. LlamaPress builds that custom app with an AI agent and a human engineer. ### How long does a digital transformation take? Vendors and analysts publish no reliable single number for how long a digital transformation takes. A platform rollout runs longer than a single app build. Appian, for example, offers a guarantee of a first app in 8 weeks or less. LlamaPress rebuilt a steel contractor's estimating spreadsheet as a custom app in 6 weeks from kickoff to deployment, and estimates now go out 62% faster. ============================================================================== # Best Excel to Web App Converters in 2026, Compared Source: https://llamapress.ai/the-best-excel-to-web-app-converters-in-2026-compared-honestly ============================================================================== # Best Excel to Web App Converters in 2026, Compared > Ten Excel to web app converters ranked by the job you need done, with real September 2026 prices, row caps, seat fees, and the cases where a rival beats us. Source: https://llamapress.ai/the-best-excel-to-web-app-converters-in-2026-compared-honestly | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Ten Excel to web app converters ranked by the job you need done, with real September 2026 prices, row caps, seat fees, and the cases where a rival beats us. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 There is no single best Excel to web app converter, because the right tool depends on the job. For a one-person list app on a phone, Google AppSheet at $5 per user per month or Glide from $25 per month wins on speed. For a client portal on top of Airtable, Softr is the standard pick, and Power Apps fits a Microsoft 365 company with IT time. For a process with rules, 5 to 50 users, and no IT department, LlamaPress builds a database app from the workbook that you own. Every tool that keeps the sheet as its database hits a row cap, so check that number before you pick. In short - Spreadsheet-front-end builders (Glide, AppSheet, Softr) start fastest and keep your sheet as the database, with caps as low as 2,500 to 25,000 rows. - Database-first builders (Airtable, Power Apps, Knack, Budibase, Retool) give you a real database, and you rebuild the workbook inside their editor by hand. - AI code generation (LlamaPress and its agent Leonardo) reads the workbook as the spec and writes a Rails app on PostgreSQL that you own. - Entry paid prices as of September 2026 run from $5 per user per month (AppSheet) to $22 (Power Apps Premium). - SpreadsheetWeb is the only tool here that runs your Excel formulas unchanged, and it is the right pick for a public calculator. I built Leonardo, the AI coding agent behind LlamaPress. More than 400 workbooks have come through [our Excel to app converter](https://llamapress.ai/excel-to-app) and become working apps. I sell one tool in this list, so I will name the cases where a competitor beats us. ## What is the best tool to turn an Excel spreadsheet into a web app? The best tool is the one that matches your data size, your user count, and how much logic lives in your formulas. Converters come in three kinds. Spreadsheet-front-end builders keep the sheet as the database and put screens on top. Glide, Google AppSheet, Softr, Noloco, and Sheet2Site work this way. The sheet stays the source of truth, which is both the strength and the limit. Database-first low-code builders give you a real database and a screen builder. Airtable, Power Apps, Budibase, Retool, Knack, Caspio, and Zoho Creator sit here. You import the rows once, then rebuild the tabs and formulas inside their editor. AI code generation is the newest kind. LlamaPress reads the workbook itself and writes a normal web app from it. Lovable, Bolt, and Claude Code also generate code, and they start from a text prompt rather than a workbook. ## How we judged I scored every tool on the same seven questions. - **Input.** Excel file, Google Sheet, Airtable base, or a blank canvas? - **Keeps formulas.** Do your formulas keep working, or do you rebuild the logic? - **Real database.** Records with IDs and row-level writes, or still the sheet? - **Permissions.** Which plan gives you user roles? - **Mobile.** Does the app work on a phone, offline included? - **Ownership.** Can you export or self-host the code? - **Price model.** Per seat, per month, per credit, or a one-time build? ![Hands typing on a laptop that shows a data spreadsheet, the kind of workbook these converters start from](https://images.unsplash.com/photo-1783115259399-3a5a3e0e4592?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxzcHJlYWRzaGVldCUyMG9uJTIwbGFwdG9wJTIwb2ZmaWNlJTIwZGVza3xlbnwwfHx8fDE3ODgzNjE4NjB8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Gorilla ROI Data Connector](https://unsplash.com/@gorillaroi?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/hands-typing-on-a-laptop-displaying-a-data-spreadsheet-9fZuqBYlV1w?utm_source=leonardo_rails_app&utm_medium=referral) ## What are the best Excel-to-app converters? Nine tools cover the market in 2026. ### Glide Glide's current product is GlideOS, built for internal apps from a spreadsheet, a prompt, or a file. Plans run Free, Basic at $25 per month, Plus at $50, and Pro at $125, metered in credits. The limit is data. Glide's documentation states that spreadsheet data sources have a total cap of 25,000 rows across all tables. Our [Glide alternative page](https://llamapress.ai/the-glide-alternative-when-your-app-needs-a-real-database-not-a-spreadsheet) covers the switch. ### Google AppSheet AppSheet is the cheapest paid entry here at $5 per user per month on Starter, $10 on Core, and $20 on Enterprise Plus. Excel connectors come on every plan, and every plan works offline. The built-in database holds 2,500 rows per database on Starter and Core, and there is no code export. For a solo field checklist in a Google Workspace shop, AppSheet is hard to beat. Past that, read our [AppSheet alternative page](https://llamapress.ai/the-appsheet-alternative-when-your-spreadsheet-deserves-real-custom-software). ### Softr Softr builds portals on top of Airtable, Google Sheets, and its own Softr Databases. Paid plans start at $19 per month on Basic, then $99 on Pro and $329 on Business. Custom role-based permissions arrive on Pro, per Softr's pricing page. Softr is hosted only, with no code export. If your data already lives in Airtable and you need a client login page this month, Softr is the right pick. ### Airtable Interfaces Airtable is its own database with Interface Designer on top. Team costs $20 per user per month billed annually, and Business costs $45. Airtable charges for every user with edit permission, and read-only collaborators are free. Airtable's plan documentation lists 50,000 records per base on Team and 125,000 on Business. There is no code export. Our [Airtable alternative page](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet) explains where the seat pricing bites. ### Microsoft Power Apps Power Apps Premium costs $22 per user per month paid yearly, and the Developer Plan is free. Microsoft's documentation states that Excel data must be formatted as a table, and a workbook with a calculated column cannot be used. Microsoft also warns against writing to one Excel file from multiple clients at once. So the real path is Dataverse, which means rebuilding the workbook there. Power Apps fits a Microsoft 365 company with an IT admin who has the hours. Without that admin, read our [Power Apps alternative page](https://llamapress.ai/the-power-apps-alternative-for-businesses-without-an-it-department). ### Budibase Budibase is open source, and the self-hosted version is free. Cloud plans run $19 per month on Pro, $49 on Premium, and $299 on Business, plus $5 per end user per month on yearly billing. Budibase reads Google Sheets, and its documentation says the integration supports only simple table structures with a clear header row. If you have an engineer who wants to host the app, Budibase is a strong choice. ### Retool Retool is a screen builder for engineers, with a Free plan for up to 5 users. Team costs $10 per builder and $5 per internal user per month on annual billing. All plan tiers support self-hosting, and role-based access arrives at Business. Retool expects a real database behind the app and someone who writes JavaScript and SQL. For a company with developers who need an admin panel fast, Retool is the right tool. For a business owner without a developer, Retool is a poor fit. ### SpreadsheetWeb SpreadsheetWeb, from Pagos, takes the Excel workbook as the input and runs it as-is. Its Hub plans support 501 Excel functions and unlimited anonymous users on every tier. Basic costs $30 per month billed annually. The limits sit on the workbook size: 0.5 MB on Free and Basic, 1 MB on Pro. For a public pricing calculator that must run your exact formulas, SpreadsheetWeb wins. For a multi-user process with records and history, SpreadsheetWeb is the wrong shape. ### LlamaPress (Leonardo) LlamaPress takes a different route. You [upload the .xlsx, .xls, .xlsm, or .csv](https://llamapress.ai/excel-to-app), free, with no credit card. Leonardo, our AI coding agent, reads the tabs, columns, formulas, and validation rules as the spec and writes a Ruby on Rails app on PostgreSQL. The code lives in your own GitHub repository, and a human engineer reviews every build. Hosted plans start at $9.99 per month, with no seat fees. We have converted 400+ spreadsheets this way. One steel contractor's estimating workbook became a custom app in 6 weeks. Estimates ran 62% faster at 40% lower cost per estimate. Done-for-you build sprints start at $2,000. ## Side by side: prices and limits All prices are USD list prices as of this writing. | Tool | Starts from | Entry paid price | Pricing model | Keeps formulas | Real database | Roles tier | Own the code | Best for | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Glide | Excel, Sheets, or a prompt | $25/mo Basic | Per month plus credits | Rebuild in the tool | Sheet (25,000-row cap) or Big Tables | Pro (org-level) | View only, Enterprise | One-person phone app | | AppSheet | Excel or Sheets | $5/user/mo Starter | Per user | Rebuild as expressions | Sheet or built-in DB (2,500 rows) | Core | No | Solo field checklist | | Softr | Airtable, Sheets, Softr DB | $19/mo Basic | Per month plus extra users | Rebuild in the tool | Airtable or Softr DB (50,000 records Basic) | Pro | No | Client portal on Airtable | | Airtable | Excel or CSV import | $20/user/mo Team (annual) | Per editor seat | Rebuild as formula fields | Airtable base (50,000 records Team) | Editor and read-only seats | No | Flexible team database | | Power Apps | Excel table or Dataverse | $22/user/mo Premium (yearly) | Per user, or $10 per active user per app | Calculated columns block the import | Dataverse (250 MB included) | Premium | No | Microsoft 365 shop with IT | | Budibase | Sheets, SQL, or built-in DB | $19/mo Pro plus $5/user | Per month plus users, or free self-host | Rebuild in the tool | Built-in (50,000 rows Pro) or your SQL | All tiers (groups on Business) | Yes, open source | Engineers who self-host | | Retool | Your database (Sheets optional) | $10 builder plus $5 user/mo Team | Per builder plus per user | You write the code | Yours | Business | Self-host on all tiers | Developer-built admin panels | | Knack | Excel, CSV, or Sheets import | $49/mo Starter (annual) | Per month, unlimited users | Rebuild as equations | Knack DB (20,000 records Starter) | All plans | No (CSV and JSON export) | Big team, small data | | SpreadsheetWeb | The Excel workbook | $30/mo Basic (annual) | Per month plus named users | Yes, 501 functions | The workbook (0.5 MB on Basic) | Named users only | No | Public calculators | | LlamaPress | The Excel workbook | $9.99/mo Starter | Per month, no seat fees; builds from $2,000 | Rewritten as reviewed app code | PostgreSQL, yours | Built in | Yes, Rails code in your GitHub | Rule-heavy process, 5 to 50 users | Sources, checked September 2026: the pricing pages for [Glide](https://www.glideapps.com/pricing), [AppSheet](https://about.appsheet.com/pricing/), [Softr](https://www.softr.io/pricing), [Airtable](https://airtable.com/pricing), [Power Apps](https://www.microsoft.com/en-us/power-platform/products/power-apps/pricing), [Budibase](https://budibase.com/pricing/), [Retool](https://retool.com/pricing), [Knack](https://www.knack.com/pricing/), and [SpreadsheetWeb](https://spreadsheetweb.com/hub-pricing/). LlamaPress prices are on our [pricing page](https://llamapress.ai/pricing). Bubble and Zoho Creator render prices with JavaScript, so I left them out. ## Why the spreadsheet-as-database tools hit a wall The wall is the sheet itself. A spreadsheet has one grid per tab, no record IDs, and no locking per row. Glide's documentation caps spreadsheet sources at 25,000 rows across all tables. Each tool also meters activity, such as Glide credits or Softr's 2,500 workflow actions per month on Basic. Two users editing one grid still collide, because the sheet has no idea which row belongs to whom. A spreadsheet-front-end tool makes a great first app and a hard place to run a process with approvals, history, and 20 people. ## Why database-first builders cost time A database-first builder gives you a real database on day one and then hands you a blank canvas. You import the rows, then rebuild every lookup, dropdown, status color, and formula inside the editor, by hand. That rebuild is where the weeks go. A 12-tab estimating workbook can hold a few hundred formulas, and each one needs rebuilding and testing. Most of these tools also charge per seat: $20 per user on Airtable Team, $22 on Power Apps Premium, $5 per end user on Budibase. Knack is the exception, with unlimited users from $49 per month billed annually and a 20,000-record cap on Starter. ## What AI tool can convert an Excel spreadsheet into an app? LlamaPress is the AI tool built for this exact job, because Leonardo starts from the workbook and treats it as the specification. Lovable, Bolt, and Claude Code start from a text prompt, and the description is where the detail gets lost. Leonardo reads the file directly. Tabs become tables. Formulas become app logic, and a human engineer checks that logic before the app ships. The output is a Rails app on PostgreSQL in your GitHub, which any Rails developer can maintain. Our page on [what the AI reads and what it asks](https://llamapress.ai/can-ai-build-a-web-app-from-your-excel-workbook-what-it-reads-and-what-it-asks) walks through a real upload. ![Two people at a table comparing options on their laptops, the way a team shortlists app converters](https://images.unsplash.com/photo-1579389083046-e3df9c2b3325?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx0ZWFtJTIwY29tcGFyaW5nJTIwc29mdHdhcmUlMjBvbiUyMGxhcHRvcHxlbnwwfHx8fDE3ODgzNjE4NjN8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Priscilla Du Preez](https://unsplash.com/@priscilladupreez?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/two-people-sitting-at-a-table-with-laptops-nNMBa7Y1Ymk?utm_source=leonardo_rails_app&utm_medium=referral) ## Which converter is best for your job? These are the verdicts I give when someone asks me directly. - **One-person list app on a phone:** AppSheet or Glide. - **Client-facing portal on Airtable:** Softr. - **Microsoft 365 shop with IT time:** Power Apps. - **Engineers on staff:** Retool or Budibase. - **Public calculator that must run exact Excel formulas:** SpreadsheetWeb. - **Business process with rules, 5 to 50 users, no IT, and you want to own it:** LlamaPress. If your shortlist is the three no-code tools, our [Glide vs Softr vs Airtable vs a custom build](https://llamapress.ai/glide-vs-softr-vs-airtable-vs-a-custom-build-for-an-internal-tool-from-excel) comparison goes deeper. ## When a competitor is the right pick Do not pay us for a checklist. A crew lead who needs a job list on a phone, with under 2,500 rows, should use AppSheet at $5 per user. A firm that needs a public quote calculator with its exact Excel formulas should use SpreadsheetWeb. A company with developers should try Retool first. LlamaPress earns its price when the workbook is a process. A process has several tabs, formulas that encode rules, people who each own a step, and errors that cost money. ## How Leonardo builds from your workbook Your workbook already contains the discovery that makes custom builds expensive. The column headers are your data model. The tabs are your tables. The formulas are your business rules. Leonardo reads all of that on upload and asks about the parts a file cannot show, such as who approves what. From there Leonardo writes a standard Rails app on PostgreSQL. Rows become records with history. Users get logins and roles. A human engineer reviews the build before you see it, and the code sits in your GitHub from day one. The upload at [/excel-to-app](https://llamapress.ai/excel-to-app) is free. For the full walkthrough, read [how to convert your Excel spreadsheet to a web application without rebuilding from scratch](https://llamapress.ai/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch). From Spreadsheet to Software ### Skip the rebuild. Upload the workbook. Leonardo reads your tabs, columns, and formulas and turns them into a database app you own. Free to try, no credit card, no seat fees. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [See Pricing](https://llamapress.ai/pricing) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your workbook with you. ## Frequently Asked Questions ### What is the best tool to turn an Excel spreadsheet into a web app? The best tool depends on the job. AppSheet or Glide is best for a one-person list app on a phone. Softr is best for a client portal on Airtable, and Power Apps is best for a Microsoft 365 company with IT time. LlamaPress is best for a rule-heavy process with 5 to 50 users and no IT department, because you own the code. ### What are the best Excel-to-app converters? The converters worth a look in 2026 are Glide, Google AppSheet, Softr, Airtable, Microsoft Power Apps, Budibase, Retool, Knack, SpreadsheetWeb, and LlamaPress. The first three keep the sheet as the database. The next five make you rebuild the workbook. SpreadsheetWeb runs the Excel formulas as-is, and LlamaPress writes a Rails app from the workbook. ### What AI tool can convert an Excel spreadsheet into an app? LlamaPress is the AI tool built to convert an Excel spreadsheet into an app. Its coding agent, Leonardo, reads the workbook as the specification and writes a Ruby on Rails app on PostgreSQL that you own. Lovable, Bolt, and Claude Code also generate apps, and they start from a text prompt rather than the workbook. ### What are the best no-code tools to turn a spreadsheet into an app? The best no-code tools for turning a spreadsheet into an app are Glide, Google AppSheet, and Softr. Glide starts at $25 per month, AppSheet at $5 per user per month, and Softr at $19 per month. Each one has a data cap, such as Glide's 25,000 rows across spreadsheet sources, so check the cap against your workbook first. ### Is there a free Excel to web app converter? Yes, several converters have a free tier. Glide has a Free plan, and AppSheet lets you test an app with up to 10 users at no cost. LlamaPress lets you upload an Excel file and see the app free, with no credit card. ### Can I convert an Excel file to an app without coding? Yes, you can convert an Excel file to an app without coding. Glide, AppSheet, Softr, and Knack are drag-and-drop builders, and you rebuild the formulas inside their editor. LlamaPress also needs no coding from you. Leonardo writes the code from the workbook, and a human engineer reviews the code before the app ships. ============================================================================== # Builder.ai Pricing and What to Use Instead Source: https://llamapress.ai/builder-ai-pricing-what-it-cost-what-happened-and-what-to-use-instead ============================================================================== # Builder.ai Pricing and What to Use Instead > Builder.ai entered insolvency in May 2025. You cannot buy from it today. What builds cost, what stranded customers should check, and what to use instead. Source: https://llamapress.ai/builder-ai-pricing-what-it-cost-what-happened-and-what-to-use-instead | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Builder.ai entered insolvency in May 2025. You cannot buy from it today. What builds cost, what stranded customers should check, and what to use instead. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall, AI and software engineer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer. Builds and ships AI coding agents every day as the founder of LlamaPress. Builder.ai priced each app build per feature through its Studio products. Each feature you picked from the catalog added a set amount to the quote. A simple app ran a few thousand dollars. A complex app reached six figures. But Builder.ai entered insolvency proceedings, a legal wind-down, on May 20, 2025. As of this writing, you cannot buy an app from Builder.ai. I build AI coding agents (software that writes code) for a living. I followed the Builder.ai collapse closely. This page covers three things. First, how Builder.ai pricing worked while the company operated. Second, what happened to the company and its customers, from the public record. Third, how to vet any AI development company now. ![Construction crane over an unfinished building, like the half-built apps Builder.ai customers were left with](https://images.unsplash.com/photo-1764258777856-723351e71a17?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxjb25zdHJ1Y3Rpb24lMjBzaXRlJTIwYWJhbmRvbmVkJTIwdW5maW5pc2hlZCUyMGJ1aWxkaW5nJTIwcHJvamVjdHxlbnwwfHx8fDE3ODc4NzgxMTF8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Juan Pablo](https://unsplash.com/@who0ne?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/construction-crane-on-unfinished-building-under-blue-sky-yjBpfw9-r_o?utm_source=leonardo_rails_app&utm_medium=referral) ## How Builder.ai Pricing Worked Builder.ai sold app builds the way a deli sells sandwiches. You picked the parts and you saw a price. Its Studio products let you describe the app you wanted. Then you chose features from a catalog: a login screen, a payment flow, a chat function, a booking calendar. Each feature added a fixed amount. The quote showed a total price and a delivery timeline before you committed. The company also sold plans for hosting, maintenance, and updates on top of the build price. I will not quote exact plan prices here. The company is gone. Its price list also changed over the years. Simple apps with short feature lists were quoted in the low thousands of dollars. Complex builds with long feature lists climbed into five and six figures. The pitch was that AI assembled your app from prebuilt blocks. That promise was supposed to make the price lower and more predictable than an agency quote. The per-feature model had real appeal. I want to be fair about why. Traditional agency quotes are opaque. A fixed menu with a visible price per feature felt like progress. For many buyers, a Builder.ai quote was the first app quote they ever understood. The menu was never the problem. The problem sat behind the menu. ## What Happened to Builder.ai The company collapsed in the spring of 2025. The sequence below comes from public reporting. In February 2025, founder Sachin Dev Duggal stepped down as CEO. In May 2025, the lender Viola Credit seized about 37 million dollars from the company's accounts. That seizure triggered the crisis. On May 20, 2025, Builder.ai entered insolvency proceedings. Bankruptcy proceedings followed in the UK, the US, and India. Reporting at the time put unpaid cloud bills at roughly 85 million dollars to Amazon and about 30 million dollars to Microsoft. Years of allegations sat behind the collapse. The allegations said the company exaggerated its AI capabilities and misreported its financials. Investigations reported that roughly 700 human engineers did much of the work marketed as AI-built. Most of those engineers worked in India. Per that reporting, the AI did far less of the building than customers were told. The customers paid the real price. Hundreds of them had paid deposits and held half-built apps when the company went under. No vendor remained to finish the work or hand over what was done. I take no pleasure in that outcome. A collapse like Builder.ai's makes every honest builder's job harder. The next buyer walks in the door rightly suspicious. ## If You Were a Builder.ai Customer, Check These Three Things If you had a project in flight when Builder.ai entered insolvency proceedings, the practical questions matter more than the story. Check three things, in this order. ### 1. Do you have the code? Look for repository access the vendor granted you. Look for a code delivery named in your contract. Look for files your team downloaded during the project. If the source code exists anywhere you control, a new developer or an AI coding agent can usually continue the build. If the code only lived on the Builder.ai platform, assume you start over. Treat anything you recover as a bonus. ### 2. Was there an escrow or IP clause? Read your contract for two clauses: source code escrow and intellectual property (IP) assignment. Escrow means a neutral third party holds your code. An IP clause that assigns the code to you on payment strengthens your claim in the insolvency proceedings. If a third-party escrow agent held code for your project, contact the agent directly. Insolvency practitioners handle claims in a queue. File early, and file with your documents. ### 3. Can you get your data out? If your app was live and collected real records, the data may matter more than the code. Export everything you can reach: user lists, orders, uploaded files, database backups. Code can be rebuilt from a good description of the process. Two years of customer records cannot. ## The Checklist for Evaluating Any AI Dev Company After Builder.ai The collapse was painful. Still, the collapse produced one useful thing. There is now a short list of questions that would have flagged the risk early. Put these questions to any vendor, including us. - **Can I watch the AI actually work?** A real AI coding agent can build in front of you, live. Some vendors only show results days later. In that case you have no way to know who or what did the building. - **Does the code land in an account I control?** Builder.ai customers lacked exactly this protection. Make every commit land in your own GitHub account from week one. Then a failed vendor costs you a partner, and nothing else. - **Is the pricing public and legible?** Some quotes require a sales call before you see a number. Those quotes block comparison and hide the real model. - **What happens if I cancel?** Get the answer in writing. The right answer: you keep the code, the database, and the deployment. You can hand all three to anyone. - **Who are the humans?** Humans in the loop are good. I want engineers to review what an AI agent builds. You are checking for honesty about the split. A company that lies about the split will lie about the rest. ## Builder.ai vs LlamaPress, Honestly LlamaPress competes in the category Builder.ai left behind. Weigh what follows with that in mind. The comparison sets how Builder.ai operated, per the public record, against how we work today. Leonardo, our AI coding agent, builds your app while you watch in a live session. The starting spec is usually the spreadsheet that already runs your process. For that reason our main path is called [Excel to app](https://llamapress.ai/excel-to-app). The code is standard Ruby on Rails and PostgreSQL. Every commit lands in your own GitHub account. We state a flat build price from our US-based team before the work starts. If you cancel, you keep the repository, the database, and the running app. The full service model is on our [services page](https://llamapress.ai/services). | | Builder.ai (as it operated) | LlamaPress today | | --- | --- | --- | | Who builds it | Marketed as AI assembly; investigations reported roughly 700 human engineers doing much of the work | Leonardo, an AI coding agent you can watch work live, with human engineers reviewing | | Pricing model | Per-feature quotes through Studio; a few thousand to six figures depending on feature count | Flat build price stated before the work starts, unmetered iteration | | Where the code lives | On the vendor's platform; hundreds of customers were left with unfinished projects in 2025 | In your own GitHub account, standard Rails plus PostgreSQL | | If the vendor disappears | Customers file claims in insolvency proceedings across the UK, US, and India | You already hold the repo, the database, and the deployment; any Rails developer can continue | | Starting spec | A feature catalog you assembled from a menu | The spreadsheet that already runs your business process | I wrote the same kind of honest breakdown for [Lovable](https://llamapress.ai/the-lovable-alternative-when-your-business-app-has-to-outlive-the-prototype) and for [Base44](https://llamapress.ai/the-base44-alternative-that-turns-your-spreadsheet-into-software-you-actually-own). Both tools are real and still operate. Each page spends as much time on what the tool does well as on where the tool stops fitting. Watch the Agent Build ### See the AI write your code, live. Leonardo builds your app in front of you. Every commit lands in your own GitHub account. You get a flat price before we start. You keep everything if you leave. [See how we build](https://llamapress.ai/services) [Describe your app](https://llamapress.ai/) ## Frequently Asked Questions ### How much did Builder.ai cost? Builder.ai quoted per feature through its Studio products. Each feature you chose from the catalog added to the price. Simple apps ran a few thousand dollars and complex builds reached six figures. Exact plan prices changed over the years. The company entered insolvency in May 2025. No current price exists today. ### Is Builder.ai still in business? As of this writing, no. Builder.ai entered insolvency proceedings on May 20, 2025. A creditor had seized about 37 million dollars from the company's accounts. Bankruptcy proceedings followed in the UK, the US, and India. You cannot purchase new builds from Builder.ai today. ### Was Builder.ai really built by AI? Investigations reported that roughly 700 human engineers did much of the work marketed as AI-built. Most of those engineers were based in India. For years the company faced allegations that Builder.ai exaggerated its AI capabilities and misreported its financials. Human engineers doing the work is a legitimate model. The issue reporters raised was how Builder.ai described the work to customers and investors. ### What should Builder.ai customers do now? Check three things. First, find any source code you hold. Second, read your contract for an escrow or IP assignment clause you can act on in the insolvency proceedings. Third, export any live data your app still holds. Code and data you control can seed a rebuild with another developer or an AI coding agent. ### What is a good Builder.ai alternative? Pick a vendor that survives the failures Builder.ai created. Look for an AI agent you can watch work. Require code in your own GitHub account, a price stated before the build, and a written answer on cancellation. LlamaPress is built around those answers. Lovable and Base44 are worth evaluating for prototypes. ============================================================================== # Business Operations Software That Matches Your Day Source: https://llamapress.ai/business-operations-software-that-matches-the-way-you-run-the-day ============================================================================== # Business Operations Software That Matches Your Day > What business operations software must hold, why process management software stalls, and how to get a system built from the spreadsheet you run. Source: https://llamapress.ai/business-operations-software-that-matches-the-way-you-run-the-day | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) What business operations software must hold, why process management software stalls, and how to get a system built from the spreadsheet you run. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert I spent my early career at McKinsey watching large companies buy operations systems. The companies I work with now are smaller, and their day looks different. The day runs on a spreadsheet, a group chat, and the memory of one person who knows where everything stands. That setup works right up to the week it fails. An order ships late because the follow-up lived in someone's head. A crew drives to the wrong site because the schedule changed in chat at 9pm. This guide covers what business operations software should hold, when to buy it, and when to have it built. Business operations software is one system that holds the work your company does each day: the jobs or orders in progress, the status of each one, who owns the next step, the schedule, and the money attached. It replaces the spreadsheet, the group chat, and one person's memory with a single record the whole team can see. You can buy generic operations management software off the shelf, or you can have a system built around the process you already run. As of this writing, an AI-built operations app lands in the low thousands of dollars and produces a working version in days. ![Operations manager planning the day's jobs and handoffs on a whiteboard](https://images.unsplash.com/photo-1531403009284-440f080d1e12?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxvcGVyYXRpb25zJTIwbWFuYWdlciUyMHdoaXRlYm9hcmQlMjBzY2hlZHVsZSUyMHRlYW18ZW58MHx8fHwxNzg3ODk3MzcxfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Alvaro Reyes](https://unsplash.com/@alvarordesign?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-working-on-blue-and-white-paper-on-board-qWwpHwip31M?utm_source=leonardo_rails_app&utm_medium=referral) ## The Spreadsheet, the Group Chat, and One Person's Memory Most companies between 10 and 200 people run the day on three tools. The spreadsheet holds the list of jobs or orders. The group chat carries the changes: a delayed delivery, a sick technician, a customer who called twice. One person, usually an office manager or an ops lead, holds the current truth in their head. They know which chat message beat which spreadsheet row. The cost shows up as dropped handoffs. Sales promises a date that production never saw. An order sits at "waiting on parts" for two weeks because nobody owned the next step. When a customer calls, whoever answers scrolls the chat to reconstruct the story. And when the one person who knows everything takes a vacation, the day slows down measurably. None of these are people problems. They are record problems. The company has no single place where the state of the day lives. ## What Business Operations Software Must Hold Strip away vendor language and operations software has one job: hold the state of the day in one place. Operations management is the daily work of turning orders into delivered jobs and collected payment. The system that supports that work must hold five things. 1. **Jobs and orders.** Every unit of work as a record, with the customer, the scope, and the promised date attached. If order flow is your whole day, we wrote a separate guide to [custom order tracking software](https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth). 2. **Statuses.** A short list of stages that match how work actually moves in your shop. Seven stages you defined beat thirty stages a vendor shipped. 3. **Handoffs.** Every stage change names the next owner. The system should make "who has this now" a lookup, never a chat question. 4. **The schedule.** Who works where, on what, on which day. When the schedule changes, the change lands on the record, so nobody drives to the wrong site. 5. **The money.** The quote, the invoice, and what has been paid, attached to the job. Margin per job stops being a quarterly surprise. Notice what is missing from the list: dashboards, integrations, and AI features. Those come later, and they are only useful once the five basics live in one database. A tool that holds three of the five leaves the group chat in charge of the other two. ## Why Generic Process Management Software Stalls Process management software is the generic version of this category: a tool that lets you model any workflow with boards, forms, and automations. Monday, Airtable, and Smartsheet are the names most operators try first, and they are fair tools. As of this writing they cost roughly $10 to $30 per user per month. For a standard process, they can work well. The stall comes from a fact most vendors will not say out loud. In a mid-market company, the process is the differentiator. The way you quote, schedule crews, or handle rush orders is why customers pick you over the franchise down the road. A generic tool faces that fact in one of two ways. Either it stays rigid and your team keeps a side spreadsheet for everything the tool cannot express. Or it is endlessly configurable, and someone on your team spends three months becoming the in-house administrator of a tool that still stores your schedule as text in a card. Both paths end the same way: the tool holds a copy of the work, and the truth moves back to chat. ## Sales Operations Software Follows the Same Rule The front half of the day has the same problem. Sales operations software holds leads, quotes, follow-ups, and the handoff to delivery. In most companies this half also runs on a spreadsheet, and the failure mode is quieter: a lead nobody called back, a quote that expired unanswered, a closed deal that reached production as a forwarded email. The important design decision is the handoff. When a deal closes, the job should appear on the operations side with the scope, the price, and the promised date already attached. If sales runs in one tool and operations in another, that handoff is a retyping job, and retyping is where the numbers drift. One system covering lead to invoice beats two good systems joined by copy and paste. ## Buy or Build: an Honest Decision Rule Buy when your process is standard. If you run appointments, simple dispatch, or a plain retail counter, a vertical tool for your industry already matches your day. It costs less than any build and ships tomorrow. Configure it, use it, and spend your attention elsewhere. Build when the process is the business. If your quoting logic, your scheduling rules, or your handoffs are the reason customers stay, a system shaped exactly to them pays for itself. The old objection to building was the price: custom operations management software meant a six-figure agency project. That number is out of date. An AI coding agent, supervised by engineers, now builds a database-backed operations app in days for the low thousands of dollars, as of this writing. If most of your pain is repetitive steps rather than records, read our guide to [workflow automation software](https://llamapress.ai/workflow-automation-software-and-when-to-build-the-workflow-instead) first. And a fair warning in the other direction: do not build what a $20 seat already solves. ## The Built Option Starts From Your Spreadsheet The spreadsheet your team runs today is not the problem. It is the specification. Its columns are your fields, its tabs are your stages, and its color codes are your statuses. Our agent, Leonardo, reads that spreadsheet and builds a real web application around it: a database, logins for the team, the five holdings above, and screens that match how you already talk about the work. You watch the build happen, and the code lands in your own GitHub account. We build these systems daily. We built a solar company's office operations app. We built a media production company's operations system with drafts, overtime rules, and a leads board. Neither company changed its process to fit a vendor. The software matched the way they already ran the day, which is the entire point of the category. Our [services page](https://llamapress.ai/services) explains how an engagement runs, and [Excel to App](https://llamapress.ai/excel-to-app) shows how a build starts from the file you already have. One Record of the Day ### Your spreadsheet is the spec. Upload the file that runs your day. We will turn it into a working operations app with a real database, and you can judge the result before you commit to anything. [Start from your spreadsheet](https://llamapress.ai/excel-to-app) [Talk through your process](https://llamapress.ai/services) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What is business operations software? Business operations software is one system that holds the daily work of a company: jobs or orders, their statuses, handoffs between people, the schedule, and the money attached to each job. It gives the whole team a single record of the day instead of a spreadsheet, a group chat, and one person's memory. ### What is the difference between operations management software and project management software? Project management software tracks work with a defined start and end, such as a construction project or a launch. Operations management software tracks work that repeats every day: orders in, jobs scheduled, work delivered, invoices out. Many mid-market companies need the second kind and buy the first, because the first is what shows up in ads. ### How much does business operations software cost? As of this writing, generic process management software runs about $10 to $30 per user per month. Vertical industry tools commonly run $50 to $300 per month or more. A traditional custom build from an agency starts around $30,000. An AI-built operations app usually lands in the low thousands of dollars, with a working version in days. ### Can we keep using our spreadsheet while the system is built? Yes, and you should. The spreadsheet stays the working record until the new system holds the same data and the team trusts it. A build that starts from your spreadsheet makes the cutover short, because the fields, stages, and statuses already match the file your team knows. ### Do we need separate sales operations software? Usually no. In a company under 200 people, leads, quotes, jobs, and invoices belong in one system, so a closed deal becomes a scheduled job without retyping. Buy or build a separate sales tool only when a large sales team needs features the operations side would never use. ============================================================================== # Can AI Build a Web App From an Excel Workbook? Source: https://llamapress.ai/can-ai-build-a-web-app-from-your-excel-workbook-what-it-reads-and-what-it-asks ============================================================================== # Can AI Build a Web App From an Excel Workbook? > Yes. An AI coding agent reads your tabs, formulas and dropdowns and builds a working app in about a day. Here is what it cannot know and what it must ask first. Source: https://llamapress.ai/can-ai-build-a-web-app-from-your-excel-workbook-what-it-reads-and-what-it-asks | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Yes. An AI coding agent reads your tabs, formulas and dropdowns and builds a working app in about a day. Here is what it cannot know and what it must ask first. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 Yes. An AI coding agent can read an Excel workbook and build a working web app from it, usually within a day. The agent reads your tabs, column headers, formulas, validation lists and color coding. Those become database tables, rules, dropdowns and statuses in the app. The AI cannot know who should log in, which tabs are dead, or which formulas are quietly wrong. A good conversion is therefore a short conversation plus an engineer's review. LlamaPress has converted 400+ spreadsheets this way. In short - An AI coding agent reads a workbook's structure and formulas and can produce a working database-backed web app in about a day. - The AI has to ask you about users and permissions, which tabs are archives, what "done" means, and which formulas are wrong. - The common failure points are merged header cells, dates stored as text, one Notes column holding five fields, and links to other workbooks. - LlamaPress pairs the AI with a human engineer and hands you a Ruby on Rails app in your own GitHub, with no per-user fees. I build the software. I created Leonardo, the AI coding agent behind LlamaPress, and I have watched it read hundreds of workbooks. I have also watched it guess wrong. The wrong guesses follow patterns, and those patterns are what this page is about. If you want a ranking of tools instead, read [the best Excel to web app converters compared honestly](https://llamapress.ai/the-best-excel-to-web-app-converters-in-2026-compared-honestly). ![Hands typing on a laptop that shows a data spreadsheet, the kind of workbook an AI coding agent reads before it builds an app](https://images.unsplash.com/photo-1783115259399-3a5a3e0e4592?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxlbmdpbmVlciUyMHJldmlld2luZyUyMHNwcmVhZHNoZWV0JTIwb24lMjBsYXB0b3B8ZW58MHx8fHwxNzg4MzYxOTExfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Gorilla ROI Data Connector](https://unsplash.com/@gorillaroi?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/hands-typing-on-a-laptop-displaying-a-data-spreadsheet-9fZuqBYlV1w?utm_source=leonardo_rails_app&utm_medium=referral) ## What does AI read from an Excel workbook? An AI coding agent reads the workbook as a description of your business, and most of that description is structure. The header row of each tab becomes a list of fields. The values under each header tell the agent the data type. A column of 2024-03-14 values becomes a date field. A column holding only Yes and No becomes a checkbox. Tabs become tables. When the Jobs tab has a Customer column that matches the Customers tab, the agent reads a relationship. Every job belongs to one customer. A VLOOKUP from one tab into another is the same relationship written as a formula. Formulas become rules. A cell that reads =D7\*(1+$B$2) tells the agent that a price is a base cost times a markup stored in one place. The agent moves the markup into a settings table and writes the rule once in code. Validation lists become dropdowns. A column of red, yellow and green cells becomes a status field with a workflow between the three states. Hidden sheets and named ranges get read too. Heavy formulas and VBA macros are covered in [whether you can keep your Excel formulas and VBA macros](https://llamapress.ai/can-you-keep-your-excel-formulas-and-vba-macros-when-you-convert-to-a-web-app). ## What does AI have to ask you? The AI has to ask about everything the workbook never wrote down. A workbook has no idea who opens it. So the first question is always the same. Who uses this, and what may each person do? An estimator who prices jobs and an owner who approves them see the same tab in Excel. In an app they need different screens and different permissions. The second question is which tabs are archives. Most older workbooks have a 2022 Backup tab and a Summary tab that only reads other tabs. An agent that treats both as live tables builds a bloated app. The third question is what "done" means. A green cell in column K is a finished job to your team. To the AI that green cell is a color. You name the states and their order, and that list becomes the workflow. The fourth question is which formulas are known to be wrong. Ray Panko's research at the University of Hawaii found errors in at least 86% of the operational spreadsheets audited since 1997. The audits are summarized in [his 2008 review of spreadsheet error studies](https://arxiv.org/abs/0802.3457). Your workbook almost certainly has one, and somebody has been working around it for years. The AI will copy the wrong formula faithfully unless someone says so. The last two questions are about phones and integrations. Does anyone need the app on site from a phone, and which three screens? Does the app need to send an invoice to QuickBooks? Neither answer is in the workbook. Both change the build. ## What does AI get wrong without a human? The AI gets structure wrong when the workbook was built for human eyes instead of for a machine. Six problems come up again and again. Merged header cells come first. A title that spans columns B to F reads as one field, and the five real columns underneath lose their names. Dates stored as text are second. A column that mixes "14/3/24" and "March 14" is a text field to the AI, and the app cannot sort it by date. Third, one Notes column often holds five fields. "Called Tues, wants delivery Fri, PO 4471, gate code 1188" is one cell. A good app wants a call log, a delivery date, a PO number and a site access note. Fourth, duplicated customer names. "ACME Ltd", "Acme Limited" and "ACME" are three customers to a machine and one customer to your team. Fifth, formulas that reference other workbooks. A cell pointing at 'C:\\Rates\\2024 rates.xlsx' is a link to a file the AI has never seen. Sixth, a summary tab mistaken for data. A Dashboard tab full of SUMIFS looks like a table of numbers. An agent that imports it creates a table of totals that nobody should ever edit. These six are why every LlamaPress build gets an engineer's review before the customer sees it. ## What AI tool can convert an Excel spreadsheet into an app? Three different kinds of AI can convert an Excel workbook into an app, and they produce three very different results. Prompt-to-code tools such as Lovable, Bolt and Claude Code write real code from a description. They are excellent for prototypes, and you end up owning a codebase that you must host and maintain yourself. Our piece on [whether Claude Code can build your business app](https://llamapress.ai/can-claude-code-build-your-business-app-what-non-developers-should-know) covers what a non-developer should expect. No-code builders with AI helpers are the second kind. Airtable, AppSheet, Glide and Power Apps use AI to arrange screens over the sheet or a vendor database. You pay per user or per credit. Microsoft's documentation for Power Apps states that Excel data "must be formatted as a table". The same page says that "if your Excel data includes a calculated column, you can't use it to build an app". That rule, in [Microsoft's cloud storage connection docs](https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/connections/cloud-storage-blob-connections), removes most real estimating workbooks from that route. The third kind is an AI coding agent working with an engineer, which is how LlamaPress works. Leonardo reads the workbook and writes a Ruby on Rails app on a PostgreSQL database. The code goes into your own GitHub account, and a human engineer reviews the build. Prices in the table are as of this writing, from our [pricing page](https://llamapress.ai/pricing) and [services page](https://llamapress.ai/services). | | Prompt-to-code tools | No-code builders with AI | AI agent plus engineer (LlamaPress) | | --- | --- | --- | --- | | Examples | Lovable, Bolt, Claude Code | Airtable, AppSheet, Glide, Power Apps | Leonardo, reviewed by a LlamaPress engineer | | What the AI does with the workbook | Writes code from your prompt | Arranges screens over the sheet; calculated columns often excluded | Reads tabs, formulas, validation lists and formatting, then writes the app | | Where the data lives | A database you set up and host | Vendor cloud; Glide caps spreadsheet sources at 25,000 rows | PostgreSQL on your own instance, exportable on demand | | What you own | The code, which you must run | A data export; Bubble says apps cannot be exported as code | A Rails app in your own GitHub plus the database | | Who checks the AI's work | You | You | A human engineer, on every build | | Price shape (as of this writing) | Tool subscription plus your own hosting | Airtable Team $20/user/month billed annually; AppSheet Core $10/user/month | Hosted plans from $9.99/mo, no per-user fees; build sprints from $2,000 | Table sources, checked in September 2026: [Airtable pricing](https://airtable.com/pricing), [AppSheet pricing](https://about.appsheet.com/pricing/), [Glide's data source docs](https://www.glideapps.com/docs/essentials/data-sources/google-sheets) and [Bubble's ownership page](https://manual.bubble.io/account-and-marketplace/application-and-data-ownership). Bubble's manual puts the ownership point plainly. "Bubble apps can only be run on the Bubble platform; there's no way of exporting your application as code." I will say plainly when the other routes win. A prompt-to-code tool is the better choice if you have a developer on staff and want a prototype this afternoon. A no-code builder is the better choice for a simple list with no formulas that ten people need on their phones next week. The AI agent plus engineer route wins when the workbook holds real business logic and several people depend on it every day. ## How a conversion actually runs A real build for a steel contractor shows the shape of the work. RSB fabricates and erects structural steel and priced every job from one estimating workbook. We rebuilt that workbook's logic as a custom app in 6 weeks from kickoff to deployment. The full story is in [how we rebuilt a contractor's Excel logic as an app](https://llamapress.ai/we-rebuilt-a-contractors-excel-logic-as-an-app). The five steps ran in this order. 1. **Upload and first read.** The estimating workbook went to Leonardo through [the Excel to app converter](https://llamapress.ai/excel-to-app). The agent mapped the headers to fields and turned the pricing formulas into rules. A first working app existed within a day. 2. **The question pass.** An engineer and the contractor went through the questions above. Who estimates, who approves, which tabs were old copies, and what a finished estimate looks like. 3. **Matching the numbers.** The team priced real jobs in the workbook and in the app side by side. Every difference was traced to a formula and fixed. This step takes the weeks, and this step makes the app trustworthy. 4. **Building what the workbook could not do.** Logins, saved estimates anyone can search, and revisions kept as versions instead of file copies. 5. **Deployment and the result.** Six weeks after kickoff the team was pricing in the app. Estimates go out 62% faster and each estimate costs 40% less to produce. ![A worker operating a machine in a metal fabrication shop, the kind of business that prices jobs from an estimating workbook](https://images.unsplash.com/photo-1738162837340-da3e7a323a09?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzdGVlbCUyMGZhYnJpY2F0aW9uJTIwd29ya3Nob3B8ZW58MHx8fHwxNzg4MzYxOTE0fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Cemrecan Yurtman](https://unsplash.com/@cmrcn_?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-man-working-on-a-machine-in-a-factory-RLDjPI-r5fU?utm_source=leonardo_rails_app&utm_medium=referral) ## How to prepare a workbook so AI gets it right the first time Twenty minutes of preparation saves a week of corrections. You do not need to rebuild the workbook. You need to remove the ambiguity that trips a machine. 1. **Put one header in one row.** Unmerge the title cells. Give every column a short plain name like Customer, Quote Date or Unit Cost. 2. **Delete or rename the dead tabs.** Remove Sheet3 and Copy of Jobs. Rename an old backup to ARCHIVE 2022 so the agent knows to skip it. 3. **Make dates dates.** Apply one date format to each date column. If Excel refuses to format a cell, that cell is text and needs a fix. 4. **Add a Roles tab.** List each person who uses the workbook and what they do in it. This one tab answers the biggest question the AI would otherwise ask. 5. **Mark the known-wrong cells.** Add a comment on any formula your team works around, and say what the right rule should be. The full sequence is in [how to turn an Excel spreadsheet into a web app step by step](https://llamapress.ai/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch). ## What AI should not be trusted with alone Some workbooks should never go from AI straight to production without a person checking every rule. Financial models are the first group. A cash flow model has a dozen formulas where a wrong sign costs real money. An AI converts a wrong formula as confidently as a right one. Compliance rules are the second group. If a workbook enforces a safety limit or a tax rate, a human needs to read the converted rule and sign off. The engineer also stays in the loop for a less obvious reason. The AI gets the app right once. The business changes every quarter. Someone has to read the new rule, check the old data, and decide what the change breaks. Our earlier piece on [why an AI app builder is the only practical way to replace a spreadsheet](https://llamapress.ai/why-an-ai-app-builder-is-the-only-way-to-replace-your-spreadsheet-in-2025) made the case for the tool. This page is the case for the person next to it. ## How to use AI to turn a spreadsheet into an app Treat your workbook as the spec. Hand it to an AI that reads Excel files as structure rather than as a picture. You upload the workbook at [the Excel to app page](https://llamapress.ai/excel-to-app), with no credit card and no cleanup required. Leonardo reads the tabs, the headers, the formulas, the validation lists and the color coding. The agent writes a Ruby on Rails app on a PostgreSQL database, with a table for every live tab and a rule for every formula. The first version usually exists within a day. Then the conversation starts. An engineer walks through the questions with you, fixes what the AI could not know, and checks the numbers against the workbook. The code lands in your own GitHub repository. Hosted plans start at $9.99 a month with no per-user fees, and build sprints start at $2,000, as of this writing. From Spreadsheet to Software ### Find out what AI reads in your workbook. Upload the workbook that runs your process. Leonardo reads the tabs, formulas and dropdowns and builds a first working app. An engineer reviews it with you. [Let AI Read My Workbook](https://llamapress.ai/excel-to-app) [Talk to an Engineer](https://llamapress.ai/contact) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your workbook with you. ## Frequently Asked Questions ### Can AI build a web app from my Excel workbook? Yes. An AI coding agent reads the tabs, headers, formulas, validation lists and color coding in an Excel workbook. From those it generates a working database-backed web app, usually within a day. The AI cannot know your roles or which formulas are wrong, so an engineer reviews the build with you. ### What AI tool can convert an Excel spreadsheet into an app? Three kinds of AI tool can convert an Excel spreadsheet into an app. Prompt-to-code tools like Lovable, Bolt and Claude Code write code you must host yourself. No-code builders like Airtable and AppSheet arrange screens over a vendor database and charge per user. LlamaPress pairs an AI coding agent with a human engineer and hands you a Rails app in your own GitHub. ### How do I use AI to turn a spreadsheet into an app? Upload the spreadsheet to an AI that reads structure, such as the LlamaPress Excel to app converter. The AI turns each live tab into a table and each formula into a rule. Then answer what the file cannot say: who uses the app, which tabs are archives, and what a finished record is. ### Is there an AI that reads Excel files and builds a database? Yes. Leonardo, the AI coding agent at LlamaPress, reads Excel files and builds a PostgreSQL database from them. Each live tab becomes a table, each column becomes a typed field, and cross-tab lookups become relationships between tables. The database and the app code both belong to you. ### Will AI understand my formulas? AI understands standard Excel formulas well, including SUM, IF, VLOOKUP, XLOOKUP and SUMIFS. The AI converts each formula into a rule in the app. AI cannot tell a wrong formula from a right one, so the engineer checks the converted rules against real examples from your workbook. ### Do I still need a developer if AI builds the app? You still need a developer to review what AI builds, and LlamaPress includes one on every build. The developer answers the questions the workbook never wrote down and checks financial and compliance rules by hand. You do not need a developer on your own staff. ============================================================================== # Can ChatGPT Create Excel Files? The Real Limits Source: https://llamapress.ai/can-chatgpt-create-excel-files-and-the-limits-of-spreadsheet-automation ============================================================================== # Can ChatGPT Create Excel Files? The Real Limits > ChatGPT can generate Excel files via Python, but is it enough for your business? Learn the limits of AI spreadsheets and how to move toward real automation. Source: https://llamapress.ai/can-chatgpt-create-excel-files-and-the-limits-of-spreadsheet-automation | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) # Can ChatGPT Create Excel Files? Yes, but Here Is Where It Stops ChatGPT can generate Excel files via Python, but is it enough for your business? Learn the limits of AI spreadsheets and how to move toward real automation. [Back to all articles](https://llamapress.ai/blog) Many business owners ask the same question: **can chatgpt create excel files** for my daily operations? The short answer is yes. Through its Advanced Data Analysis feature, ChatGPT uses Python to generate and export .xlsx files directly in the chat interface. It feels like magic when a simple prompt turns into a downloadable document. However, there is a massive gap between a chatbot making a file and a business running on automation. While the novelty of AI-generated spreadsheets is high, the practical utility for scaling a company is often misunderstood. I have seen countless teams try to use ChatGPT as a primary data tool, only to hit a wall when complexity increases. If you want the upload steps and the file limits first, read [how to upload an Excel file to ChatGPT](https://llamapress.ai/how-to-upload-an-excel-file-to-chatgpt-and-what-to-do-when-that-is-not-enough). ![Artificial intelligence spreadsheet representation](https://images.unsplash.com/photo-1591696331111-ef9586a5b17a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxhcnRpZmljaWFsJTIwaW50ZWxsaWdlbmNlJTIwc3ByZWFkc2hlZXR8ZW58MHx8fHwxNzc2MjAxMTgzfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Markus Winkler](https://unsplash.com/@markuswinkler?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## How ChatGPT Generates Excel Files When you provide data or a request to ChatGPT, it writes Python code using the pandas library. It processes your instructions, formats the data into a dataframe, and then saves it as an Excel file. This process is effective for simple lists or basic calculations. It saves time compared to manual entry, but it still requires a human to "initiate" the spark. The limitation here is the manual nature of the interaction. You must log in, paste your data, write a prompt, and download the result. This is "prompt-driven" work, not a system. For a single task, it is fine. For a business processing hundreds of rows daily, it becomes a bottleneck. ### The Formatting and Data Integrity Wall One major issue with AI-generated files is the lack of persistent formatting. While ChatGPT can create basic tables, it often fails to preserve complex Excel features like specific pivot tables, macro-enabled workflows, or precise brand-compliant styling. You get the data, but you often lose the "usability" that your team expects from a professional spreadsheet. ## Moving Toward Real Spreadsheet Automation The real power of AI in the workplace is not about chatting with a bot to get a file. It is about embedding AI logic directly into your business applications. If you are serious about scaling, you should look into how specialized tools handle data more robustly than a general-purpose LLM. For instance, understanding [choosing the right tool for business scaling in 2026](https://llamapress.ai/ai-functions-in-excel-choosing-the-right-tool-for-business-scaling-in-2026) is critical for moving beyond simple chat prompts. Automation should happen in the background, triggered by events, not by manual conversations. ![Data automation in a modern office setting](https://images.unsplash.com/photo-1759752393975-7ca7b302fcc6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkYXRhJTIwYXV0b21hdGlvbiUyMG9mZmljZXxlbnwwfHx8fDE3NzYyMDExODh8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Bluestonex](https://unsplash.com/@bluestonex_apphaus?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ### Why Database-Backed Apps Trump Spreadsheets Spreadsheets are flexible but fragile. They break easily, lack user permissions, and do not scale well with multiple users. When you use ChatGPT to create Excel files, you are often just creating more "spreadsheet debt" for your future self to manage. The solution is to turn those spreadsheet processes into dedicated database-backed applications. A custom application can use AI to categorize data, predict trends, and generate reports automatically. It does this without you ever having to ask "can chatgpt create excel files" again, because the system is designed to handle the data flow seamlessly from end to end. ## Stop Chatting, Start Building Don't settle for manual file generation. Instead of asking a chatbot to write files, [convert your Excel spreadsheet into a web application](https://llamapress.ai/excel-to-app) — a real database-backed app with your logic built in. We help you move from "prompting" to professional infrastructure. [Build Your AI App Today](https://llamapress.ai/excel-to-app) ============================================================================== # Can Claude Code Build Your Business App? Source: https://llamapress.ai/can-claude-code-build-your-business-app-what-non-developers-should-know ============================================================================== # Can Claude Code Build Your Business App? > Yes, Claude Code can build your app. Here's what the demos skip for non-developers, and how LlamaPress runs the same class of AI agent for you, in plain English. Source: https://llamapress.ai/can-claude-code-build-your-business-app-what-non-developers-should-know | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Yes, Claude Code can build your app. Here's what the demos skip for non-developers, and how LlamaPress runs the same class of AI agent for you, in plain English. [Back to all articles](https://llamapress.ai/blog) Somebody showed you a demo. Maybe a developer friend typed one sentence into a terminal and an app assembled itself on screen. Maybe it was a clip of Claude Code building a working dashboard in eleven minutes. And you thought about the estimating spreadsheet, or the order tracker, or the onboarding checklist that runs your business, and asked the obvious question: could this thing build that for me? Short answer: yes. Claude Code absolutely can build your business app, and I say that as someone who works with this exact class of AI agent every single day. Our own platform runs frontier coding agents under the hood, so I have zero interest in telling you the technology is overhyped. It isn't. What I can tell you is what the headline demos quietly assume, because those assumptions decide whether the tool works for you or sits there blinking at a prompt you don't know how to answer. ![Laptop screen full of source code, the working environment Claude Code assumes you already live in](https://images.unsplash.com/photo-1484417894907-623942c8ee29?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHx0ZXJtaW5hbCUyMGNvbW1hbmQlMjBsaW5lJTIwcHJvZ3JhbW1lciUyMHdvcmtzcGFjZXxlbnwwfHx8fDE3ODM5MDQ4NjR8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Emile Perron](https://unsplash.com/@emilep?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/macbook-pro-showing-programming-language-xrVDYZRGdw4?utm_source=leonardo_rails_app&utm_medium=referral) ## What Claude Code Actually Is, and Why Developers Love It Claude Code is Anthropic's agentic coding tool. You describe what you want in plain language, and the agent reads your codebase, plans the work, edits files, runs commands and tests, and handles git commits on your behalf. It started as a command-line tool that lives in the terminal, and as of this writing it also ships as IDE extensions for VS Code and JetBrains, a redesigned desktop app that can run several sessions in parallel on isolated copies of your project, and a web interface you can reach from a browser or phone. Developers love it for a good reason. It does real engineering work: it maps an unfamiliar codebase in seconds, fixes bugs across a dozen files at once, writes tests, and opens pull requests. Watching a skilled engineer drive Claude Code is genuinely something to see. A feature that took a week now takes an afternoon. None of what follows is a knock on the tool. The tool is remarkable. ## So Can It Build an App? Yes. Here's the Full Sentence. Claude Code can build a database-backed application that would replace your estimating spreadsheet or your order tracker. It can design the tables, write the screens, wire up the logic, and fix its own mistakes when a test fails. In the hands of someone who knows what they're looking at, it will do this faster and more cheaply than any development process in history. The full sentence, though, is this: Claude Code can build your app, inside an environment that assumes a developer is sitting in the chair. Every demo you've seen starts after a long list of invisible setup steps already happened. Those steps are the actual barrier, and nobody puts them in the highlight reel. ## What the Headline Demos Skip: The Cockpit Think of Claude Code as an extraordinary autopilot. An autopilot still lives in a cockpit, and the cockpit has instruments that assume training. Here is what operating it for a real business app involves, concretely. ### A repository and git Claude Code works on a codebase stored in git, the version-control system developers use to track every change. You would create a repository, learn what branches and commits are, and decide what to do when the agent proposes a change you're not sure about. Git is wonderful. It is also a tool with its own vocabulary, and "detached HEAD state" is nobody's idea of a fun Tuesday. ### Judgment calls about architecture Early in any build, the agent asks questions or makes assumptions: which framework, which database, how to structure authentication, whether to split the estimate and the price book into separate services. A developer answers from experience. A non-developer either guesses or accepts the default, and some defaults are expensive to unwind three weeks in. The agent is brilliant at executing decisions. Someone still has to be qualified to make them. ### Somewhere to host it, and a database to manage The app Claude Code writes runs on your laptop until you put it somewhere your team can reach. That means choosing a hosting provider, configuring a server or a deployment platform, provisioning a production database, setting up backups, and keeping all of it patched. For a business tool holding customer orders or bid data, backups are not optional. This is a standing operational job, not a one-time chore. ### Someone to review and steer This is the part practitioners emphasize most. Agentic coding works best as a loop: the agent proposes, a human reviews, the agent continues. Skilled users read the diffs, catch the subtle wrong turn, and redirect early. Skip the review and small errors compound quietly until something breaks in front of a customer. The agent is not the hard part. Operating the agent is. If you're an estimator, an ops manager, or an onboarding coordinator, notice what just happened. Every one of those four items is a job you'd be taking on in addition to running your actual process. That's the honest gap between the demo and your Monday morning. ## When You Should Just Use Claude Code Sincerely, go get it if any of these describe you. You have a developer on staff, or a technical co-founder, and they'll own the cockpit; hand them Claude Code and get out of their way, it will pay for itself in a month. You personally enjoy the terminal and want to learn; it's the best on-ramp to real software development I've ever seen, and plenty of determined non-developers have shipped things with it. Or you're building a software product to sell, in which case you need to own the code and the engineering culture around it from day one anyway. The case this page is written for is different: your product is construction bids, or wholesale orders, or managed IT services, and the software is internal plumbing. You want the outcome of the agent's work without adopting a developer's toolchain as a hobby. ## Claude Code Raw vs. LlamaPress Managed Same class of engine underneath. Different answer to who sits in the cockpit. | | Claude Code, operated by you | LlamaPress, operated for you | | --- | --- | --- | | Where you work | Terminal, IDE, or desktop app over a git repo | A chat window in the browser, in plain English | | Starting point | An empty repository and a blank prompt | The spreadsheet your business already runs on | | Hosting & database | You choose, provision, deploy, back up, and patch | Managed hosting and a production database, included | | Architecture decisions | Yours to make, or the agent's defaults to accept | Made by the platform, reviewed by our engineers | | Reviewing the agent | You read the diffs and steer | Humans back the agent up when it needs steering | | Best for | Developers, technical founders, determined learners | Operators who need the app, without the cockpit | ![Developer keyboard in a dim workspace, the cockpit that agentic coding tools assume you fly](https://images.unsplash.com/photo-1605379399642-870262d3d051?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx0ZXJtaW5hbCUyMGNvbW1hbmQlMjBsaW5lJTIwcHJvZ3JhbW1lciUyMHdvcmtzcGFjZXxlbnwwfHx8fDE3ODM5MDQ4NjR8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Fotis Fotopoulos](https://unsplash.com/@ffstop?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/black-remote-control-on-red-table-6sAl6aQ4OWI?utm_source=leonardo_rails_app&utm_medium=referral) ## The Same Engine, With the Cockpit Handled LlamaPress runs this exact class of AI coding agent for you. Our agent, Leonardo, is a frontier coding agent with the repository, the hosting, the database, and the deployment pipeline already wrapped around it. You upload the Excel or Google Sheets file your operation actually runs on, and Leonardo builds a database-backed application from it: your columns become typed fields, your tabs become related tables, your unwritten rules become validation the software enforces. Then you steer it the way you'd steer a contractor, in plain English, from a chat window. "Add a stage for permit approval." "Only managers can change a submitted bid." "Email the client when their onboarding checklist stalls for three days." The agent does the engineering, and human engineers back it up when a request needs judgment. Everything the cockpit section above described still happens. It just happens on our side of the glass. If you want the full picture of that process from first upload to your team logging in, the [Excel to App master guide](https://llamapress.ai/excel-to-app-master-guide) walks through every step. And if you're weighing this against the no-code route, we've written honest comparisons of [AppSheet](https://llamapress.ai/the-appsheet-alternative-when-your-spreadsheet-deserves-real-custom-software) and [Glide](https://llamapress.ai/the-glide-alternative-when-your-app-needs-a-real-database-not-a-spreadsheet), plus a deeper argument for [why an AI app builder is the only realistic way to replace a working spreadsheet](https://llamapress.ai/why-an-ai-app-builder-is-the-only-way-to-replace-your-spreadsheet-in-2025). ### Want the agent without the terminal? Upload the spreadsheet your business runs on and watch a frontier AI coding agent turn it into real database-backed software, on managed hosting, steered in plain English. No repo. No deploys. No cockpit. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to a Human First](https://llamapress.ai/contact) ## Frequently Asked Questions ### Can a non-developer use Claude Code? Yes, and determined non-developers have built real things with it. Expect a learning curve that has little to do with the AI: you'll be picking up git, the terminal or an IDE, hosting, and enough architectural vocabulary to answer the agent's questions. If you'd enjoy that, it's a fantastic way in. If you wouldn't, a managed platform gets you the same class of agent without the curriculum. ### Can Claude Code build a complete app from scratch? Yes. It can scaffold a project, design the database, write the frontend and backend, run its own tests, and fix what fails. What it does not do is host the result, manage your production database, or review its own work with a skeptic's eye. Those jobs remain, whoever ends up doing them. ### What does Claude Code cost? As of this writing, Claude Code is included with Claude's paid subscription plans, and heavier usage is billed by consumption through the API. Serious agentic work on a real codebase tends to land in the range of a meaningful monthly software subscription. Check Anthropic's current pricing, since plans and limits change; whatever the number, the larger cost for a non-developer is the operational time around the tool, not the tool itself. ### What is the best Claude Code alternative for business owners? Alternative is a strange word here, because platforms like LlamaPress run the same category of frontier coding agent internally. The distinction is packaging: with Claude Code you operate the agent in a developer environment; with [LlamaPress](https://llamapress.ai/excel-to-app) the agent, hosting, database, and human review come as a managed service, and you direct it in plain English starting from your existing spreadsheet. ### Will the app Claude Code builds run my business by itself? The code will exist, and it can be excellent. Running your business on it also requires deployment, a production database with backups, user accounts for your team, and someone who maintains all of it as your process changes. Software for a live operation is a service you keep alive, and that is true no matter which agent writes the first version. ============================================================================== # Client Onboarding Software From Your Own Checklist Source: https://llamapress.ai/guided-client-onboarding-software-that-replaces-your-checklist-spreadsheet ============================================================================== # Client Onboarding Software From Your Own Checklist > Guided client onboarding software built from your existing checklist spreadsheet. Stages with owners, a client portal, automatic nudges, and a real database. Source: https://llamapress.ai/guided-client-onboarding-software-that-replaces-your-checklist-spreadsheet | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Guided client onboarding software built from your existing checklist spreadsheet. Stages with owners, a client portal, automatic nudges, and a real database. [Back to all articles](https://llamapress.ai/blog) The Cracks ## Clients are falling through the cracks, and everyone can feel it A new client signs. Sales forwards the email thread to your onboarding coordinator with a note that says "kicking this over to you." That thread is the handoff. Somewhere in it are the client's entity name, their point of contact, and a half-answered question about billing. The coordinator opens the checklist spreadsheet, copies last quarter's tab, and starts working the list. Request the W-9. Collect the signed service agreement. Chase down the insurance policy documents, the prior carrier's declarations page, the admin credentials for the systems you are taking over. Schedule the kickoff call. Each row has a name in the "owner" column that nobody actually checks. Three weeks in, the client emails to ask why your billing team just requested the W-9 they already sent to two other people. Nobody can say where the file went. Nobody can say where the client is in the process, either, because the spreadsheet says whatever it said the last time someone remembered to update it. An onboarding that should take two weeks takes six. The client's first real experience of your firm is repeating themselves. None of this is a people problem. Your coordinator is probably the most organized person in the building. The problem is that a checklist spreadsheet has no memory of who was asked for what, no way to prompt the next step, and no view the client can see. We wrote up the full anatomy of this failure in [why onboarding spreadsheets quietly lose clients](https://llamapress.ai/why-your-client-onboarding-spreadsheet-is-quietly-losing-you-clients). ![Two professionals shaking hands over a laptop after signing a new client agreement](https://images.unsplash.com/photo-1672380135241-c024f7fbfa13?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxwcm9mZXNzaW9uYWwlMjBzZXJ2aWNlcyUyMG1lZXRpbmclMjBoYW5kc2hha2V8ZW58MHx8fHwxNzgzODc4MjQzfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Radission US](https://unsplash.com/@radission?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/two-people-shaking-hands-in-front-of-a-laptop-_XeQ8XEWb4Q?utm_source=leonardo_rails_app&utm_medium=referral) The Alternative ## What guided client onboarding actually looks like Your checklist already encodes the process. Guided onboarding software makes the process run itself instead of relying on one person's follow-through. ### Stages with real owners Intake, document collection, credential handover, kickoff, go-live. Each stage has an assigned owner and cannot be marked complete until its required fields are filled. The "owner" column becomes an actual assignment, with accountability attached. ### A portal the client can see The client logs in and sees exactly where they are: step 3 of 7, two documents outstanding, kickoff call scheduled for Thursday. They stop emailing "any update?" because the update is always in front of them. ### Structured data, not attachments The W-9 gets uploaded once, into a field that belongs to that client's record. Policy documents, signed agreements, and contact details live in a database, so no one ever asks for something the firm already has. ### Automatic nudges A document sits unsubmitted for four days? The client gets a polite reminder without your coordinator writing it. An internal step stalls? Its owner gets pinged. The chasing that used to consume half a role now happens on its own. ### An audit trail Every request, upload, and status change is timestamped with a name attached. When a client asks why something took nine days, you can answer with the actual history instead of a reconstruction from memory. ### One answer to "where are they?" A dashboard shows every active onboarding, its stage, and how long it has sat there. The six-week onboardings get spotted in week one, while there is still time to fix them. How It Works ## From checklist spreadsheet to onboarding system, with Leonardo Leonardo is our AI coding agent. It reads your spreadsheet the way a developer would read a spec, then builds the software around it. The full process is documented in our [Excel to App master guide](https://llamapress.ai/excel-to-app-master-guide). 1 ### Upload the checklist you use today Head to [Excel to App](https://llamapress.ai/excel-to-app) and upload your onboarding tracker exactly as it is. Messy tabs, color coding, notes in cell comments. Leonardo reads the stages, the owners, and the items you collect at each step. 2 ### Leonardo builds the first working version Within the session, your checklist becomes an application: a client record for each onboarding, guided steps with required fields and document upload, a client-facing portal, and reminder logic. It runs on a real database from day one. 3 ### Refine it in plain English "Insurance clients skip the credential step." "Add a field for the prior carrier." "CC the account manager on every nudge." You describe the change, Leonardo makes it. Your process logic goes in, exactly as your best coordinator would explain it. 4 ### Go live with your team and your clients Invite your team, send clients their portal links, and retire the spreadsheet. The application keeps evolving as your process does, because changing it is a conversation rather than a development contract. ![A new client and an account manager shaking hands across a wooden table at a kickoff meeting](https://images.unsplash.com/photo-1638262052640-82e94d64664a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxwcm9mZXNzaW9uYWwlMjBzZXJ2aWNlcyUyMG1lZXRpbmclMjBoYW5kc2hha2V8ZW58MHx8fHwxNzgzODc4MjQzfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Rock Staar](https://unsplash.com/@rockstaar_?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/two-people-shaking-hands-over-a-wooden-table-NzIV4vOBA7s?utm_source=leonardo_rails_app&utm_medium=referral) ## The three tools you have probably already tried Most firms evaluating client onboarding software have been around this loop at least once. ### Checklist SaaS A shared to-do list with a nicer interface than your spreadsheet. It still has no idea that insurance clients need a declarations page or that credential collection comes after the signed agreement. Your process logic stays in someone's head. ### Forms tools Good at collecting a batch of answers once. But onboarding is a sequence over weeks, with internal steps between the client-facing ones. A form cannot chase a missing document or tell you which of nineteen active clients is stuck. ### Enterprise onboarding platforms Genuinely capable, and priced for companies with an implementation team and a six-figure software budget. At 10 to 200 employees you end up paying for a hundred features to use nine of them. LlamaPress builds the fourth option: software shaped to your process, at a price shaped to your size. See [pricing](https://llamapress.ai/pricing) for what that costs. ## Questions buyers ask us ### How much does client onboarding software from LlamaPress cost? You can upload your checklist and get a working first version free through Excel to App. Ongoing plans are priced for small and mid-sized firms rather than enterprises, and current tiers are listed on our [pricing page](https://llamapress.ai/pricing). There is no implementation fee and no per-seat surprise at renewal. ### How long does it take to go from spreadsheet to a live onboarding system? The first working version is built by Leonardo in your first session, usually within the hour. Most teams spend a few days refining stages, fields, and nudge wording, then run one real client through it before switching over fully. Weeks, not quarters. ### Do my clients get their own portal? Yes. Each client gets a login where they see their progress, upload requested documents, fill required fields, and check what is outstanding. They see only their own onboarding, and your team controls exactly which stages are client-visible. ### We handle sensitive client data. How is that treated? Your application runs on its own dedicated instance with its own database, so client records are never pooled with other companies' data. Documents are stored with access controls and every access is logged. For regulated industries such as healthcare or financial services, talk to us on the [contact page](https://llamapress.ai/contact) about your specific compliance requirements before you build. ### Who owns the software and the data? You do. The application is yours, the database is yours, and your data is exportable at any time. Paid plans include access to the source code, so you are never locked into us to keep the system you built. Start Today ## Your checklist is the spec. Upload it. The spreadsheet you shepherd by hand already describes your ideal onboarding. Leonardo will build the software version, with owners, a client portal, and nudges that never forget to follow up. [Upload Your Onboarding Checklist](https://llamapress.ai/excel-to-app) [Ask a Question First](https://llamapress.ai/contact) ============================================================================== # Construction Software Built From Your Own Spreadsheets Source: https://llamapress.ai/construction ============================================================================== # Construction Software Built From Your Own Spreadsheets > Estimating, bidding, job tracking, and change order software built by LlamaPress from the spreadsheets your construction company already uses. See how Leonardo turns them into real apps. Source: https://llamapress.ai/construction | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Estimating, bidding, job tracking, and change order software built by LlamaPress from the spreadsheets your construction company already uses. See how Leonardo turns them into real apps. [Back to all articles](https://llamapress.ai/blog) The Problem ## Your company runs on spreadsheets that were never built for this The estimator opens the bid spreadsheet, copies last month's tab, and starts adjusting line items. Unit prices, supplier quotes, labor rates, and the notes from three phone calls all live in different columns, and one wrong paste wipes a week of work. When the bid goes out, nobody is fully sure the numbers add up. The spreadsheet says they do, until the job is won and the real costs start coming in. Once the job starts, tracking moves to another spreadsheet. Change orders get logged in a third. The project manager updates his copy, the office runs hers, and the owner asks for a status update that requires three people to reconcile before anyone answers. Subcontractor documents, inspection records, and daily logs live in email threads and glove boxes. This is not a people problem. Your team is skilled and working hard. The tools force them to be the database. The estimate, the bid, the job, and the invoice are all the same job of work, but the spreadsheet keeps each one in its own fragile world, glued together by someone's memory. The fix is software shaped to your actual process, built from the files you already use. Not a platform that takes a year to implement. Not a tool that forces your workflow into someone else's template. ![Construction blueprints and plans spread across a table, the estimating spreadsheet of the physical world](https://images.unsplash.com/photo-1542621334-a254cf47733d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxjb25zdHJ1Y3Rpb24lMjBibHVlcHJpbnR8ZW58MHx8fHwxNzc1NzgwNjI1fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Clay Banks](https://unsplash.com/@claybanks?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/blueprint-4nulm-JcYVg?utm_source=leonardo_rails_app&utm_medium=referral) What We Build ## Real apps for the work your company actually does LlamaPress builds custom software for construction and contracting teams, usually starting from the spreadsheet that already runs the process. Here is what that looks like in practice. ### Estimating Your line items, unit prices, and labor rates become structured data with a history. No more copy-paste tabs. Changes to a price update everywhere that price is used, and the math is checked by the system, not by a tired estimator at midnight. ### Bid & Tender Management Every bid becomes a record with a status, a due date, and attached documents. The team sees which bids are out, which are waiting on a supplier quote, and which won. "Where is the bid?" stops being a question anyone has to ask. ### Job Tracking One record per job with budget, progress, documents, and key dates. The project manager updates it on site, the office sees it instantly, and the owner gets a real status instead of a reconciliation project. ### Change Orders Change requests logged with their scope, cost impact, and approval status. No more hunting through email for the version that got signed. The trail is attached to the job, and the budget updates the moment a change is approved. ### Subs & Suppliers Subcontractor and supplier records with certificates of insurance, licenses, and expiring documents tracked. The system reminds you before a certificate lapses, instead of finding out during an inspection. ### Project Reporting Estimates vs. actuals, job profitability, and bid win rates reported from the same data your team enters daily. The monthly owner's report that took a day of spreadsheet surgery now takes minutes. How It Works ## From spreadsheet to construction software, with Leonardo Leonardo is LlamaPress's AI builder. It reads the spreadsheet the way a developer would read a spec, then builds the software around it. You can start for free and see the first working version in your first session. 1 ### Upload the spreadsheet you use today Head to [Excel to App](https://llamapress.ai/excel-to-app) and upload your estimate, bid tracker, or job log exactly as it is. Tabs, formulas, color coding, notes in cells. Leonardo reads the columns, the logic, and the statuses you apply by hand. 2 ### Leonardo builds the first working version Your spreadsheet becomes an application: a job record for each project, guided statuses, document attachments, and the reports your office actually runs. It runs on a real database from day one, so nothing lives in someone's head or inbox anymore. 3 ### Refine it in plain English "Subcontractors need a COI expiry field." "Add a change order approval step." "Only the owner sees profitability." You describe the change, Leonardo makes it. The process logic lands exactly as your best estimator or PM would explain it. 4 ### Go live with your team Invite your estimators, project managers, and office staff, and retire the spreadsheet. The app keeps evolving as your process does, because changing it is a conversation rather than a development contract. ## Why not just buy an existing system? Most contractors have already looked at the big platforms and the generic tools. Both miss the point in different ways. ### Enterprise construction platforms Powerful, and priced for large contractors with an IT team and months of implementation. A mid-sized company ends up paying for modules it will never switch on, then waits for a change to a workflow it already has working. ### Generic project trackers A shared to-do list with a nicer interface than your spreadsheet. It still has no idea that a change order affects the budget or that a bid needs three supplier quotes before it goes out. Your process logic stays in someone's head. ### Better spreadsheets Conditional formatting and locked cells can go only so far. The moment two people update the same file, or a document needs to attach to a job, the spreadsheet stops being the tool and starts being the bottleneck. LlamaPress builds the option that fits: software shaped to your company's process, at a price shaped to your size. See [pricing](https://llamapress.ai/pricing) for what that costs. ## Questions construction teams ask us ### How long does it take to go from spreadsheet to a live system? The first working version is built by Leonardo in your first session, usually within the hour. Most teams spend a few days refining estimates, statuses, and reports, then run one real job through it before switching over fully. Weeks, not a quarter. ### Will my estimating formulas carry over? Yes. The math in your spreadsheet becomes real logic in the app, and it is applied consistently instead of relying on someone copying a formula correctly. Totals, markups, and unit conversions are calculated by the system from your actual line items. ### Can our project managers work from the field? Yes. The app runs in any browser, so a project manager on site with a phone or tablet can update job status, log documents, and attach photos. The office sees the update the moment it is saved. ### We handle confidential bid and pricing data. How is that protected? Your application runs on its own dedicated instance with its own database, so your pricing and bids are never pooled with other companies' data. Access is controlled per role and every access is logged. ### Who owns the software and the data? You do. The application is yours, the database is yours, and your data is exportable at any time. Paid plans include access to the source code, so you are never locked into us to keep the system you built. Start Today ## Your spreadsheet is the spec. Upload it. The estimate or job tracker you maintain by hand already describes your ideal software. Leonardo will build the real version, with structured jobs, guided statuses, and reports that run themselves. [Upload Your Spreadsheet](https://llamapress.ai/excel-to-app) [Ask a Question First](https://llamapress.ai/contact) ============================================================================== # Convert an Excel Calculator to a Web Page Source: https://llamapress.ai/convert-an-excel-calculator-to-a-web-page ============================================================================== # Convert an Excel Calculator to a Web Page > An HTML export gives you the answers, not the maths. Here is what it takes to turn an Excel calculator into a working web page, which formulas survive, and how to publish it without giving away your pricing logic. Source: https://llamapress.ai/convert-an-excel-calculator-to-a-web-page | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) An HTML export gives you the answers, not the maths. Here is what it takes to turn an Excel calculator into a working web page, which formulas survive, and how to publish it without giving away your pricing logic. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 You cannot convert an Excel calculator to a web page with a file converter. HTML has no calculation engine, so any converter gives you the last answer your spreadsheet worked out, frozen. To get a page where a visitor types their own numbers and gets their own answer, the formulas have to be re-expressed as code. That takes minutes with AI reading the workbook, or a day or two by hand. The decision that matters more than the method is where the maths runs, because a calculator built the obvious way publishes your pricing formula to anyone who opens their browser's dev tools. In short - A converter exports values. A calculator needs the formulas rebuilt as code, which is a different job. - Arithmetic, IF, lookups, date maths and SUMIF all translate cleanly. Goal Seek, Solver, VBA and circular references do not. - If the maths runs in the browser, your formula is readable by anyone. If your margin is in it, run it on the server. - Rebuilding is also the only honest audit your workbook has ever had. Expect to find at least one wrong formula. I have rebuilt a lot of these. A quoting calculator, a freight rate sheet, a loan affordability model, a materials estimator. They all start the same way. Somebody sends me a workbook, points at cell D42 and says "that number is the whole business". They are usually right, and that is exactly why the conversion needs more care than a table export. ## Why a converter cannot do this A spreadsheet is two things stacked on top of each other. There are the values you see, and underneath them there are the formulas that produced the values. When you save a workbook as a web page, or run it through any [Excel to HTML converter](https://llamapress.ai/excel-to-html), only the top layer travels. The formula is evaluated once and thrown away. So the page you get shows 14,820 in the total cell forever. Change an input and nothing happens, because there is nothing there to recalculate. That is the right result for a price list and the wrong result for a calculator. Our own converter says so on the page, because the alternative is a visitor discovering it after they publish. ## What a calculator actually needs Take your workbook apart into four things before anyone writes code. This is twenty minutes of work and it removes most of the risk. **The inputs.** Which cells does a human actually type in? In most workbooks it is a surprisingly small number, often five to fifteen, scattered across a sheet built for the person who made it. Each one becomes a form field, and each one needs a type, a unit and a sensible range. **The constants.** The markup, the labour rate, the tax percentage, the minimum order. These live in cells too, often in a corner of the sheet or on a tab called Settings. In an app they belong in one place that an admin can edit without touching the maths. **The lookup tables.** A VLOOKUP against a price band or a postcode zone is data, not logic. Those tables become database tables, and updating a price becomes editing a row rather than editing a formula. **The one output that matters.** Most calculators have one headline number and several supporting ones. Name it, and name the intermediate steps you want shown. A calculator that only prints a total is much less persuasive than one that shows its working. ## Which formulas survive the move | In Excel | On a web page | Notes | | --- | --- | --- | | Arithmetic, percentages | Direct | Watch rounding. Excel rounds for display, code does not. | | IF and nested IF | Direct | Deep nesting becomes readable rules, which is an improvement. | | VLOOKUP, XLOOKUP, INDEX/MATCH | Becomes a table | The lookup range becomes a database table you can edit. | | SUMIF, COUNTIF, SUMPRODUCT | Direct | Becomes a filtered sum over the same rows. | | Date maths, NETWORKDAYS | Direct, with care | Holidays become a list. Time zones become a real decision. | | Goal Seek | Rewritten | Becomes a solve loop in code, or algebra if the formula inverts. | | Solver, what-if tables | Rewritten | Doable, and the most expensive part of any such build. | | VBA macros | Rewritten | Microsoft: "macros do not run in a browser window", so there is nothing to port. | | Circular references | Must be resolved | Usually an iterative calculation. Someone has to state the intent. | | RAND, NOW, volatile functions | Change meaning | A value that changes every recalculation needs a fixed rule instead. | Formula by formula mapping in more depth, including the macro question, is in [whether you can keep your Excel formulas and VBA macros](https://llamapress.ai/can-you-keep-your-excel-formulas-and-vba-macros-when-you-convert-to-a-web-app). ## The part nobody warns you about: where the maths runs This is the section I would read twice. A web calculator can do its arithmetic in one of two places, and the choice decides whether your formula stays yours. **In the browser.** The formula is written into the page as JavaScript. It is fast, it works offline, and it is completely readable. Anyone can press F12, open the sources panel, and read your markup percentage, your labour rate and every band in your pricing table. There is no way to prevent this. Minifying the code makes it slightly annoying rather than secret. **On the server.** The page sends the inputs away, the maths happens somewhere the visitor cannot see, and the answer comes back. The formula never leaves your machine. It needs a connection, and it is what you want the moment the formula is a competitive advantage. Pick by asking one question. If a competitor read this formula, would it cost you anything? A mortgage repayment calculator uses public maths, so put it in the browser and enjoy the speed. A quoting engine that encodes fifteen years of knowing what a job really costs belongs on the server. Worth saying plainly, because people assume the spreadsheet already protects them: it does not. Microsoft states that "worksheet level protection isn't intended as a security feature". A password on a sheet stops accidental edits. It is not a lock on your logic, and it never was. ## Three ways to build it ### 1. Have AI read the workbook This is what we do. The agent opens the file, finds the input cells, follows the formula chain to the output, pulls the lookup ranges out into tables, and writes the calculator. A single calculator is usually working the same day. Upload the file to the [Excel to website builder](https://llamapress.ai/excel-to-website) if the calculator is for customers, or the [Excel to app converter](https://llamapress.ai/excel-to-app) if it is a tool your team uses to quote. Both are free to try. ### 2. Rebuild it by hand A developer reads the formulas and writes them out. For a calculator with ten inputs and no Solver, that is a day or two. It is the right choice when the calculator is going into an existing site with its own framework and conventions. ### 3. Host the workbook and let people use it You can embed a live workbook so visitors interact with the real thing. It keeps the maths working with no rebuild, and it comes with real limits: Microsoft caps an embedded workbook at 10 MB and 1,000 concurrent viewers, the page cannot be styled as your own, and search engines cannot read any of it. The five ways to put a sheet on a page are compared in [how to display an Excel spreadsheet on a web page](https://llamapress.ai/how-to-display-an-excel-spreadsheet-on-a-web-page). ## Rebuilding is an audit, so budget for surprises Every time we do this, something in the workbook turns out to be wrong. A range that stops one row short of the data. A hard coded number sitting inside a formula where a reference should be. A rate that was updated on one tab and not the other. This is not unusual and it is not a reflection on whoever built it. Ray Panko's field audits at the University of Hawaii found errors in at least 86% of the operational spreadsheets examined since 1997, summarised in [his review of spreadsheet error studies](https://arxiv.org/abs/0802.3457). Plan for the conversation where you decide whether the web version copies the existing behaviour or fixes it. Copying is sometimes right, because the existing numbers are what your customers have been quoted. ## A public calculator or an internal one? The same workbook makes two very different products, and the difference is who types in the numbers. A **public calculator** sits on your website. Visitors price their own job, see a number, and send you an enquiry attached to it. It is a lead generator and it should be indexed by Google, which is a good reason not to use an embedded workbook. That is the [convert Excel to a website](https://llamapress.ai/excel-to-website) job. An **internal calculator** is used by your own team to quote. It needs sign-ins, saved quotes, version history and probably an approval step above a certain value. That is the [Excel to app converter](https://llamapress.ai/excel-to-app) job, and there is a worked example in [the steel contractor whose estimating workbook we rebuilt](https://llamapress.ai/we-rebuilt-a-contractors-excel-logic-as-an-app), where estimates ended up 62% faster. ## Frequently asked questions ### Can I convert an Excel calculator to a web page for free? You can build one free and see it working before paying anything. Upload the workbook to the [Excel to website builder](https://llamapress.ai/excel-to-website) and describe the calculator in a sentence. What you cannot do free is convert it with a file converter, because that produces a static page with no maths in it. ### Will my formulas keep working on the web page? The logic keeps working, expressed as code rather than as cell references. The formulas themselves do not travel, because a browser has no calculation engine. In practice the rule gets written once instead of being copied down 4,000 rows, which is usually the biggest single improvement. ### How do I stop people seeing my pricing formula? Run the calculation on the server rather than in the browser. Any calculator whose maths happens in JavaScript can be read by opening dev tools. If your margin is in the formula, say so before anyone starts building, because it changes the design. ### What about Goal Seek and Solver? Both are rewritten rather than converted. Goal Seek becomes a small solve loop, or plain algebra when the formula can be inverted. Solver is real work and it is the part of these projects most likely to be underestimated. ### Can the calculator save what people enter? Yes, and this is usually the reason it pays for itself. Each calculation can be stored with the inputs and the answer, so you get a record of what people are pricing. That is an application rather than a page, which is a small step up from a calculator once the calculator exists. ### How long does it take? A calculator with a handful of inputs and no Solver is often working the same day with AI reading the workbook, and a day or two by hand. Add time for the audit conversation, because you will find something wrong in the original. ### Turn the model into a working calculator Upload the workbook and AI reads the inputs, the constants and the formula chain, then builds the calculator. Free to try, no credit card. [A calculator for my customers](https://llamapress.ai/excel-to-website) [One for my own team](https://llamapress.ai/excel-to-app) Formula heavy or full of Solver? [Contact us](https://llamapress.ai/contact). Build sprints start at $2,000. Sources: Microsoft, [Protect a worksheet](https://support.microsoft.com/en-us/office/protect-a-worksheet-3179efdb-1285-4d49-a9c3-f4ca36276de6); Microsoft, [Differences between using a workbook in the browser and in Excel](https://support.microsoft.com/en-us/office/differences-between-using-a-workbook-in-the-browser-and-in-excel-f0dc28ed-b85d-4e1d-be6d-5878005db3b6); Microsoft, [Embed your Excel workbook on your web page or blog](https://support.microsoft.com/en-us/excel/embed-your-excel-workbook-on-your-web-page-or-blog-from-sharepoint-or-onedrive-for-business); R. Panko, [Spreadsheet Errors: What We Know. What We Think We Can Do](https://arxiv.org/abs/0802.3457), arXiv 0802.3457. All checked September 2026. ============================================================================== # Convert an Excel Spreadsheet to a Web Form, Free Source: https://llamapress.ai/convert-your-excel-spreadsheet-into-a-web-form-your-team-actually-fills-in ============================================================================== # Convert an Excel Spreadsheet to a Web Form, Free > Upload the sheet and get a web form that writes straight to a database, free to try. Which sheets are really forms, what survives the move, and how to keep your validation rules. Source: https://llamapress.ai/convert-your-excel-spreadsheet-into-a-web-form-your-team-actually-fills-in | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Upload the sheet and get a web form that writes straight to a database, free to try. Which sheets are really forms, what survives the move, and how to keep your validation rules. [Back to all articles](https://llamapress.ai/blog) There is a particular kind of spreadsheet that was never really a spreadsheet. It has a header row, a few dozen columns, and a strong opinion about what belongs in each one. Nobody analyses anything in it. People fill it in. Then they email it back, and somebody retypes what they sent into the sheet that matters. If that describes the file on your desktop, converting it to a web form is one of the highest-return changes available to you, and it is a much smaller project than replacing your whole operation with software. I spent years at McKinsey watching good operators lose whole afternoons to reconciling returned workbooks. The fix is not a better template. The fix is to stop shipping the file at all. ![A spreadsheet of structured data on a laptop screen, the kind of Excel intake sheet that gets emailed out and filled in by hand](https://images.unsplash.com/photo-1554224155-8d04cb21cd6c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&q=80&w=1080) Photo by [Carlos Muza](https://unsplash.com/@carlosmuza?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/laptop-computer-showing-c-application-hpjSkU2UYSU?utm_source=leonardo_rails_app&utm_medium=referral) Do it now, free Upload the sheet and AI builds the form from your columns in about 60 seconds. Pick by who fills it in. [My own team fills it in](https://llamapress.ai/excel-to-app) [Customers or the public fill it in](https://llamapress.ai/excel-to-website) ## How to Tell If Your Sheet Is Really a Form Not every spreadsheet should become a form. The ones that should share a few traits. Each row is one submission from one person about one thing: one order, one job, one candidate, one inspection. The columns are stable and have been for months. Most of the cells are typed in by a human rather than calculated. And crucially, at least some of the people entering data do not otherwise need to see the rest of the file. That last point is the one operators underweight. When you email a workbook to a subcontractor so they can add their three rows, you have handed them every other row in the file. Their pricing, your margins, the client who complained last month. A form gives you the three rows without the disclosure. Sheets that should stay sheets: financial models, anything where the value is in the formulas across rows, and genuine analysis workbooks. If your team spends its time reading the sheet rather than filling it, a form is the wrong tool. ## What Carries Over From the Spreadsheet More than people expect. The structure of a data-entry sheet is already most of a form specification, and it is worth being precise about the mapping. Your header row becomes the field list. Column order becomes the tab order, which matters more than it sounds when someone is entering forty of these on a Friday. Data validation dropdowns become select menus, and they arrive with the allowed values already decided, which is usually the part that takes longest when a form is designed from scratch. Number and date formatting becomes input typing, so the date entered on a phone in Manchester and the date entered on a desktop in Denver land in the database as the same thing. Conditional formatting is the interesting one. Amber-if-overdue and red-if-over-budget are business rules that someone encoded in colour because colour was the only mechanism available. In a form those become real logic: a warning, a required justification field, or a submission that routes to a manager. The rule was always there. It just could not do anything except change a cell's background. Protected ranges and locked cells map to permissions. If half your sheet is locked because you do not trust people to touch it, that is a permissions model you have already designed and enforced badly. ## What Changes, and Should The thing that genuinely improves is what happens after somebody hits submit. In the spreadsheet workflow, a completed file lands in an inbox and waits for a human to open it, sanity-check it, and copy it somewhere. That step is where things go missing, and it is entirely invisible on any process map because it lives in one person's habits. A web form writes a database row. The row has a timestamp, a submitter, and a status. You can query it. You can see that fourteen submissions came in this week and three are incomplete without opening anything. Nothing needs to be merged, because there was never a second copy. The other real change is validation that actually holds. Excel's data validation is advisory. It can be pasted straight through, and a pasted block will happily drop text into a date column and a negative number into a quantity field. A form rejects the submission and says why. That single difference removes most of the cleanup work that a person is currently doing by hand and calling "checking". ## Doing the Conversion Without Losing a Week The sequence that works, in order. Start with the sheet as it exists today, not the tidy version you keep meaning to build. The messy one is the accurate record of what your process actually requires, and the tidy one usually drops the two odd columns that exist because of a real edge case. Next, separate the fields people fill in from the fields the system should work out. This is the step that shrinks the form. A quantity and a unit price are entries. A line total is not. Anything currently held in a formula should be computed after submission, which also means it can no longer be overtyped by someone in a hurry. Then decide who submits and who reviews. Most intake sheets have two audiences pretending to be one. The submitter needs a short form and no access to anything else. The reviewer needs a list, filters, and the ability to send something back. Building both is what turns a form into a workflow, and it is the point at which the spreadsheet stops being missed. Finally, keep an export. People need to get data back out into Excel for reporting, and a conversion that removes that is a conversion people quietly route around. ### Upload the sheet. Get the form. Drop in the .xlsx, .xls, .xlsm, or .csv you currently email around. Leonardo reads the columns, the dropdowns, and the validation rules, and builds a web form that writes to a real database. Free to try, no credit card. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to a Human First](https://llamapress.ai/contact) ## Where Generic Form Builders Stop A standard form builder will get you the intake half quickly, and for a simple survey that is the right tool. The wall arrives when the submission needs to do something. An order form that has to check stock. An onboarding questionnaire where answer three decides whether questions seven through twelve appear. A job intake that must assign a crew and appear on next week's schedule. At that point you are describing an application with a form on the front of it. Most teams discover this three months in, after the form is embedded in six places, and the discovery is expensive. It is worth asking at the start whether the submission is the end of the process or the beginning of one. The related question is where the data lives. A form builder holding your submissions is a second system of record, and now somebody exports from it weekly into the spreadsheet that everyone still uses. That is the same reconciliation problem you started with, moved one step down the line. ## Frequently Asked Questions ### How do I convert an Excel spreadsheet to a web form? Upload the file to the [Excel to app converter](https://llamapress.ai/excel-to-app) and describe who fills it in. The AI reads your header row as the field list, your data-validation dropdowns as select options, and your number and date formats as input types, then generates a web form backed by a database table. You review it, ask for changes in plain English, and share the link. There is no spreadsheet to email afterwards. ### Can I convert an Excel spreadsheet to an online form for free? Yes. Uploading a spreadsheet and generating the first working version is free and does not need a credit card. You would only pay when you want the result running as your team's permanent tool with your own users and domain. ### Will my data validation and dropdown lists carry over? They do, and they get stricter. Excel's data validation can be defeated by pasting a block of cells over it. A web form validates on submission, so a bad date or an out-of-range number is rejected at the point of entry rather than found later by whoever cleans the file. ### Where do the form submissions go? Into a database table, one row per submission, with a timestamp and a submitter attached. You get a list view with filters and search, and you can still export to Excel whenever someone needs to build a report the old way. ### What is the difference between converting Excel to a web form and converting it to a web app? A form covers intake: somebody outside the process sends you structured information. An app covers the whole process: intake, review, status, assignment, reporting. Most teams need a form first and grow into the app. If your sheet already has status columns and someone chasing them, you are past the form stage. The [Excel-to-app master guide](https://llamapress.ai/excel-to-app-master-guide) covers that larger move. ### Can external people fill in the form without a login? Yes. A public link works for subcontractors, applicants, and clients, and they see only the form. Your team gets logins and sees the submissions. That split is the security upgrade over emailing a workbook, because the file you currently send contains every other row in it. ============================================================================== # Convert Excel VBA to Web Application: Scale Beyond Macros Source: https://llamapress.ai/beyond-the-spreadsheet-converting-excel-vba-to-web-applications ============================================================================== # Convert Excel VBA to Web Application: Scale Beyond Macros > How to convert an Excel workbook with VBA macros to a web application: why macro-driven workbooks stall growth, what a web app replaces, and how to make the move. Source: https://llamapress.ai/beyond-the-spreadsheet-converting-excel-vba-to-web-applications | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) How to convert an Excel workbook with VBA macros to a web application: why macro-driven workbooks stall growth, what a web app replaces, and how to make the move. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert In my years at McKinsey, we often encountered a recurring phenomenon in mid-market firms: the mission-critical spreadsheet. It usually starts innocently, as a tool to solve a specific problem. But as your business grows, that tool becomes a "VBA Trap" that holds your operations hostage. ## The VBA Trap: A Legacy of "Good Enough" The agility that made Excel attractive at $5M in revenue becomes a straightjacket at $50M. You aren't just using a tool; you're managing a liability. **Excel to web migration** is no longer a technical preference, it’s a strategic prerequisite for scaling. ![Complex business data and spreadsheets](https://images.unsplash.com/photo-1726649339367-c2577a28881b?q=80&w=2000) Photo by [Sebastian Herrmann](https://unsplash.com/@sebastianherrmann?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## 1. The "Bus Factor" and Operational Risk In **operational risk management**, we talk about the "Bus Factor", which measures how many key individuals need to be hit by a bus before your company stops functioning. For most VBA-reliant businesses, that number is one. VBA code is notoriously opaque. It lacks the documentation and version control of modern software. When the person who wrote those macros moves on, your business logic is locked in a black box. A web application externalizes that logic into a maintainable, documented codebase that the whole organization can rely on. ### The Strategic Cost of Inaction "The most expensive code in the world is the macro that no one understands but everyone depends on. It represents a single point of failure that can halt a multi-million dollar operation in an afternoon." ## 2. Escaping the "Version Jungle" We've all seen it: `Inventory_Final_v3_revised.xlsm`. In a spreadsheet-centric workflow, data integrity is an illusion. You have multiple versions of "the truth" floating around in email attachments. A centralized web application provides a single source of truth. With real-time updates and a relational database backend, stakeholders see the same data at the same time. You stop arguing about whose numbers are correct and start making decisions based on reality. ![Data analysis and visualization](https://images.unsplash.com/photo-1526628953301-3e589a6a8b74?q=80&w=2000) Photo by [Stephen Dawson](https://unsplash.com/@stephen_dawson?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## 3. Security, Concurrency, and Infrastructure Limits Excel wasn't designed for multi-user concurrency. When two users edit simultaneously, the file locks or corrupts. Beyond productivity loss, **VBA security risks** are significant. Macros are a legacy vector for malware, and spreadsheet files offer zero auditability. Who changed that pricing margin? Why? In a spreadsheet, you'll never know. A database-backed application provides role-based access control and comprehensive audit trails, restoring institutional control over sensitive data. ## The Leonardo Solution: Precision Modernization At LlamaPress, we don't just "copy" your spreadsheet into a website. We perform a strategic distillation of your logic. Using **custom Ruby on Rails development**, we build platforms that mirror your unique processes while eliminating the technical debt of legacy VBA. Wondering what happens to each formula and each macro in the move? Our guide on [keeping your Excel formulas and VBA macros when you convert to a web app](https://llamapress.ai/can-you-keep-your-excel-formulas-and-vba-macros-when-you-convert-to-a-web-app) maps VLOOKUPs, SUMIFS, button macros and UserForms to their web app equivalents, one by one. ![Modern business technology solution](https://images.unsplash.com/photo-1592414987923-7eada102569d?q=80&w=2000) Photo by [Bastian Pudill](https://unsplash.com/@bastianpudill?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) Our approach focuses on preserving the "intellectual property" within your macros, specifically the unique rules and calculations that give you a competitive edge, while delivering them through a secure, high-performance interface that empowers your team. ## Stop Managing Spreadsheets. Start Scaling. Ready to turn your fragile VBA macros into a robust, scalable web application? Let's discuss your strategic migration. [Book a Strategic Briefing](https://llamapress.ai/contact) [Learn the Process](https://llamapress.ai/how-it-works) ============================================================================== # Converting Excel to a Database: Secure and Scale Source: https://llamapress.ai/converting-excel-to-a-database-how-to-secure-your-business-data-and-scale ============================================================================== # Converting Excel to a Database: Secure and Scale > Moving from spreadsheets to a database is critical for security and growth. Learn how to convert Excel to a database with LlamaPress AI to eliminate versioning errors and secure your data. Source: https://llamapress.ai/converting-excel-to-a-database-how-to-secure-your-business-data-and-scale | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Moving from spreadsheets to a database is critical for security and growth. Learn how to convert Excel to a database with LlamaPress AI to eliminate versioning errors and secure your data. [Back to all articles](https://llamapress.ai/blog) ## The Spreadsheet Wall Every growing business eventually hits the Spreadsheet Wall. It is that moment when your "v4\_FINAL\_COPY\_REVISED.xlsx" file becomes a liability rather than an asset. You have likely experienced the frustration of a read-only lock when a colleague leaves a file open or the panic of discovering a broken formula that has been corrupting your financial reports for months. When you decide to [convert excel to db](https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software), you are not just changing a file format. You are fundamentally upgrading the central nervous system of your business. Spreadsheets are cell-based and fragile. Databases are record-based and robust. "In a spreadsheet, data is a suggestion. In a database, data is a contract." ![Data Migration Process](https://images.unsplash.com/photo-1579226905180-636b76d96082?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkYXRhJTIwbWlncmF0aW9ufGVufDB8fHx8MTc3NTc4MDQ1MHww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Adam Nowakowski](https://unsplash.com/@studentofprana?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Why Migration is No Longer Optional Continuing to rely on spreadsheets for mission-critical operations carries a [hidden cost](https://llamapress.ai/the-hidden-cost-of-your-xlsx-document-viewer-scaling-without-excel-in-2025) that grows exponentially with your data volume. ### Zero Audit Trail Excel cannot tell you who changed a price or when a record was deleted. Databases provide a permanent history of every single action. ### Formula Fragility One accidental keystroke in a hidden cell can break your entire business logic. Databases centralize logic in code where it belongs. ### Read-Only Locks Stop waiting for "User X" to close the file. Databases support thousands of simultaneous users reading and writing without conflict. ### Performance Lag When your spreadsheet hits 50,000 rows, it starts to crawl. A database handles millions of rows with sub-second response times. ## The Logic-First Approach Traditional migration involves hiring a consultant to spend months mapping columns to tables. At LlamaPress, we use Leonardo AI to understand the intent behind your data first. - Automated Schema Inference - Relational Mapping for Complex Objects - Integrity Checkpoints for Dirty Data Leonardo Active Analyzing: sales\_q4\_2024.xlsx... > 85% duplicate rows detected in 'Customer Name' > Suggesting normalized 'Customers' table SQL: CREATE TABLE customers (id SERIAL PRIMARY KEY, name VARCHAR(255)...); Structure validated. Ready for migration. ### Industry Focus We specialize in complex data environments where accuracy is non-negotiable. #### Construction Transform fragile take-off sheets into robust estimating engines that protect your margins. #### Logistics Move from manual load tracking to real-time relational visibility across your entire fleet. ![Business Scaling](https://images.unsplash.com/photo-1730382624709-81e52dd294d4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMGdyb3d0aHxlbnwwfHx8fDE3NzU3ODA0NTB8MA&ixlib=rb-4.1.0&q=80&w=1920) Active Intelligence Indicator ## Ready to Scale Past the Spreadsheet Wall? Stop managing files. Start running an application. Learn [how to modernize your legacy data](https://llamapress.ai/beyond-the-spreadsheet-how-to-open-xls-files-and-modernize-your-legacy-data) today with LlamaPress. [Migrate to Database](https://llamapress.ai/excel-to-app) Zero downtime migration. Enterprise-grade security. ============================================================================== # Cost to Replace a Spreadsheet With a Custom Web App Source: https://llamapress.ai/how-much-does-it-cost-to-replace-a-spreadsheet-with-a-custom-web-app ============================================================================== # Cost to Replace a Spreadsheet With a Custom Web App > Real 2026 prices to replace a spreadsheet with a custom web app: per-user no-code plans, $2,000 AI-built sprints, freelancer and agency quotes, running costs. Source: https://llamapress.ai/how-much-does-it-cost-to-replace-a-spreadsheet-with-a-custom-web-app | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Real 2026 prices to replace a spreadsheet with a custom web app: per-user no-code plans, $2,000 AI-built sprints, freelancer and agency quotes, running costs. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Updated September 2026 As of this writing, replacing a spreadsheet with a custom web app costs between $2,000 and $250,000, depending on who builds it. A no-code builder charges per user instead: 15 users x $20 on Airtable's Team plan is $300 a month, or $10,800 over 36 months. An AI-built custom app from LlamaPress starts with a $2,000 build sprint, then hosting from $9.99 a month with no per-user fees. A freelance developer quotes $10,000 to $50,000, and a traditional agency quotes $40,000 to $250,000. The AI route is cheaper because the discovery work is already done: your spreadsheet is the spec. In short - A no-code builder is the cheapest way to start, and it charges per user forever: 15 Airtable Team seats cost $10,800 over three years. - An AI-built custom app from LlamaPress starts at a $2,000 sprint plus hosting from $9.99 a month, with no seat fees. - Freelancers quote $10,000 to $50,000. Agencies quote $40,000 to $250,000, and most of that fee pays for discovery. - Price moves with the tabs that hold records, the formulas, the users and roles, integrations, phone use, reports, and data migration. - Upload the spreadsheet at /excel-to-app and you can have a scoped, fixed-price quote in one day. I spent years at McKinsey putting numbers on operational decisions like this one. Now I sit with owners of contractors, distributors, and service firms who run the business on one spreadsheet. Every one of them wants two numbers: what the replacement costs, and what the spreadsheet costs them today. Our team has converted more than 400 spreadsheets into apps, so the figures below come from real quotes. Where I multiply, I show the inputs. ![Office desk with a smartphone and printed financial charts, the kind of cost review an owner does before replacing a spreadsheet](https://images.unsplash.com/photo-1707157284454-553ef0a4ed0d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxjYWxjdWxhdG9yJTIwaW52b2ljZSUyMHNwcmVhZHNoZWV0JTIwZGVzayUyMGNvc3R8ZW58MHx8fHwxNzg4MzYxODgyfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Jakub Żerdzicki](https://unsplash.com/@jakubzerdzicki?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/office-desk-with-smartphone-and-financial-charts-heiYgqp0Tsk?utm_source=leonardo_rails_app&utm_medium=referral) ## How much does it cost to build a custom web app to replace a spreadsheet? Four routes exist, and each has its own price shape. The no-code route is a subscription. The other three are a build fee up front, then hosting. **No-code builder, priced per user.** Airtable, Power Apps, and AppSheet let you rebuild a spreadsheet as an app without a developer. You pay for every user every month. As of September 2026, Airtable's Team plan is $20 per user per month billed annually. Fifteen users x $20 is $300 a month, which is $10,800 over 36 months (arithmetic). Microsoft lists Power Apps Premium at $22 per user per month paid yearly, so 15 users cost $330 a month. The tool is cheap to start and gets expensive as the team grows. You also build the app yourself. We compared the main tools in [the best Excel to web app converters in 2026](https://llamapress.ai/the-best-excel-to-web-app-converters-in-2026-compared-honestly). **AI-built custom app.** This is the route we sell, so weigh my view with that in mind. At LlamaPress, a done-for-you build sprint starts at $2,000. After the build, the app runs on a hosted plan from $9.99 a month, with no per-user fees. Fifteen users cost the same as three. The code is a standard Ruby on Rails app in your own GitHub account, and a human engineer reviews every build. You can [upload the spreadsheet](https://llamapress.ai/excel-to-app) and see a first version before you pay anything. Build pricing is on the [services page](https://llamapress.ai/services). **Freelance developer.** A freelancer building a modest internal app quotes $10,000 to $50,000 and takes two to four months. Quality depends on the individual. You will spend hours explaining the spreadsheet before they write a line of code. **Traditional agency.** An agency quotes $40,000 to $250,000 and takes three to nine months. Much of that fee pays for discovery workshops, wireframes, and a project manager. For generic custom-app cost bands and the ownership questions to ask any vendor, read our guide to [what custom apps for business cost](https://llamapress.ai/custom-apps-for-business-what-they-cost-and-when-you-need-one). The one-sentence reason the AI route costs less: discovery is already done, because the spreadsheet is the spec. Your columns are already the data model, and your formulas are already the rules. An agency spends weeks pulling that out of your staff in workshops. Leonardo, our coding agent, reads it from the file. If you have not yet decided to replace the spreadsheet, start with [should you rebuild your Excel workbook as software or keep using Excel](https://llamapress.ai/should-you-rebuild-your-excel-workbook-as-software-or-keep-using-excel). ## What drives the price up or down? Seven things move the price on every route. Tabs that hold records matter most, because each one becomes a table with its own screens. Formulas matter next, because every rule has to be rebuilt and tested. The other five add work in smaller steps. | Driver | Keeps the price low | Pushes the price up | | --- | --- | --- | | Tabs that hold records | 1 to 3 tabs such as Orders, Customers, Products | 8 or more tabs with VLOOKUPs between them | | Formulas and rules | Sums, lookups, a few IF statements | Hundreds of nested formulas, VBA macros, approval rules | | Users and roles | One team, one role, under 10 people | Client logins, field staff, 4 or more roles with different views | | Integrations | None, or a CSV export | QuickBooks, email, SMS, card payments | | Phone use | Desk only | On-site use on phones, offline, photo uploads | | Reports and PDFs | On-screen lists and filters | Branded PDF quotes, scheduled emailed reports | | Data migration | A few hundred clean rows | Years of history across tabs with duplicates to clean | Two drivers surprise people. Client logins cost more than staff logins on a no-code builder, because vendors sell them as a separate seat type. Formulas also cost more there, because each builder has its own formula language and someone rewrites every rule by hand. ![Hand working on a laptop that shows a data spreadsheet on a desk, like the estimating or order tracker files priced in the examples below](https://images.unsplash.com/photo-1784334312040-5b3d4cf78b88?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxjb250cmFjdG9yJTIwZXN0aW1hdGluZyUyMG9mZmljZSUyMGxhcHRvcCUyMHNwcmVhZHNoZWV0fGVufDB8fHx8MTc4ODM2MTg4NXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Gorilla ROI Data Connector](https://unsplash.com/@gorillaroi?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/hand-operating-laptop-displaying-data-spreadsheet-on-a-desk-qLf_ML_Rfq8?utm_source=leonardo_rails_app&utm_medium=referral) ## Three worked examples with a price on each route Each example below names its drivers, then gives the band on every route. ### 1. Estimating spreadsheet for a 12-person contractor The file has four tabs: Rates, Labor, Materials, and Quote. The Quote tab holds about 300 formulas that pull unit rates, apply markup by job type, and total the bid. Twelve people use it in two roles: estimators build quotes, and the owner approves anything over $50,000. The output is a branded PDF quote. Drivers: heavy formulas, two roles, PDF output, and a small migration. No-code builders struggle here, because all 300 formulas need rewriting by hand. On the AI route, expect one to three build sprints starting at $2,000 each. A freelancer lands in the middle of the $10,000 to $50,000 band, and an agency at the low end of $40,000 to $250,000. We rebuilt this kind of spreadsheet for RSB, a steel contractor, in six weeks: estimates 62% faster, at 40% lower cost per estimate. ### 2. Inventory and order tracker for a distributor with 8 users Three tabs hold records: Products, Orders, and Stock Movements. Formulas are light: stock on hand is receipts minus shipments, and a reorder flag fires below a minimum. Eight users work in three roles: warehouse staff, sales reps, and the owner. The warehouse wants to update stock from a phone, invoices need to reach QuickBooks, and customers want a shipping email. Migration is three years of orders, about 9,000 rows. Drivers: users and roles, phone use, two integrations, and a moderate migration. A no-code builder is a real option here. AppSheet Core is $10 per user per month, so 8 users x $10 is $80 a month (arithmetic), and AppSheet runs offline on phones. On the AI route, expect one sprint for the tracker and a second for QuickBooks and email. Freelancers and agencies land at the low end of their bands. For a head-to-head on this case, see [Glide vs Softr vs Airtable vs a custom build](https://llamapress.ai/glide-vs-softr-vs-airtable-vs-a-custom-build-for-an-internal-tool-from-excel). ### 3. Client onboarding checklist for an MSP with 3 staff and 40 clients One tab, Clients, has 40 rows and about 35 checklist columns: contract signed, admin credentials received, backups configured, and so on. A COUNTIF per row gives percent complete. Three staff edit the sheet, and 40 clients want to see their own row and upload documents. That client login is the main driver, with reminder emails and a tiny migration behind it. On a no-code builder, 40 client logins push you to a plan with client seats, such as Softr Pro at $99 a month. On the AI route, one sprint covers the checklist, the client portal, and the reminder emails. A freelancer lands at the low end of $10,000 to $50,000. Few agencies take a job this small, and the ones that do quote near $40,000. ## What does it cost to run afterwards? A custom app from LlamaPress runs on a hosted plan. As of September 2026, Starter is $9.99 a month, Pro is $21.99, and Business is $54.99. Yearly billing brings those to $7.99, $17.59, and $43.99. None of the plans charge per user, and the table below shows what that means for a 15-person team. | Route, 15 users | Per month | 36 months | Build fee | 3-year total | | --- | --- | --- | --- | --- | | Airtable Team, billed annually | 15 x $20 = $300 | $10,800 | $0, you build it | $10,800 | | Power Apps Premium, paid yearly | 15 x $22 = $330 | $11,880 | $0, you build it | $11,880 | | AppSheet Core | 15 x $10 = $150 | $5,400 | $0, you build it | $5,400 | | LlamaPress Pro hosting + one build sprint | $21.99 flat, any user count | $791.64 | $2,000 | $2,791.64 | All figures are list prices as of September 2026 and every 36-month number is arithmetic (monthly price x 36). Sources: [Airtable pricing](https://airtable.com/pricing), [Microsoft Power Apps pricing](https://www.microsoft.com/en-us/power-platform/products/power-apps/pricing), [Google AppSheet pricing](https://about.appsheet.com/pricing/), and our own [pricing page](https://llamapress.ai/pricing). Read the table fairly. The no-code rows assume you build the app yourself and the spreadsheet fits the tool's limits. The LlamaPress row assumes one sprint, and a bigger spreadsheet needs more. Even at three sprints, the custom total is 3 x $2,000 + $791.64 = $6,791.64 (arithmetic), still below the 15-seat Airtable total. AppSheet Core at $10 per user stays cheap for a small team with a simple spreadsheet. ## What does staying in Excel cost? Staying put has a price too, and most owners have never written it down. Count the hours per week your team spends re-keying data between the spreadsheet and other systems. Add the hours spent reconciling copies and hunting for the latest version. Multiply by a loaded hourly rate, then by 52. As an illustration with made-up inputs, 2 people x 3 hours a week x 52 weeks is 312 hours. At $40 an hour, 312 hours is $12,480 a year (arithmetic). Then add error exposure. [Ray Panko's research at the University of Hawaii](https://arxiv.org/abs/0802.3457) found errors in 91% of the 54 operational spreadsheets audited in field audits since 1997. Panko also reports cell error rates between 0.38% and 2.5%. A Quote tab with 300 formulas would therefore hold roughly 1 to 8 wrong cells (arithmetic: 300 x 0.0038 and 300 x 0.025). On a $400,000 bid, one wrong cell costs more than any route in the table above. ## When is a $0 fix inside Excel the right answer? Sometimes the right quote is zero, and I would rather say so than sell a sprint. One person using the spreadsheet once a week should keep the spreadsheet. A team whose only pain is people overwriting each other can move the file to OneDrive or SharePoint and turn on AutoSave. Microsoft's co-authoring needs both. Intake problems often need a free Google Form or Microsoft Form that appends rows to the sheet. A process that changes every month should settle before anyone builds software around it. A custom app earns its cost where several people run a stable process many times a day and a wrong cell has a dollar figure. ## How do I get a real quote in one day? Upload the spreadsheet at [/excel-to-app](https://llamapress.ai/excel-to-app). The upload is free and needs no credit card. Leonardo reads every tab, column, and formula and produces a first working version. Your rows become real records in a PostgreSQL database, your team gets logins, and each tab becomes a screen. You click through that first version the same day. Then a LlamaPress engineer compares the first version with what your team needs: the approval step, the QuickBooks link, the PDF quote. That gap is the scope. You get a fixed-price sprint quote, starting at $2,000, before any money changes hands. The code lives in your GitHub account from the first commit. For what happens to each tab and formula, read [how to convert your Excel spreadsheet to a web app without rebuilding from scratch](https://llamapress.ai/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch). From Spreadsheet to Software ### Get a real price from the spreadsheet you already run. Upload the file that runs your estimating, orders, or onboarding. Leonardo builds a first version, an engineer scopes the rest, and you get a fixed price with no seat fees. [Get a Quote From My Spreadsheet](https://llamapress.ai/excel-to-app) [See Build Pricing](https://llamapress.ai/services) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your workbook with you. ## Frequently Asked Questions ### How much does it cost to build a custom web app to replace a spreadsheet? As of this writing, an AI-built custom app from LlamaPress starts at a $2,000 build sprint plus hosting from $9.99 a month. A freelance developer quotes $10,000 to $50,000 for the same spreadsheet. A traditional agency quotes $40,000 to $250,000. A no-code builder charges per user instead, so 15 users on Airtable Team cost $300 a month. ### How much does a custom app cost per month? A custom app from LlamaPress costs $9.99, $21.99, or $54.99 a month to host, depending on the plan, as of September 2026. Yearly billing lowers those to $7.99, $17.59, and $43.99. The hosting price stays the same whether 3 people or 30 people log in. The one-time build sprint is separate and starts at $2,000. ### Is a no-code tool cheaper than a custom app? A no-code tool is cheaper in month one and usually more expensive by year three for a team of 10 or more. Fifteen users on Airtable Team cost $10,800 over 36 months, while a $2,000 LlamaPress sprint plus Pro hosting costs $2,791.64. A no-code tool stays cheaper for a small team with a simple spreadsheet, such as 8 users on AppSheet Core at $80 a month. ### What does LlamaPress charge to convert a spreadsheet? LlamaPress charges nothing for the first version. You upload the spreadsheet at /excel-to-app and Leonardo builds a working app you can click through the same day. A done-for-you build sprint to finish the app starts at $2,000, quoted as a fixed price after an engineer scopes it. Hosting after that starts at $9.99 a month. ### Do I pay per user? No. LlamaPress hosted plans have no per-user seat fees, so a 15-person team pays the same flat monthly price as a 3-person team. No-code builders such as Airtable, Power Apps, and AppSheet charge per user per month. That per-user fee is the main reason a no-code subscription costs more than a custom app over three years. ### What if my spreadsheet is very complex? A very complex spreadsheet costs more on every route, and the AI route handles complexity best on price. Hundreds of nested formulas or VBA macros mean two or three build sprints instead of one. A no-code builder forces someone to rewrite every formula by hand. Leonardo translates the formulas into normal code, and a human engineer checks the results against your spreadsheet's own numbers. ============================================================================== # CRM Excel Template: When Sales Needs a Database Source: https://llamapress.ai/crm-excel-template-scaling-bottleneck ============================================================================== # CRM Excel Template: When Sales Needs a Database > Stop struggling with CRM Excel templates. Learn why the \ Source: https://llamapress.ai/crm-excel-template-scaling-bottleneck | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Stop struggling with CRM Excel templates. Learn why the "Spreadsheet Ceiling" is costing you sales and how to transition to a database-backed app. [Back to all articles](https://llamapress.ai/blog) ![Business professional analyzing a complex CRM Excel template on a laptop](https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&q=80&w=1200) Photo by [Lukas Blazek](https://unsplash.com/@lukasblazek) on Unsplash In my years at McKinsey, we had a saying: "Every business starts in a spreadsheet, but only the survivors leave them behind." The CRM Excel template is a seductive tool. It is free, it is infinitely customizable, and every member of your team already knows how to use it. When you are managing your first five clients, a well-organized grid is perfectly sufficient for tracking outreach and status updates. However, as your operations grow from five clients to fifty, and from one salesperson to a dedicated support team, that familiar grid begins to transform into a liability. In 2025, the speed of business requires more than just a list of names. It requires relational integrity, automation, and a single source of truth. ## The Allure and the Trap of the CRM Excel Template The primary appeal of the CRM Excel template lies in its immediacy. You can download a template and start logging calls within seconds. There are no monthly SaaS fees and no complex onboarding processes. This agility is vital for early-stage startups and boutique service providers. The trap, however, is what I call the "Spreadsheet Ceiling." This is the invisible point where the manual effort required to maintain the sheet exceeds the value the data provides. Once you reach this ceiling, your sales process does not just slow down; it begins to degrade. ## The Hidden Costs of the Spreadsheet Ceiling ### Version Chaos and Fragmented Truth In a spreadsheet-based CRM, your data is only as good as the last person who saved the file. Despite the advent of cloud-sharing, I still see companies struggling with "Final\_v2\_Updated" files. When sales reps work from different versions of a sheet, customers receive duplicate calls, orders are missed, and your brand authority takes a measurable hit. ![Digital representation of a relational database and structured data](https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&q=80&w=1200) Photo by [JJ Ying](https://unsplash.com/@jjying) on Unsplash ### The Relational Logic Deficit Excel is essentially a flat list. It is excellent for calculating sums, but it is fundamentally poor at managing complex relationships. A true CRM needs to link a 'Customer' to multiple 'Orders', which are linked to 'Products', which are linked to 'Shipping Logistics'. Trying to replicate this relational logic in a spreadsheet leads to massive, unwieldy rows that are prone to breakage. One accidental deletion of a formula can ripple through your entire pipeline, leaving your support team blind during critical customer interactions. ## The 2025 Solution: From Grid to Growth Moving to a database-backed application does not mean losing the flexibility you love about Excel. Modern platforms allow you to maintain that custom workflow while adding the security, scalability, and automation of a professional software stack. A database ensures that data is entered once and updated everywhere. It allows for "atomic" updates, meaning two people cannot accidentally overwrite each other’s notes. Most importantly, it allows you to automate the mundane: sending follow-up emails, generating invoices, and triggering support tickets based on order status. ## Ready to Break the Spreadsheet Ceiling? You have built a successful process in Excel. Now, let’s turn that process into a professional, scalable application that works as hard as you do. Meet Leonardo, our AI agent that specializes in converting complex spreadsheets into custom-built Rails applications. If your CRM template tracks customer orders too, see how teams get [one source of truth for orders](https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth), or [convert your Excel CRM into a web app](https://llamapress.ai/excel-to-app) right now. [Launch with Leonardo](https://llamapress.ai/excel-to-app) [Talk to a Strategist](https://llamapress.ai/contact) Enterprise Security Real-time Syncing AI-Powered Migration ![A focused business team collaborating on a custom order management application](https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&q=80&w=1200) Photo by [Partnership for Observation of the Global Ocean](https://unsplash.com/@pogo_ocean) on Unsplash ### Strategic Conclusion "The CRM Excel template is a starting line, not a finish line. In my experience, the companies that scale are those that recognize when their tools have become their bottlenecks. Transitioning to a database-backed app isn't just a technical upgrade; it's a strategic move to reclaim your time and protect your customer relationships." — Darren David Spencer, Ex-McKinsey Related reading: if your spreadsheet has grown past a template into a full customer list, read [the hidden trap of the Excel customer database template](https://llamapress.ai/the-hidden-trap-of-the-excel-customer-database-template-why-scaling-businesses-need-more-in-2025). ============================================================================== # CRM Implementation and Consulting: Why Rollouts Slip Source: https://llamapress.ai/crm-implementation-and-consulting-when-the-rollout-keeps-slipping ============================================================================== # CRM Implementation and Consulting: Why Rollouts Slip > Why CRM implementations slip, what CRM consulting services actually do, honest cost ranges, and when a CRM built around your process beats the rollout. Source: https://llamapress.ai/crm-implementation-and-consulting-when-the-rollout-keeps-slipping | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Why CRM implementations slip, what CRM consulting services actually do, honest cost ranges, and when a CRM built around your process beats the rollout. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert A CRM implementation is the project of setting up a customer relationship management system so a sales team actually runs deals in it. Most implementations slip for one reason. The tool assumes a sales process that the team does not run. The team then bends its process to fit the software, adoption stalls, and the go-live date moves again. I spent years at McKinsey and afterward watching enterprise software rollouts miss their dates. The pattern in a 30 person company is the same one I saw in companies 100 times that size. Here is the short version. CRM consulting services map your sales process, configure the system, migrate your data, connect your other tools, and train your team. As of this writing, a mid-market suite implementation commonly costs $10,000 to $100,000 in consulting fees on top of the licenses, and runs two to six months. The best practices that separate a successful CRM implementation from a stalled one are simple: one pipeline, one accountable owner, and far less migrated data than you think you need. When your sales process is genuinely unusual, there is a second path. You can have a CRM built around the process instead of bending the process around a suite. One thing to know before you read on. We build custom software. We do not implement, resell, or customize Salesforce, HubSpot, or Dynamics, and we do not take rollout projects for those suites. If you have decided on a suite, you need a certified partner from that vendor's own directory, and this article will still help you manage them. If you are questioning the suite itself, the last section is for you. ![Two people mapping a sales process on a whiteboard before a CRM implementation](https://images.unsplash.com/photo-1532622785990-d2c36a76f5a6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHxidXNpbmVzcyUyMHRlYW0lMjBtZWV0aW5nJTIwd2hpdGVib2FyZCUyMHBsYW5uaW5nfGVufDB8fHx8MTc4Nzg5NzM3Mnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Kaleidico](https://unsplash.com/@kaleidico?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/two-people-drawing-on-whiteboard-26MJGnCM0Wc?utm_source=leonardo_rails_app&utm_medium=referral) ## Why CRM Implementations Keep Slipping The suites are good software. Salesforce, HubSpot, and Dynamics run sales teams at millions of companies. When a rollout slips, the software is rarely broken. The fit is. Every mainstream CRM ships with a model of how selling works. Leads convert to opportunities. Opportunities move through stages. Stages have probabilities, and probabilities roll up to a forecast. That model fits a quota-carrying software sales team very well. It fits a distributor whose "deal" is a standing account with monthly reorders much worse. It fits a contractor whose pipeline is really a bid calendar with retention stages even worse than that. So the configuration phase becomes a translation project. The consultant renames stages, adds custom fields, and builds automations to fake the missing process. Each translation adds fields the team must fill and screens the team must learn. Salespeople try the system for a week, find that updating a deal takes eleven clicks, and go back to their spreadsheet. Management sees empty pipelines and orders more training. The go-live date moves a quarter. I have watched this loop consume a year, and the postmortem always blames adoption. Adoption was the symptom. The mismatch between the tool's model and the team's real process was the cause. ## What CRM Consulting Services Actually Do A good CRM consultant earns their fee. The work behind crm consulting services breaks into five parts, and you should see all five in any proposal. 1. **Process discovery.** The consultant interviews your team and maps how a deal really moves from first contact to invoice. This is the highest-value work in the engagement. A consultant who skips it is configuring a demo, and you should not hire them. 2. **Configuration.** Pipelines, stages, fields, roles, permissions, dashboards, and automations, set up to match the map from discovery. 3. **Data migration.** Exporting contacts, companies, and open deals from the old system or the old spreadsheet, cleaning them, and loading them with the history intact. 4. **Integrations.** Connecting email, calendars, your accounting system, and your quoting or job tracking tools so records stop being retyped. 5. **Training and adoption follow-up.** Teaching the team, then returning at 30 and 60 days to fix what the team routed around. The follow-up visits are where adoption is won, and cheap proposals cut them first. When you evaluate crm consulting firms, ask one revealing question. Ask what they will remove from the default setup. A consultant who plans to strip the system down to what your team will actually use is worth more than one who plans to add things. ## The CRM Implementation Best Practices That Matter Lists of crm implementation best practices usually run to twenty items. In my experience three of them carry nearly all the weight, and rollouts that honor these three survive most other mistakes. **One pipeline first.** Launch with a single pipeline for your main motion, even if you run three. Every extra pipeline at launch multiplies the fields, the reports, and the training. Add the second pipeline after the first one has thirty days of honest use. **One accountable owner.** Someone inside your company, with authority, owns the rollout. They decide field disputes in a day instead of a committee cycle. When the CRM is owned by "the leadership team," the CRM is owned by no one, and every open question stalls the project a week. **Migrate less data than you think.** Bring open deals, active customers, and the last year of history. Leave the 2019 leads and the dead accounts in an archived export. Teams sink weeks into cleaning records nobody will ever open, and the stale data then poisons every report the new system produces. A small clean database beats a large dirty one on day one and forever after. A fourth practice supports the other three. Go live in weeks, imperfect, rather than in months, polished. A successful CRM implementation is measured by one number: records your salespeople create without being chased. Every week before go-live delays the day you start learning what the team will really do. ## What a CRM Implementation Costs Budget three layers, because the license is the smallest one. All figures are as of this writing and vary by region and scope. **Licenses.** Mainstream CRM seats run from roughly $15 to $300 per user per month depending on tier. Ten seats on a mid tier is commonly $1,000 to $2,000 a month, every month, forever. **Implementation.** Partner-led onboarding for a lighter suite commonly runs $3,000 to $15,000. A mid-market implementation of a heavier suite, with migration and integrations, commonly runs $20,000 to $100,000 or more. Hourly consulting rates typically fall between $100 and $250. Timelines run from a few weeks on the light end to six months on the heavy end. **The ongoing tail.** Admin time, renewal price increases, and change orders for every process tweak. Many companies end up paying a consultant a monthly retainer just to keep the configuration matched to how they sell. Price that tail over three years before you sign anything, and compare it honestly against the alternatives. ## When the Honest Fix Is a CRM Built Around Your Process Here is the advice I give friends who ask. If your sales motion is a standard pipeline, buy the suite. A $20 seat with a light implementation is the right answer for standard lead-to-close selling, and no custom build beats it. Hire a certified partner, hold them to the five services and three practices above, and you will be fine. The calculus flips when the translation project never ends. If your process needs bid calendars, standing accounts, crew schedules, or a workflow no suite stage-model expresses, you are paying suite prices to fight the suite. In that case the honest fix is a CRM built around the process: your records, your stages, your automations, in a plain web app your team owns. AI-built development has changed what that costs. An AI coding agent, supervised by engineers, produces a working system in days, in the low thousands of dollars as of this writing. We wrote a full guide to that path in [custom CRM development built around how you actually sell](https://llamapress.ai/custom-crm-development-built-around-how-you-actually-sell), and our [generative AI consulting](https://llamapress.ai/generative-ai-consulting-that-ends-with-working-software) page explains how those engagements end with working software instead of a slide deck. The starting spec usually already exists. It is the spreadsheet your team retreated to when the last rollout stalled. That sheet records the fields your salespeople willingly fill in, which makes it the truest process document your company owns. Our [Excel to App](https://llamapress.ai/excel-to-app) service turns that sheet into a database-backed system directly, and our [services page](https://llamapress.ai/services) explains how an engagement runs from first call to launch. And to repeat the boundary plainly: if what you want is Salesforce, HubSpot, or Dynamics configured well, we are the wrong vendor, and a certified partner is the right one. Process First ### Stop translating your process into someone else's tool. Tell us how a deal really moves through your company, or just bring the spreadsheet your team actually uses. We will show you what a CRM shaped like your process looks like before you commit to anything. [Talk through your process](https://llamapress.ai/services) [Describe your sales process](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What is a CRM implementation? A CRM implementation is the project of setting up a customer relationship management system for a specific team. The work covers process discovery, configuration, data migration, integrations with your other tools, and training. Done well, the project ends when salespeople run their real deals in the system without being chased. ### What is a CRM implementation methodology? A CRM implementation methodology is the step sequence a consultant follows: discovery, design, configuration, migration, testing, training, go-live, and follow-up. The label matters less than two checks. The methodology must start with your process rather than the tool's defaults, and the methodology must include follow-up visits after go-live. ### How long does a CRM implementation take? As of this writing, a light-suite onboarding commonly takes two to eight weeks. A mid-market implementation with migration and integrations commonly takes two to six months. A custom CRM built by an AI coding agent produces a first working version in days, then improves in short feedback rounds. ### What makes a successful CRM implementation? Three practices carry most of the weight: launch with one pipeline, give the rollout one accountable internal owner, and migrate only open deals, active customers, and about a year of history. Measure success by records your team creates voluntarily. Screens nobody fills in are configuration debt, so remove them. ### Do you implement Salesforce, HubSpot, or Dynamics? No. We build custom software, and we do not implement, resell, or customize any CRM suite. If you want a suite rollout, hire a certified partner from that vendor's directory. We are the option for teams whose process does not fit a suite, and we build the CRM around the process instead. ============================================================================== # Custom App Development Services Built Around You Source: https://llamapress.ai/custom-app-development-services-that-start-from-how-you-already-work ============================================================================== # Custom App Development Services Built Around You > Custom app development services: what they include, what agencies charge, why a responsive web app beats a native build, and what to demand before you pay. Source: https://llamapress.ai/custom-app-development-services-that-start-from-how-you-already-work | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Custom app development services: what they include, what agencies charge, why a responsive web app beats a native build, and what to demand before you pay. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Custom app development services turn a business process into software built for that exact process. A complete service covers seven things: discovery, screen design, a database, secure logins, workflow logic, testing, and support after launch. Traditional agencies charge roughly $50,000 to $250,000 for this work and take four to nine months, as of this writing. AI-built development now produces the same category of software in weeks, at a small fraction of that price. Choosing a development company in 2026 means choosing between those two economics. I build AI coding agents for a living. Buyers ask me the same three questions every week. They want to know what a development company does for the money. They want to know whether they need a native mobile app at all. And they want to know how to avoid paying for software that never ships. This page answers all three, in that order. ## What Custom App Development Services Include in 2026 Some firms call themselves a custom app development company. Others prefer custom application development company, or software studio. The label varies. The deliverables should not. A real service includes every layer below, whoever builds it. Discovery comes first. The builder maps how your work flows today: who enters what, who approves what, and where things stall. Skip discovery and you get software shaped like the builder's last project instead of your business. Next comes the data model. A data model is the set of tables that hold your records, plus the links between them. Customers link to orders. Orders link to invoices. Get the model right and every screen after it gets easier. Then come the screens for each role, secure logins, permissions, and workflow logic. Workflow logic is the set of rules that moves a record from new to done. Good services also cover integrations, automated tests, hosting, and support after launch. If a quote skips one of those parts, the gap becomes your problem later. ## The Traditional Agency Price Reality A traditional custom mobile app development company bills by the hour. Published agency rates run from about $100 to $250 per hour in the United States, as of this writing. A mid-sized build takes thousands of hours. That is how a quote reaches six figures before you have anything to use. Native mobile makes the number worse, because iOS and Android are often two separate builds. The price is only half the pain. Agency projects run on change orders. Every adjustment after the signed spec costs extra and adds weeks. You discover what you really needed halfway through. The meter runs while you renegotiate. I break down the full numbers in this guide to [what custom apps for business cost and when you need one](https://llamapress.ai/custom-apps-for-business-what-they-cost-and-when-you-need-one). AI changed the economics underneath this market. An AI coding agent writes the code, and human engineers review it and stand behind it. The hours collapse, so the price can be flat instead of metered. AI-built services deliver a working first version for low four figures to low five figures. The agency model prices custom software like a bridge. The AI model prices it like a service. ![Two developers build custom software at monitors in a bright office](https://images.unsplash.com/photo-1629904853893-c2c8981a1dc5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxjdXN0b20lMjBzb2Z0d2FyZSUyMGRldmVsb3BtZW50JTIwdGVhbSUyMHdvcmtpbmd8ZW58MHx8fHwxNzg3ODk1NzE2fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Compagnons](https://unsplash.com/@sigmund?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/people-coding-at-monitors-in-workspace-Im_cQ6hQo10?utm_source=leonardo_rails_app&utm_medium=referral) ## Most Mobile App Needs Are Met by a Responsive Web App Most searches for custom mobile app development mean one simple thing. The buyer wants their team to use the software on a phone. A responsive web app does that. A responsive web app is a website that adapts its layout to any screen size. It runs in the phone's browser, installs to the home screen, and works on iPhone and Android from one codebase. The web route skips the app store entirely. No review delays. No store fees of 15 to 30 percent on payments, as of this writing. No forcing your staff to download anything. Updates go live for everyone the moment you ship them. For internal tools, most custom mobile software development ships faster and costs less as a web app. Native custom mobile application development still earns its price in three cases. You need deep hardware access, such as Bluetooth sensors or advanced camera control. Your team works offline for hours in the field. Or you sell a consumer app that must live in the app stores. If one of those describes you, hire a native shop. We will tell you the same thing on a call. Custom mobile app development services often price iOS and Android as two separate builds. Ask any company that quotes two native builds to justify them against one web app. ## What a Good Custom App Development Company Shows You Before You Pay Four things separate a company you can trust from a company you will regret. Demand all four before money moves. First, a working demo of your workflow. A portfolio proves the company shipped something for someone. A demo with your records and your steps proves the company understood you. AI-built development makes a demo cheap to produce, so a refusal is a signal. Second, code in a repository you control. The build should land in your own GitHub account, in a mainstream framework. If you can never leave, the price will only move in one direction. Third, flat pricing. A fixed number you can budget beats an hourly meter that spikes when things go wrong. Ask what the number includes and what triggers a new quote. Fourth, named humans after launch. Software meets reality after launch. Someone must own the fixes, and a support queue is a weaker answer than a person with a name. The full question list, plus every build route compared, lives in our buyer's guide on [how to get an app made for your business](https://llamapress.ai/how-to-get-an-app-made-for-your-business). ## How Our Build at LlamaPress Works Our AI coding agent is named Leonardo. You describe your process in plain English. Then you watch Leonardo build the screens in your browser. He writes Ruby on Rails, one of the most established web frameworks in the world. The result is a database-backed web app that works on every phone and laptop your team owns. The code can sync to your own GitHub account. Human engineers review the work and step in when a problem is genuinely hard. The fastest starting point is the spreadsheet you already run the process in. Every tab is a table in waiting. Every column is a field. [Leonardo converts that spreadsheet into the first working version of your app](https://llamapress.ai/excel-to-app). From there, our [services team scopes the full build with you at a flat price](https://llamapress.ai/services). You see a working demo before you commit to anything. One honest caveat. If an off-the-shelf tool already fits your process, buy the tool and keep your money. If you need a consumer native app with deep hardware features, a native mobile shop is the right call. We build custom web software for teams whose process is their edge. That is the job we are good at. ### Watch your app get built Bring your process, or the spreadsheet that runs it. Leonardo builds a working demo you can judge before you spend anything. Flat pricing, real code in your repo, human engineers behind the agent. [See How We Build](https://llamapress.ai/services) [Describe Your App](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What do custom app development services include? A complete service includes discovery, a data model, screen design for each role, secure logins, workflow logic, integrations, testing, hosting, and support after launch. Every layer should appear in the quote. A missing layer becomes your problem after the build ships. ### How much do custom app development services cost? Traditional agencies charge roughly $50,000 to $250,000, at hourly rates near $100 to $250, as of this writing. AI-built development delivers a working first version for low four figures to low five figures. Scope drives the exact number. Distrust any quote that arrives before someone studies your workflow. ### Do I need a custom mobile app development company or a web app? Most teams need a responsive web app. It works on every phone from one codebase, skips the app stores, and updates instantly. Hire a custom mobile app development company for native work when you need deep hardware access, long offline use, or consumer distribution through the app stores. ### How long does custom mobile application development take? Traditional native projects commonly run four to nine months, as of this writing. Building iOS and Android separately stretches the timeline further. AI-built web apps reach a working first version in weeks. The bigger schedule risk is change orders. Fix the scope with a working demo early. ### Can AI really handle custom mobile software development? Yes, for the web apps that cover most mobile needs. An AI coding agent writes real code in a mainstream framework, and human engineers review it. The result runs in any phone's browser and installs to the home screen. Deep native features, such as Bluetooth hardware control, still favor a specialist native team. ============================================================================== # Custom Apps for Business: Costs and When to Build Source: https://llamapress.ai/custom-apps-for-business-what-they-cost-and-when-you-need-one ============================================================================== # Custom Apps for Business: Costs and When to Build > What custom apps for business really cost in 2026, when off the shelf software stops fitting, and the ownership questions to ask before you pay anyone. Source: https://llamapress.ai/custom-apps-for-business-what-they-cost-and-when-you-need-one | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) What custom apps for business really cost in 2026, when off the shelf software stops fitting, and the ownership questions to ask before you pay anyone. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert A custom app is software built around one company's process. The app holds your records, your rules, and your approval steps. You need one when your process outgrows configurable software. The usual sign is a critical spreadsheet doing a database's job. As of this writing, a traditional agency build for a mid-market business app runs about $40,000 to $250,000. The build takes three to nine months. AI-built custom apps change the math. A working database-backed app now takes days to a few weeks. Focused build sprints start around $2,000. I spent years at McKinsey watching mid-market companies face this exact decision. Now I help operators decide every week. The pattern repeats. A business reaches $3M or $5M in revenue. The estimating workbook or the order tracker starts breaking every month. Someone prices custom software and sees a six-figure quote. Then the business retreats to Excel for two more years. This article covers what the category contains and what each route costs in 2026. This article also gives you the questions that protect you from buying the wrong thing. If you want a one-page version for a business partner, we keep a printable [overview of custom business software](https://llamapress.ai/custom-business-software-overview) for that purpose. If the app is replacing a spreadsheet, our [spreadsheet replacement cost guide](https://llamapress.ai/how-much-does-it-cost-to-replace-a-spreadsheet-with-a-custom-web-app) works through the price drivers and three worked examples. ![Business operator reviewing an operations application on a laptop in an office](https://images.unsplash.com/photo-1580983218547-8333cb1d76b9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMG93bmVyJTIwcmV2aWV3aW5nJTIwb3BlcmF0aW9ucyUyMHNvZnR3YXJlJTIwb2ZmaWNlfGVufDB8fHx8MTc4Nzg3ODA3M3ww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [ThisisEngineering](https://unsplash.com/@thisisengineering?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/woman-in-white-long-sleeve-shirt-using-black-laptop-computer-1dwyU46p7eE?utm_source=leonardo_rails_app&utm_medium=referral) ## What Counts as a Custom App Vendors stretch the term. I draw the line where practitioners draw it. A custom app has a data model and workflow designed for your specific operation. A data model is how software organizes your records. Your customer record holds the fields your business cares about. Your quote waits until the person you designate approves it. Your reports answer your questions. Custom built applications sit at one end of a spectrum. Look at the whole spectrum before you spend anything. Clear up one vocabulary trap early. When a vendor says "customized application software," the vendor usually means an off-the-shelf product configured for you. You get your logo, your field labels, and your dropdown values. The data model underneath stays fixed. That work is configuration. A custom built application starts from your process instead of the vendor's product. The difference matters when your process needs a field the fixed data model cannot hold. Then every request gets the same answer: "the system doesn't do that." ## Off the Shelf, Configured SaaS, or Custom Built Every business app you can buy falls into one of three tiers. Each tier fails in a predictable way. | | Off the shelf | Configured SaaS | Custom built | | --- | --- | --- | --- | | Fit to your process | You adapt to the software | You bend the software partway and adapt for the rest | The software matches the process you already run | | Cost shape | Low monthly fee per seat | Higher per-seat tiers plus setup or admin time | Build cost up front, then hosting. No per-user fees | | Common failure | The 20 percent it cannot do lives in a side spreadsheet | One overloaded admin owns all the workarounds | A bad vendor builds it slowly or holds the code | | Ownership | Rented | Rented. Your setup work is lost if you leave | An asset: your code, your database | Off-the-shelf tools are the right answer more often than a custom software vendor will admit. Accounting belongs in QuickBooks or Xero. Email belongs in Google Workspace. The problems start in the middle of your operation. The work that produces your revenue has rules no generic product anticipated. In that middle, companies stack three SaaS subscriptions and one master spreadsheet to fake one system. ## What Custom Apps Cost in 2026 Prices vary with scope. Treat these numbers as bands. All prices are current as of this writing. A freelance developer building a modest internal tool quotes $10,000 to $50,000. Expect two to four months. Quality depends almost entirely on the individual. A traditional agency building a mid-market business app lands between $40,000 and $250,000 across three to nine months. Much of the fee pays for discovery workshops, wireframes, and a project manager. Enterprise builds go far higher. Those numbers explain why most operators never price the category. AI-built custom software is the new price band. The gap is large enough to change the whole decision. An AI coding agent writes the application code directly. A human engineer scopes, reviews, and finishes the work. At LlamaPress, a focused build sprint starts at $2,000 as of this writing. An ongoing build partnership starts at $1,500 per month. The first working version of an app typically exists within days. The published details are on our [services page](https://llamapress.ai/services). One honest caveat applies. AI-built pricing assumes your process is already well defined. A vague idea still costs real money to turn into a specification. A process you run every week in a spreadsheet is already a specification. A spreadsheet is therefore the cheapest possible starting point. ## The Three Places Operators Actually Need One The same three workflows justify most of these builds. ### 1. Estimating and quoting Contractors, fabricators, and engineering firms price complex work from rate tables in a workbook one person maintains. A wrong cell reference on a $400,000 bid costs more than any software project. A [custom estimating app built from your existing spreadsheet](https://llamapress.ai/custom-estimating-software-built-from-the-spreadsheet-you-already-have) keeps the rates in one governed place. The app enforces the review step and produces a clean quote every time. ### 2. Order and customer tracking Distributors and service businesses track orders across intake, fulfillment, and invoicing. The tracking usually lives in a shared sheet. Nobody can see a customer's full history in one place. [Custom order tracking software](https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth) gives every order a status, an owner, and a history. Follow-ups stop depending on somebody's memory. ### 3. Client onboarding and data collection MSPs, insurance agencies, and financial firms collect dozens of documents and answers from every new client. Today a person tracks the collection with a hand-run checklist. [Guided onboarding software](https://llamapress.ai/guided-client-onboarding-software-that-replaces-your-checklist-spreadsheet) turns the checklist into a workflow that chases its own missing items. Clients stop repeating themselves. ## The Four Ownership Questions to Ask Before You Pay Anyone Cost gets all the attention. Ownership is where custom app buyers get hurt. I watched a company lose two years of workflow history. Their app builder held the code and went quiet. Ask these four questions of any vendor, including us. First, where does the code live? The right answer is a repository in your own GitHub account from day one. The asset then exists whether or not the vendor does. Second, where does the data live? Can you export the data on demand? You want a real database you can dump to standard formats. Third, what happens if you stop paying? An acceptable answer lets you keep the app and the data. An answer that sounds like a hostage arrangement is one. Fourth, can another developer take over? Thousands of engineers can maintain a custom app written in a mainstream framework. An app assembled inside a proprietary platform stays trapped inside that platform. ## When You Do Not Need a Custom App A fair guide includes this section. Skip custom software if an off-the-shelf product covers 95 percent of your workflow and the missing 5 percent is cosmetic. Skip custom software if the process changes every month. Building then is like pouring concrete on wet ground. Run the process by hand until the process stabilizes. Skip custom software if one person touches the workflow once a week. Custom apps earn their cost where several people run a stable, rule-heavy process many times a day. Custom apps also earn their cost where an error has a dollar figure attached. ## Your Spreadsheet Is Already the Specification Most operators have not heard the next part. The expensive half of a traditional custom build was never the code. The expensive half was discovery. Teams spent months in workshops extracting how the business works from the people who work in it. A spreadsheet that runs your process already holds that extraction. The columns are your data model. The tabs are your tables. The formulas are your business rules. The color coding is your status workflow. Our AI agent, Leonardo, builds this way. You [upload the workbook that runs your process](https://llamapress.ai/excel-to-app). Leonardo reads the workbook as the blueprint for a database-backed app. Rows become real records. Tribal knowledge becomes guided workflows. A shared file becomes logins and permissions. The code lands in your own GitHub account. A human engineer stays in the loop from the first review to the finished app. The result is a custom built application at a price that used to buy a discovery workshop. From Spreadsheet to Software ### Price your custom app with the spec you already have. Upload the spreadsheet that runs your estimating, orders, or onboarding. Leonardo turns it into a database-backed app you own outright. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [See Build Pricing](https://llamapress.ai/services) ## Frequently Asked Questions ### What is a custom app for business? A custom app is an application designed around one company's process. The app holds that company's records, workflows, approval rules, and reports. Off-the-shelf software makes every customer adapt to the product. A custom built application matches the way your team already works. The app can enforce rules that generic tools cannot. ### How much does a custom app cost in 2026? As of this writing, freelance builds typically run $10,000 to $50,000. Traditional agency builds run roughly $40,000 to $250,000 over three to nine months. AI-built custom apps start far lower. LlamaPress build sprints start at $2,000. A first working version is typically ready within days. ### What is the difference between custom built applications and customized application software? Customized application software usually means an off-the-shelf product configured with your labels, fields, and branding. The vendor's data model stays fixed underneath. A custom built application is designed from your process up. The data model and the workflow are yours. ### Does a small business actually need a custom app? Often no. Accounting, email, and payroll belong in standard tools. A custom app earns its cost when several people run a stable, rule-heavy revenue process many times a day. The app also pays off when errors carry a real dollar cost. A spreadsheet that has outgrown itself is the common trigger. ### Who owns a custom app when it is finished? The contract decides who owns a custom app. Ask before you pay. In a buyer-friendly deal, the code lives in your own GitHub repository. The data sits in a database you can export. You keep both even if you stop working with the vendor. LlamaPress builds work this way. ### How long does it take to build a custom business app? Traditional agency projects run three to nine months. Discovery takes much of that time. An AI coding agent can build from a spreadsheet your team already uses. Then the first working version typically exists within days. Refinement against real use takes a few weeks. ============================================================================== # Custom Business Intelligence Dashboards Teams Use Source: https://llamapress.ai/custom-business-intelligence-dashboards-your-team-will-actually-open ============================================================================== # Custom Business Intelligence Dashboards Teams Use > Most business intelligence dashboards go unopened because they answer no daily question. See how a custom BI dashboard earns a daily open and what it costs. Source: https://llamapress.ai/custom-business-intelligence-dashboards-your-team-will-actually-open | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Most business intelligence dashboards go unopened because they answer no daily question. See how a custom BI dashboard earns a daily open and what it costs. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Most business intelligence dashboards get opened for two weeks and then never again. The cause is almost always the same. The dashboard was built from the data outward. Someone connected every source, charted every field, and shipped forty tiles. Nobody on the team asks forty questions in the morning. A dashboard earns a daily open when it starts from the decision instead. Find the three questions your team asks every day. Show the numbers that answer them, on live data, on one screen. Cut everything else. I build software with an AI coding agent, and dashboards are a large share of that work. I have watched expensive BI rollouts die quietly and one-screen dashboards become the first tab a manager opens. This guide covers why dashboards go unopened, what a good one answers, four concrete business intelligence examples from real operating companies, and the honest cost picture for each way of getting one. ## Why Most BI Dashboards Go Unopened A bi dashboard fails for boring reasons, never exotic ones. The first reason is direction. Teams build from the data outward. The warehouse has sixty fields, so the screen gets sixty charts. Each chart is defensible. The whole page answers nothing. A manager opens the page, cannot find the one number that means trouble, and goes back to asking someone on the team. The second reason is stale data. Many dashboards run on an export someone refreshes by hand. The refresh slips a week. Then the numbers on the screen disagree with the numbers in the system. Once a manager catches the dashboard being wrong one time, trust is gone. The page dies that day, even though the page stays up for a year. The third reason is ownership. The person who commissioned the dashboard is rarely the person who should open it daily. An owner asks for a dashboard after a bad quarter. The dispatcher, the estimator, and the office manager never got asked what they check each morning. So the screen reflects a board meeting, and the people running the day keep running the day from a spreadsheet. ## What a BI Dashboard Should Answer: Yesterday, This Week, This Month A useful dashboard answers three horizons of question. Yesterday: what happened, and did anything break? Jobs completed, revenue booked, leads that came in, tickets that went unanswered. This week: are we on pace? Booked work against capacity, quotes waiting on a reply, invoices going out. This month: is the business healthy? Margin by job type, revenue against the same month last year, the pipeline for next month. Business intelligence visualization just means business numbers shown as charts. The term sounds heavier than the job. The visualization choices matter less than the questions. A plain bar chart that answers "did we hit yesterday's target" beats a beautiful map that answers nothing. When a chart on the screen maps to a question someone asks out loud, the chart stays. When no one can name the question, the chart goes. One more rule: every number should have an owner and a threshold. A callback rate of 8 percent means nothing on its own. A callback rate that turned red because it crossed the line you set means someone picks up the phone. A business analytics dashboard earns its daily open by telling one person that one thing needs them today. ![Business intelligence dashboard with performance charts on a laptop screen](https://images.unsplash.com/photo-1551288049-bebda4e38f71?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMGRhc2hib2FyZCUyMGFuYWx5dGljcyUyMGNoYXJ0cyUyMHNjcmVlbnxlbnwwfHx8fDE3ODc4OTczNjd8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Luke Chesser](https://unsplash.com/@lukechesser?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/graphs-of-performance-analytics-on-a-laptop-screen-JKUTrJ4vK00?utm_source=leonardo_rails_app&utm_medium=referral) ## Business Intelligence Examples That Earn a Daily Open Concrete beats abstract here. Treat the four below as sample business intelligence dashboards you can copy for your own company. Each one starts from a question a real operator asks, and each one fits on a single screen. **Revenue per crew.** A field-services company runs four crews. The dashboard shows revenue and completed jobs per crew per week, side by side. One bar chart exposes what the owner suspected for a year: crew two produces 30 percent less with the same headcount. Now the conversation is about routing and job mix, with numbers instead of impressions. **Job margin.** Quoted price against actual cost, per job, as costs land. Most project businesses learn their margin at the end of the quarter, when nothing can be done. A margin dashboard flags the jobs drifting below the line while the job is still open. The estimator also sees which job types always drift, and quotes them differently next time. **Lead response time.** Minutes from a lead arriving to the first call back, charted by day and by person. Leads cool fast, and every sales team believes they respond quickly. The chart usually disagrees. Watching the median drop from hours to minutes is one of the fastest revenue wins a dashboard can produce. **Callback rate.** The share of jobs that needed a second visit, by crew and by job type. Callbacks eat margin twice: the free return visit and the review it risks. Charting them turns a vague quality complaint into a specific pattern you can train against. These examples come from work we do, and one of them carries a lesson about what dashboards are worth. We built a home-services company's BI dashboards: charts and maps running on live job data. The agency that brought us in white-labels those dashboards and resells them at about three times what it pays us. A dashboard on live operating data is worth real money to the person who runs the day. If you are an agency and that model interests you, we wrote about [the client portal your agency can put its own name on](https://llamapress.ai/the-client-portal-your-agency-can-actually-put-its-name-on). ## BI Suite, Spreadsheet Charts, or a Custom Dashboard on Live Data There are three honest ways to get business intelligence dashboards. Spreadsheet charts are the starting point, and a fair one. If your data lives in one workbook and one person needs the picture, build the pivot tables and stop reading. The spreadsheet route breaks when the data lives in three systems and the refresh is a person copying and pasting. Then every chart is stale by the time anyone sees it. A BI suite such as Power BI, Tableau, or Looker is the second route. These tools are genuinely capable. They also assume someone will model your data, maintain the connections, and hold a seat license for every viewer. As of this writing, mainstream BI seats run from about $10 to $75 per user per month, and the modeling work is the larger hidden cost. If you already employ an analyst who lives in one of these tools, keep the suite. That team does not need us. The third route is a custom dashboard built directly on your live database. One URL, no per-seat license, charts shaped around your decisions rather than around the connectors a vendor ships. This route used to mean a development firm and a serious invoice. An AI coding agent changed that math. Our agent Leonardo builds the dashboard as real code on a real database, so the numbers on screen are the numbers in the system, always. If the numbers currently live in a spreadsheet, [Leonardo can turn that spreadsheet into a database with the dashboard on top](https://llamapress.ai/excel-to-app). One boundary worth naming. This page is about internal dashboards, the numbers your own team runs on. If you run an agency and the job is monthly marketing reports for clients, that is a different build with different requirements. We covered it in [automated marketing reporting without another subscription](https://llamapress.ai/automated-marketing-reporting-without-another-subscription). ## What a Custom BI Dashboard Costs Cost honesty, since most pages skip it. A traditional development firm typically quotes custom dashboard work in the tens of thousands of dollars as of this writing, because a human team must learn your schema, design the charts, and build them by hand. A BI suite looks cheaper per month, and the seat fees do stay modest. The real spend is the analyst time to model the data and keep it modeled, whether that analyst is hired, contracted, or an operator losing their evenings. AI-built custom dashboards land differently. A first working version, on your live data, runs from the low four figures and takes days rather than months as of this writing. Exact numbers depend on how many systems the dashboard reads and how much cleanup the data needs. Be suspicious of any quote, ours included, that arrives before someone has looked at your data and asked what your team checks each morning. And if one person needs a chart from one workbook, a $15 seat or a free pivot table is the right answer. Do not pay anyone to build what a spreadsheet already solves. ### A dashboard your team opens every morning Tell us the three questions your team asks every day. Leonardo builds the dashboard on your live data, as real code you own. Human engineers stand behind him. Most first versions ship in days. [Get Your Dashboard Built](https://llamapress.ai/services) [See How Leonardo Works](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What is a business intelligence dashboard? A business intelligence dashboard is a screen of charts built from your operating data. A good one answers the specific questions your team asks daily: what happened yesterday, are we on pace this week, and is the business healthy this month. The dashboard reads live data, so the numbers on screen match the numbers in your systems. ### Why does nobody open our BI dashboard? Three causes cover most cases. The dashboard was built from the available data instead of from your team's daily questions. The data goes stale because a person refreshes an export by hand. Or the daily users were never asked what they check each morning, so the screen serves a board meeting instead of the people running the day. ### What are good examples of business intelligence dashboards? Four examples that earn a daily open in operating companies: revenue and completed jobs per crew per week, quoted price against actual cost per open job, minutes from lead arrival to first call back, and the share of jobs needing a second visit by crew and job type. Each fits one screen and starts from a question someone already asks out loud. ### How much does a custom BI dashboard cost? As of this writing, a traditional development firm typically quotes custom dashboard work in the tens of thousands of dollars. BI suite seats run from about $10 to $75 per user per month, plus the analyst time to model the data. An AI-built custom dashboard on your live data starts in the low four figures and ships a first version in days. Exact numbers depend on how many systems the dashboard reads. ### Do I need Power BI or Tableau to get a dashboard? No. Those suites are strong tools, and a team with an analyst who already lives in one should stay there. Without that analyst, a suite becomes a license plus a modeling project. The alternative is a custom dashboard built directly on your live database: one URL, no per-seat license, and charts shaped around your decisions. For a single workbook and a single viewer, spreadsheet charts remain the honest answer. ============================================================================== # Custom CRM Development Built Around How You Sell Source: https://llamapress.ai/custom-crm-development-built-around-how-you-actually-sell ============================================================================== # Custom CRM Development Built Around How You Sell > Custom CRM development for teams whose sales process is their edge. What a build includes, honest costs, migration off your current CRM, and AI automation. Source: https://llamapress.ai/custom-crm-development-built-around-how-you-actually-sell | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Custom CRM development for teams whose sales process is their edge. What a build includes, honest costs, migration off your current CRM, and AI automation. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Custom CRM development means building a CRM around your sales process instead of bending your process to fit a vendor's suite. A custom CRM keeps your records, your pipeline stages, your customer history, and your automations in a database you own. In 2026 an AI coding agent can build one in days. A few years ago the same build took a development firm months. The build makes sense when the way you sell is part of what you are selling. The build makes no sense when a standard pipeline in a mainstream CRM already fits. I build AI coding agents for a living, and my company runs its own sales on software we built ourselves. I have also watched plenty of teams buy a big CRM seat and quietly slide back to a spreadsheet. This guide covers the whole decision. When a custom build beats configuring a suite. What custom CRM development actually includes. What the build costs as of this writing. How to migrate off the tool you run today. And where AI fits inside the CRM itself. ## When a Custom CRM Beats Configuring a Suite Salesforce, HubSpot, and Pipedrive are good products. Millions of teams run well on them. If your sales motion is a standard pipeline, buy a seat and move on. Entry plans on mainstream CRMs cost around $20 per user per month as of this writing. Do not build what a $20 seat solves. That is the honest baseline, and any CRM development company that skips it is selling you something. The math changes when your process is your edge. A suite ships with one assumption: a deal moves left to right through a pipeline and then closes. Real businesses break that assumption constantly. A closed deal spawns a project with its own tasks and crew. A quote goes through three revision rounds before anyone signs. An onboarding runs fourteen steps across two departments. You can force these shapes into a suite with custom objects and workflow rules. Every forced shape adds admin time, and every admin workaround teaches your team to keep the real truth somewhere else. That somewhere else is usually the [CRM spreadsheet template that quietly becomes the system of record](https://llamapress.ai/crm-excel-template-scaling-bottleneck). The test I give operators is simple. Describe your sales process out loud. If the description fits in one sentence about stages, configure a suite. If the description needs a whiteboard, the process is the product, and the software should match the whiteboard. ![Sales team maps its real pipeline on a whiteboard before custom CRM development](https://images.unsplash.com/photo-1557804506-669a67965ba0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzYWxlcyUyMHRlYW0lMjBjcm0lMjBwaXBlbGluZSUyMHdoaXRlYm9hcmR8ZW58MHx8fHwxNzg3ODk3MzUwfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Austin Distel](https://unsplash.com/@austindistel?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/three-men-sitting-while-using-laptops-and-watching-man-beside-whiteboard-wD1LRb9OeEo?utm_source=leonardo_rails_app&utm_medium=referral) ## What Custom CRM Development Includes Custom CRM systems vary on the surface and share the same skeleton underneath. A serious build includes five parts. Records: organizations, contacts, and deals as linked tables in a relational database, shaped like your business rather than a generic template. Pipeline: your actual stages with the rules your team really follows, including the branches a suite makes awkward. History: every call, email, meeting, and note on one timeline per customer, so anyone can pick up an account cold. Automations: follow-up reminders, assignment rules, and status changes that fire on their own instead of living in someone's head. Reporting: the three or four numbers you actually manage by, computed from live data. Two more parts separate real software from a demo. User roles decide who can see and edit what. An audit trail records who changed which field and when. Both matter the first time a deal number gets disputed. Any firm you hire should include all seven without being asked. ## Build Your Own CRM: The 2026 Way The phrase build your own CRM used to mean one of two things. You hired developers for a six-month project, or you assembled something in a no-code tool and rented it forever. AI coding agents opened a third route. You describe your sales process in plain English, or you hand over the spreadsheet you already track deals in. The agent writes real code: a relational database, screens for each record type, logins, and automations. You get a working first version in days, and the code can live in your own repository. Our tool that does this is the [internal app builder that starts from your spreadsheet](https://llamapress.ai/the-internal-app-builder-that-starts-from-your-spreadsheet), and the deeper path is [converting your Excel tracker into a database-backed app](https://llamapress.ai/excel-to-app). We hold ourselves to this route. We run our own sales and delivery on a CRM we built for ourselves: organizations, deals, recorded call transcripts, and a build queue in one system. When a sales call ends, the transcript sits on the deal it belongs to. When a deal closes, the work it created is tracked in the same database. No suite offered that shape, so we built the shape. That is the whole argument for custom CRM development in one example. ## Custom CRM Development Cost: Honest Numbers Traditional quotes first. A development firm building a CRM from scratch commonly quotes $50,000 or more, with timelines of three to nine months, as of this writing. The firms quoting these numbers call themselves a CRM development company or a CRM software development company. The two labels describe the same work, so compare deliverables rather than labels. Those quotes are high because human engineers write every screen by hand and every revision round costs weeks. AI-built development changes the denominator. A first working version runs from low four figures to low five figures as of this writing, because the agent does the typing and humans do the judgment. Delivery is days to a few weeks instead of months. Compare that against the suite you are avoiding. Ten seats at $20 to $100 per user per month is $2,400 to $12,000 every year, forever, and the price rises with headcount. A custom build is a one-time cost plus modest hosting, and the software you paid for is yours. One warning applies to every route: be suspicious of any quote that arrives before someone has understood your sales process. ## Migrating Off Your Current CRM A CRM migration is the part people fear most, and the fear is usually bigger than the work. The safe process has three steps. First, export everything. Pull a CSV for every object type: contacts, companies, deals, notes, activities, and attachments. Most suites export more than their interface suggests. Keep the raw files somewhere safe before anyone touches them. Second, map fields. For each old field, decide the new field it lands in, or decide it dies. Every CRM carries dead fields nobody has filled in since 2021. A migration is the one chance to drop them deliberately. Third, verify counts. After the import, compare row counts per object between the export and the new system. Then spot-check twenty real records by hand, including the messy ones with long histories. Run the old and new systems side by side for a week before you cancel anything. Keep the export archive even after cutover. A migration done this way loses nothing and takes days rather than months. ## A CRM With AI Actually In It Most CRM data is bad because humans hate data entry after a long call. An automated CRM fixes the incentive by making the data enter itself. Calls get recorded and transcribed onto the deal. Follow-up emails get drafted from what was actually said. Account summaries get written from the full history instead of from memory. Lead assignment and next-step reminders fire from rules, so nothing waits on someone remembering. Suites now sell AI add-ons that do some of this, and the good ones are genuinely useful. The limit is placement. A vendor puts AI where the average customer needs it. A CRM with AI built into your process puts it where your deals actually stall: your quote revisions, your fourteen-step onboarding, your handoff from sales to delivery. When you own the code, the automation goes exactly there. Our [services team scopes this with you](https://llamapress.ai/services), and the honest output of that conversation is sometimes that a suite seat is all you need. ### Get a CRM shaped like your sales process Tell us how a deal really moves through your company. Leonardo, our AI coding agent, builds the records, pipeline, history, and automations to match. You own the code. If a $20 seat would solve it, we will say so. [Scope Your CRM](https://llamapress.ai/services) [Start From Your Spreadsheet](https://llamapress.ai/excel-to-app) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### How much does custom CRM development cost? As of this writing, a traditional development firm commonly quotes $50,000 or more for a from-scratch CRM. AI-built custom CRM development runs from low four figures to low five figures for a first working version, delivered in days to a few weeks. Ongoing costs are hosting rather than per-seat fees. Compare that with ten suite seats, which cost roughly $2,400 to $12,000 per year at current per-user prices. ### How does CRM data migration work? CRM data migration has three steps. Export a CSV of every object type from the old system: contacts, companies, deals, notes, activities, and attachments. Map each old field to a new field, and deliberately drop the dead fields nobody uses. Then verify: compare row counts per object between the export and the new system, and spot-check twenty real records by hand. Run both systems side by side for a week before cutover, and keep the export archive afterward. ### Is it worth it to build your own CRM? Build your own CRM when your sales process is a real advantage and a suite forces workarounds: deals that spawn projects, multi-round quotes, long onboarding sequences. Buy a seat when your motion is a standard pipeline, because entry plans cost about $20 per user per month as of this writing. The 2026 difference is that an AI coding agent makes the build days of work instead of months, which moves the break-even point for much smaller teams. ### How long does custom CRM development take? A traditional firm typically takes three to nine months as of this writing. An AI-built first version takes days: records, pipeline, customer history, logins, and basic automations, running on a real database. Refinement rounds after your team uses it take days each, and migration from your old system adds about a week including the side-by-side verification period. ### What should I look for in a CRM development company? Ask five questions. Can you watch the build happen instead of waiting for a reveal. Does the code land in a mainstream framework in a repository you control. Are roles, audit history, backups, and automations included without asking. Who is the named human responsible after launch. And will they tell you honestly when a mainstream CRM seat is the better buy. A CRM software development company and a CRM development company are the same kind of firm, so judge the deliverables, never the label. ============================================================================== # Custom ERP Software Development for the Mid-Market Source: https://llamapress.ai/custom-erp-software-development-for-companies-that-are-not-sap-sized ============================================================================== # Custom ERP Software Development for the Mid-Market > Mid-market companies get quoted enterprise ERP prices for an operations app. What custom ERP software development costs, and which modules you need. Source: https://llamapress.ai/custom-erp-software-development-for-companies-that-are-not-sap-sized | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Mid-market companies get quoted enterprise ERP prices for an operations app. What custom ERP software development costs, and which modules you need. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Ask for ERP pricing as a 60 person company and read what comes back. The proposal describes a rollout for a company a hundred times your size: license tiers, a certified consulting partner, a phased plan measured in quarters. You asked for orders, inventory, jobs, and invoicing in one database. I spent years at McKinsey and then years helping mid-market companies buy software. The ERP purchase is where I saw the worst mismatch between what a company needs and what vendors sell. This guide covers what ERP means, which modules you need, and when building beats configuring. Custom ERP software development means building only the operations modules your company runs, in one database you own. For most mid-market companies that list is short: orders, inventory, jobs or production, scheduling, purchasing, and invoicing. As of this writing, an AI-built custom ERP usually lands in the low thousands of dollars, with a first working version in days. A big-suite ERP implementation for the same company commonly runs from tens of thousands of dollars into the hundreds of thousands, over six to eighteen months. The honest exception sits at the top end. A company running multi-entity finance, consolidation across currencies, or audited manufacturing compliance belongs on a real ERP suite. Everyone else is usually buying an operations app and paying enterprise prices for it. ![Operations manager checking inventory on shelves with a tablet, the kind of daily work an ERP module should support](https://images.unsplash.com/photo-1764795850513-fa8a469a4600?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHx3YXJlaG91c2UlMjBpbnZlbnRvcnklMjBtYW5hZ2VyJTIwdGFibGV0fGVufDB8fHx8MTc4Nzg5NzM4N3ww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Cova Software](https://unsplash.com/@covasoftware?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/woman-with-tablet-checks-inventory-on-shelves-bXgiCqLqZaA?utm_source=leonardo_rails_app&utm_medium=referral) ## What ERP Means in Plain Words ERP stands for enterprise resource planning. In practice, ERP means one database that runs your operations. Sales enters an order once. Inventory sees the stock commitment at the same moment. The shop floor sees the job. Accounting sees the invoice when the job ships. Nobody retypes anything, and nobody asks a coworker which spreadsheet is current. The term came from manufacturing giants in the 1990s, and the big products still carry that heritage. ERP software development at the major vendors produces suites with dozens of modules: multi-entity ledgers, global payroll, procurement portals, warehouse robotics. A 60 person distributor runs perhaps five of those modules. The gap between what the suite contains and what you run is where the money goes. You pay for the whole suite, then you pay again to make your five modules behave like your business. ## ERP vs CRM, Settled in Two Paragraphs People shopping for one often get pitched the other, so the ERP vs CRM line is worth drawing once. A CRM, a customer relationship management system, tracks work before the sale: leads, contacts, deals, follow-ups. An ERP runs what happens after the sale: the order, the stock, the job, the schedule, the invoice. A CRM answers who is close to buying. An ERP answers where every order stands and what it costs you. Your pain tells you which side you are on. Dropped follow-ups and deals lost in inboxes point to the CRM side. Orders retyped across three systems, stock counts nobody trusts, and invoices that lag shipments point to the ERP side. Many mid-market companies need a thin slice of both in one system, which is one argument for building rather than buying two suites. ## Why Big-Suite ERP Implementation Fails at This Size ERP implementation is the project of installing a suite, configuring it, migrating data, and training the team. At enterprise scale, that project is a known and budgeted discipline. At mid-market scale, three structural problems repeat. First, the cost structure is upside down. The implementation commonly costs one to two times the software license, sometimes more, as of this writing. The suite vendor sells the license, and a partner firm sells the rollout by the hour. The partner's incentive is billable hours, and the meter runs longest at companies with the least internal IT capacity. That is you. Second, the suite assumes a process. Every module encodes how its designers believe an order, a job, or a purchase should flow. Where your process differs, you either pay for ERP customization or change how your company works to match the software. Mid-market companies win business precisely because their process differs from the big competitors. Paying to erase that difference is a strange purchase. Third, the project is heavier than the team. An enterprise assigns a full-time project owner and backfills the role. A 60 person company assigns the ops manager, who already has a job. Analysts have reported for years that a large share of ERP projects run over budget or schedule, as of this writing. At this size, the overrun lands on one exhausted person. One thing to be clear about before going further. We build custom software. We do not implement, resell, customize, or migrate companies onto SAP, NetSuite, or Odoo. If you conclude that a suite rollout is right for you, hire a certified implementation partner for that suite. This guide should still help you scope the work. ## The Limits of ERP Customization ERP customization means paying to change the suite: custom fields, scripts, bolt-on modules, modified workflows. Two limits show up on every invoice. The first is rate. Customization is partner work, billed at senior professional rates, and small changes arrive as quotes with project codes. The second is upgrades. Every customization is something the next suite version can break. Heavily customized suites drift onto frozen versions because upgrading means re-testing years of paid changes. There is a crossover point where customization spend passes what building the software would have cost. Mid-market companies cross that point early, because so little of a big suite fits them out of the box. If you find yourself budgeting the third round of customization, the suite is telling you something. Customization is also a different job from integration. Keeping the accounting system your bookkeeper knows and syncing to it is often smarter than replacing it. We wrote about how that works in our guide to [API and software integration services](https://llamapress.ai/api-and-software-integration-services-that-make-your-systems-talk). ERP system integration of that kind, one clean sync against the ledger, removes most of the retyping without a rollout. ## The ERP System Modules You Actually Need The module list is where suite quotes inflate, so build yours from your own operation. Walk one order from first phone call to paid invoice. Every place the order changes hands is a module candidate. For most mid-market operations companies, the walk produces the same short list: orders, inventory or materials, jobs or production, scheduling and dispatch, purchasing, invoicing, and a reporting screen over all of it. The same walk shows what you do not need. You likely do not need an HR module, because payroll already works. You do not need a multi-entity general ledger, because QuickBooks or Xero already holds the books and a sync can feed it. You do not need the procurement portal, the demand forecasting engine, or the warehouse robotics interface. Anything that never touches your order's path from call to cash stays off the list. A short module list is what makes the build cheap and the training fast. ## Custom ERP Software Development the AI-Built Way Custom ERP software used to carry the same six-figure price as the suites, because an ERP development company billed the same kind of hours as an implementation partner. Firms selling ERP software development services still quote that way, as of this writing, and the hours behind those quotes were real. AI-built development changes the input costs. An AI coding agent writes standard web application code while engineers supervise the build. Modules that took a team a quarter now take days. Our agent, Leonardo, builds ERP-class operations apps as database-backed web applications in Ruby on Rails. The build starts from the documents your team already runs, and for most companies that means spreadsheets. Your order log, your inventory count sheet, and your job board are the requirements document. You can see how that first step works at [Excel to App](https://llamapress.ai/excel-to-app). The code lives in your own GitHub account, so no vendor can freeze your version or ransom your process back to you. You get only the modules from your list, shaped to your process instead of a designer's assumption about it. New modules get added when the operation needs them, priced as small builds instead of change orders. For the broader case, including how to compare vendors for any system-level build, read our guide to [custom software development](https://llamapress.ai/custom-software-development-when-off-the-shelf-stops-fitting). And the counterweight holds: complex multi-entity finance, currency consolidation, and audited compliance at scale belong on a real suite. For everything else, our [services page](https://llamapress.ai/services) explains how an engagement runs from module map to launched system. The Mid-Market Route ### One database. Only the modules you run. Walk us through how an order moves through your company, or bring the spreadsheets that run it today. We will map your modules and show you a working version before you commit. [Map your modules](https://llamapress.ai/services) [Start from your spreadsheet](https://llamapress.ai/excel-to-app) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What is custom ERP software development? Custom ERP software development is building the operations modules your company runs, orders, inventory, jobs, and invoicing, as one application on one database. You skip the modules a big suite bundles in. Done in a standard web stack with the code in your own repository, the result behaves like an ERP without the license or the rollout. ### How much does custom ERP software development cost? As of this writing, AI-built custom ERP projects usually land in the low thousands of dollars, with a first working version in days. Traditional custom builds from an agency commonly run into six figures. Suite ERP implementation for a mid-market company commonly runs from tens of thousands of dollars into the hundreds of thousands, plus per-seat licenses every year. ### What is the difference between ERP and CRM? A CRM tracks work before the sale: leads, contacts, deals, and follow-ups. An ERP runs the work after the sale: orders, inventory, jobs, scheduling, and invoicing, all on one database. If your pain is dropped follow-ups, look at CRM. If your pain is retyped orders and untrusted stock counts, look at ERP. ### Which ERP system modules should a mid-market company start with? Start with the modules that touch an order's path from first call to paid invoice. For most companies that means orders, inventory, and invoicing first, then jobs, scheduling, and purchasing. Leave the general ledger with your accounting system and sync to it. Add modules later as small builds, only when the operation demands them. ### When is a full ERP suite the better choice? Choose a real suite when you run multi-entity finance, consolidation across currencies, or audited compliance at manufacturing scale. Those problems reward the depth a suite carries and the ecosystem around it. Hire a certified implementation partner for that rollout. We build custom software and do not implement SAP, NetSuite, or Odoo. ============================================================================== # Custom Estimating Software Built From Your Spreadsheet Source: https://llamapress.ai/custom-estimating-software-built-from-the-spreadsheet-you-already-have ============================================================================== # Custom Estimating Software Built From Your Spreadsheet > Custom estimating software built from the spreadsheet your team already uses. Keep your formulas, add locked cost tables and audit trails, and go live in days. Source: https://llamapress.ai/custom-estimating-software-built-from-the-spreadsheet-you-already-have | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Custom estimating software built from the spreadsheet your team already uses. Keep your formulas, add locked cost tables and audit trails, and go live in days. [Back to all articles](https://llamapress.ai/blog) The Failure Mode ## The most expensive file in your company is named Final\_v3\_REVISED.xlsx A bid goes out Thursday. On Friday you find out it was built on Final\_v3\_REVISED.xlsx, which still carried last month's steel prices. The margin you thought you had was never there. Or the one estimator who understands the markup macro is on vacation, and a tender closes Tuesday. Or a formula silently dropped a row from the BOQ and nobody caught it until the job was costed. That single skipped line was a five-figure hole. When 2 to 10 people touch the same workbook, this is the normal state of things. Cell references break. Someone sorts a range and detaches the unit costs from the line items. The change order tab and the master tab drift apart. Every estimator has a private copy "just in case," which means there is no master at all. ![Construction estimator working through a bid at a desk covered in blueprints and a scale ruler](https://images.unsplash.com/photo-1503387762-592deb58ef4e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxjb25zdHJ1Y3Rpb24lMjBlc3RpbWF0b3IlMjBibHVlcHJpbnQlMjBkZXNrfGVufDB8fHx8MTc4Mzg3ODI0Mnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Daniel McCullough](https://unsplash.com/@d_mccullough?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/an-architect-working-on-a-draft-with-a-pencil-and-ruler-HtBlQdxfG9k?utm_source=leonardo_rails_app&utm_medium=referral) The workbook was the right tool when one person estimated three jobs a month. At today's volume it is a liability with a familiar file icon. The same failure pattern shows up wherever a spreadsheet quietly became infrastructure; we wrote about the fragile-intake version of it in [turning fragile lead forms into robust estimating engines](https://llamapress.ai/web-to-application-transforming-fragile-lead-forms-into-robust-estimating-engines). The Requirements ## What custom estimating software actually needs to do Strip away the demo gloss and an estimating team needs five things a shared workbook cannot provide. ### One live version Every estimate lives in a database. No copies on desktops, no \_v3, no \_REVISED. What the PM sees is what the estimator built, always current. ### Locked cost tables Unit costs, labor rates, and markup tables update in one place, on a schedule, by someone with permission to do it. A bid can never pick up stale steel prices again. ### Per-line-item audit history Who changed the excavation quantity, when, and from what value. When a number looks wrong on bid day, you trace it in seconds instead of interrogating the office. ### Quote PDF generation A clean, branded quote produced from the live estimate at the press of a button. Line items, allowances, and exclusions pulled straight from the data, never retyped. ### Roles that match the org chart Estimators build. PMs view and track against actuals for job costing. The owner sees margin across every open bid. Nobody edits a formula by accident, because nobody edits formulas at all. ### Your workflow, guided Takeoff to BOQ to pricing to review to submission, with change orders handled as first-class records instead of a tab someone remembers to update. How It Works ## From workbook to working app, with Leonardo Your spreadsheet already encodes your process: the assemblies, the unit costs, the markup logic, the ugly exceptions that make your bids yours. Leonardo, our AI coding agent, reads that structure and builds the application around it. The logic stays. The container changes. 1 ### Upload your estimating spreadsheet Drop your workbook into [excel-to-app](https://llamapress.ai/excel-to-app). Macros, linked tabs, and all. The messier it is, the more it tells us about how you really work. 2 ### Leonardo maps the logic Cost tables become database tables. Formulas become calculations that run the same way every time. The BOQ structure, markup rules, and change order flow are preserved, then hardened. 3 ### You review a working draft in days Run a real bid through it side by side with the workbook. Where the numbers disagree, we find out which one was wrong. Often it was the spreadsheet. 4 ### Go live, keep iterating Roles, audit trail, and quote PDFs from day one. When your process changes, you tell Leonardo in plain language and the software changes with it. The full walkthrough of the conversion process is in the [Excel to App master guide](https://llamapress.ai/excel-to-app-master-guide). ![Estimator drafting quantities directly on a construction blueprint by hand](https://images.unsplash.com/photo-1503387837-b154d5074bd2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxjb25zdHJ1Y3Rpb24lMjBlc3RpbWF0b3IlMjBibHVlcHJpbnQlMjBkZXNrfGVufDB8fHx8MTc4Mzg3ODI0Mnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Daniel McCullough](https://unsplash.com/@d_mccullough?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-drafting-on-blueprint--FPFq_trr2Y?utm_source=leonardo_rails_app&utm_medium=referral) The Alternatives ## You have three other options. Here is why teams keep bouncing off them. ### Vertical SaaS estimating tools Built for an average contractor who does not exist. Per-seat pricing that punishes you for adding a PM. Your markup structure gets bent to fit their fields, and the assemblies you spent ten years refining get flattened into their template. ### Airtable-style no-code tools A spreadsheet with a nicer skin. Fine for a contact list, but multi-tab BOQ math, conditional markup tables, and change order workflows push these tools past what they were designed to carry. You end up rebuilding your workbook, badly, inside someone else's grid. ### Traditional custom development The right result at the wrong price. Six figures, six months, and a spec document nobody can verify until the money is spent. That math made sense for nobody under $50M in revenue, which is exactly why you are still on Excel. Leonardo changes the third option's economics. Custom software, generated from your own spreadsheet, at a price you can read today on our [pricing page](https://llamapress.ai/pricing). Buyer Questions ## Custom estimating software, answered ### What does custom estimating software cost with LlamaPress? A fraction of traditional custom development. Because Leonardo generates the application from your existing spreadsheet, you skip the six-figure agency engagement. Current plans are listed on our [pricing page](https://llamapress.ai/pricing), and there is no per-seat penalty for adding estimators or PMs. ### How long until we can run a real bid through it? A working first version typically lands within days of uploading your workbook. Most teams run their first live bid through the app within the first couple of weeks, alongside the spreadsheet, before cutting over fully. ### Can it keep our formulas and markup logic? Yes. That is the whole premise. Your unit cost tables, assembly buildups, markup tiers, and rounding rules are translated into database logic that produces the same numbers, then verified against your workbook on real bids before you switch. ### What happens to our historical estimates and job data? Historical estimates, cost libraries, and job records import into the new database, so past bids stay searchable and job costing comparisons carry forward. Nothing is left stranded in old files. ### Who owns the software and the data? You do. The application is yours, built on standard open technology (Ruby on Rails and PostgreSQL), running on your own instance. Your data exports whenever you want it, and you are never locked into a proprietary format. Still comparing your options? Our teardown of [what free spreadsheets really cost as you scale](https://llamapress.ai/the-true-cost-of-free-rental-property-spreadsheets-scaling-portfolios-in-2025) applies to estimating workbooks just as much as rent rolls. ## Your next bid deserves better than v3\_REVISED Upload the workbook your team fights over. Leonardo will show you what it looks like as real estimating software, with your logic intact. [Upload your estimating spreadsheet](https://llamapress.ai/excel-to-app) [Talk to us first](https://llamapress.ai/contact) ============================================================================== # Custom Order Tracking Software for Small Business Source: https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth ============================================================================== # Custom Order Tracking Software for Small Business > Order tracking software for small business, built from your spreadsheet by an AI agent. One source of truth, full customer history, audit trail. Live in days. Source: https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Order tracking software for small business, built from your spreadsheet by an AI agent. One source of truth, full customer history, audit trail. Live in days. [Back to all articles](https://llamapress.ai/blog) ## The Week the Spreadsheet Finally Cost You Money A rush order comes in Tuesday morning. Your CSR updates the status in her copy of the tracker and emails the warehouse. The warehouse lead has his own copy open from Monday. He builds the pick list off stale data, the order ships twice, and Thursday you eat return freight plus a restocking argument with a net-30 account that already pays slowly. Or the quieter version. A customer calls about a credit memo from three weeks ago. Nobody logged it in the tracker because it lived in a reply-all thread. Answering one question means opening the orders file, the RMA file, the pricing sheet, and somebody's inbox. Twenty minutes later you still cannot say for certain who approved it. Then your best ops person goes home at five, and the backorder follow-ups she was tracking in her head go home with her. Nothing in the file says which POs she chased today. There is no column for that, and if there were, nobody would trust it, because nobody can see who last touched any cell or why. None of this is a discipline problem. A shared file was never built to be the operating system for orders across sales, warehouse, and accounting. We wrote about the same collapse in [the CRM Excel template bottleneck](https://llamapress.ai/crm-excel-template-scaling-bottleneck) and [the basic inventory spreadsheet trap](https://llamapress.ai/the-basic-inventory-spreadsheet-trap-scaling-your-operations-in-2025). Orders just make it bleed faster, because every mistake ships. ![Warehouse manager and team member checking order status together in a distribution facility](https://images.unsplash.com/photo-1664382953403-fc1ac77073a0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx3YXJlaG91c2UlMjBkaXN0cmlidXRpb24lMjBvcGVyYXRpb25zJTIwbWFuYWdlcnxlbnwwfHx8fDE3ODM4NzgyNDN8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Centre for Ageing Better](https://unsplash.com/@ageing_better?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-man-and-a-woman-in-a-warehouse-ZlOlRnWk8zU?utm_source=leonardo_rails_app&utm_medium=referral) One Source of Truth ## What One Source of Truth Actually Means for Orders A customer order tracking spreadsheet replacement is only worth doing if it fixes the specific ways the file fails. Five things change on day one. ### Live, Shared Data One record per order in a real database. Sales, warehouse, and accounting see the same status at the same second. No copies, no "which file is current." ### Customer Timeline View Open a customer and see every order, RMA, credit memo, and call note on one screen. Answer "what happened with the Hendricks account" without opening three files and an inbox. ### Your Status Pipeline Quoted, PO received, in production, staged, shipped, invoiced. Your stages, in your order, including the weird exception lane your industry needs. Every order visibly sits in exactly one. ### Accountability Trail Every change is stamped with who, what, and when. The credit memo question takes ten seconds. Disputes with customers get settled by the record, not by memory. ### Alerts on Stalled Orders An order sitting in "awaiting parts" for six days pings the right person automatically. Backorder follow-ups stop living in one operator's head. ### Role-Based Access Warehouse sees pick lists and statuses. Sales sees pricing and margin. Nobody can fat-finger a formula, because there are no formulas to break. How It Works ## From Order Spreadsheet to Working Software Leonardo is our AI coding agent. It reads your actual order tracker and builds the application around it, so the software matches the process your team already runs. 1 ### Upload your spreadsheet Drop the order tracker into [Excel to App](https://llamapress.ai/excel-to-app). Leonardo maps your columns, your statuses, and your pricing logic, including the tiered discounts and the customer-specific exceptions. 2 ### Review the first working version You get a live app with your real structure in it: order pipeline, customer records, pick list views. You click through it and tell Leonardo what to change in plain English. 3 ### Migrate history and go live Your existing order rows import as real records, so customer history starts complete instead of empty. Add users, set roles, retire the file. 4 ### Keep evolving it New product line, new status, new report for the Monday meeting: ask Leonardo and it ships. The software bends to the business, which is the whole point of custom. ![Operations manager walking the floor of a distribution warehouse between racking aisles](https://images.unsplash.com/photo-1592228533283-d78f7c1cf453?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHx3YXJlaG91c2UlMjBkaXN0cmlidXRpb24lMjBvcGVyYXRpb25zJTIwbWFuYWdlcnxlbnwwfHx8fDE3ODM4NzgyNDN8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Mauricio Gutiérrez](https://unsplash.com/@mauriciogutierreztello?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-in-black-jacket-and-black-pants-walking-on-hallway-SoiVEdJKzhY?utm_source=leonardo_rails_app&utm_medium=referral) ## Why Not an ERP, Generic SaaS, or Just Staying in Excel? You have three other options. Here is the honest read on each for a small manufacturer, distributor, or ops team. ### The ERP Route An order management system inside a full ERP does everything, eventually. Budget $50K and up, plan for a rollout measured in quarters, and expect to reshape your process around its modules. If you have 15 people and one order flow, you are buying a freight train to cross the street. ### Generic Order SaaS Off-the-shelf tools ship someone else's pipeline. Your blanket POs, your will-call orders, your customer-specific pricing end up wedged into a notes field. Within a quarter, the team keeps a side spreadsheet for everything the tool cannot hold, and you are back to two sources of truth. ### Staying in Excel Free, familiar, and the reason you are reading this. The double-shipped rush order will happen again, because a file cannot enforce one version of the truth. We laid out the mechanics in [the hidden trap of the Excel customer database](https://llamapress.ai/the-hidden-trap-of-the-excel-customer-database-template-why-scaling-businesses-need-more-in-2025). Custom software used to belong in the ERP price bracket. With an AI agent doing the build, it now sits closer to a year of SaaS seats. See [our pricing](https://llamapress.ai/pricing) for the actual numbers. ## Questions Buyers Ask Before Switching ### How much does this cost compared to an ERP? A small-business ERP implementation typically runs $50,000 or more before training and customization. A LlamaPress build starts from your spreadsheet, so most of the requirements work is already done. Plans are on [the pricing page](https://llamapress.ai/pricing); the honest summary is that it lands nearer to a year of per-seat SaaS than to any ERP quote you have received. ### How long until my team is using it? The first working version comes back in days, because Leonardo generates it directly from your uploaded tracker. Most teams spend a week or two refining statuses, views, and roles, then go live. Compare that to the 6 to 9 month rollout an ERP vendor will scope. ### Can we bring our existing order history in? Yes. Your current spreadsheet rows import as real database records during the build. Customer timelines start populated with past orders, RMAs, and credit history instead of starting from zero. ### Does it integrate with our accounting and shipping tools? Because the software is custom, integrations are built to your stack rather than picked from a marketplace list. Common requests are QuickBooks or Xero for invoicing, carrier tracking links on shipped orders, and email or Slack alerts on status changes. Tell us what you run on the [contact page](https://llamapress.ai/contact) and we will confirm before you commit. ### Who owns the software and the data? You do. The application is built on a standard open-source stack, your data lives in your own database, and you can export it or take the code with you. There is no proprietary format holding your orders hostage. Start With the File You Already Have ## Retire the Order Tracker Before It Ships Another Mistake Upload the spreadsheet your team fights over every day. Leonardo will hand back order tracking software built around it, with one source of truth your whole team can see. [Upload Your Order Spreadsheet](https://llamapress.ai/excel-to-app) [Book a Conversation](https://llamapress.ai/contact) ============================================================================== # Custom Software Development Beyond Off the Shelf Source: https://llamapress.ai/custom-software-development-when-off-the-shelf-stops-fitting ============================================================================== # Custom Software Development Beyond Off the Shelf > See what custom software development costs in 2026, what services should include, how to compare a company, agency, or firm, and when SaaS is the better buy. Source: https://llamapress.ai/custom-software-development-when-off-the-shelf-stops-fitting | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) See what custom software development costs in 2026, what services should include, how to compare a company, agency, or firm, and when SaaS is the better buy. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Custom software development means paying a team to build software around the way your company already works. Off-the-shelf tools make your process bend to fit them. Custom software fits the process you have. Companies that reach this search are rarely missing one app. They run a CRM, a job tracker, an accounting system, and a stack of spreadsheets that do not talk to each other. Someone on payroll spends hours each week retyping data between those tools. That person is the sign the shelf has stopped fitting. Here is the short version of the market. As of this writing, a traditional custom software development company quotes $50,000 to $250,000 for a system-level build and takes four to twelve months. AI-built custom software has changed those numbers. Supervised AI builds land in the low thousands of dollars, and the first working version arrives in days. With either route, insist on four things. You want code in your own repository, a real database, weekly working demos, and a written maintenance price. ![Two people mapping a business process on a whiteboard before a custom software build](https://images.unsplash.com/photo-1532622785990-d2c36a76f5a6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxzb2Z0d2FyZSUyMGRldmVsb3BtZW50JTIwdGVhbSUyMHBsYW5uaW5nJTIwd2hpdGVib2FyZHxlbnwwfHx8fDE3ODc4OTY3MjN8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Kaleidico](https://unsplash.com/@kaleidico?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/two-people-drawing-on-whiteboard-26MJGnCM0Wc?utm_source=leonardo_rails_app&utm_medium=referral) ## What Custom Software Means at the System Level Vendors use three labels for roughly the same work. Custom application development usually means one app with one job, such as a quoting tool. Custom software application development is the same phrase with an extra word. Custom software development, used honestly, means something bigger: an operations platform. One system that holds your customers, jobs, quotes, schedules, and reports in one database. The system-level version matters because tool sprawl is the real cost at mid-market scale. A 40 person contractor I would consider typical runs six subscriptions and a dozen spreadsheets. Each tool holds part of the truth. Nobody can see a customer's full history without opening three windows. Consolidating those tools into one system is the strongest case for a custom build. The software matches your process, and every team works from the same records. If your need really is one app rather than a platform, scope it that way and pay less. We wrote a separate guide to [custom application development services](https://llamapress.ai/custom-app-development-services-that-start-from-how-you-already-work) for that single-app case. If a vendor has pitched you a platform instead, our plain guide to [what a digital transformation platform is](https://llamapress.ai/what-is-a-digital-transformation-platform-and-does-a-mid-market-business-need-one) explains what the bundle contains and what it costs. ## The 2026 Cost Reality Two price structures now exist side by side, and they are far apart. The traditional model bills a team of humans by the hour. A project manager, designers, and developers spend months on discovery, sprints, and testing. That is why a system build from a conventional custom software development firm runs $50,000 to $250,000 as of this writing. The model is honest. Human hours cost what they cost. The second structure is AI-built custom software. An AI coding agent writes the application code in a standard web framework while engineers supervise and review. The agent starts from artifacts you already own, usually the spreadsheets that run the process today. Human hours drop by an order of magnitude, so the price does too. Builds land in the low thousands of dollars, and a working version exists inside the first week. The output is normal source code, so any developer can maintain it later. The number that matters most is neither quote. It is the cost of doing nothing. Price the retyping hours, the errors, and the deals that slip through gaps between tools. Our [cost guide for custom apps](https://llamapress.ai/custom-apps-for-business-what-they-cost-and-when-you-need-one) walks through that math band by band. ## What Custom Software Development Services Should Include Plenty of software development services stop at code delivery. A finished system needs more than code. Before you sign with anyone, check the engagement for six items. 1. **Discovery from your real artifacts.** The team should study your spreadsheets, forms, and reports. A process interview built on invented requirements produces invented software. 2. **A real database.** Your records belong in a proper database with roles and history, and you should be able to export everything at any time. 3. **Code ownership.** The repository lives in your own GitHub account from day one. Anything else is rental. 4. **Integrations.** The system must talk to whatever stays: your accounting package, your email, your payment processor. 5. **Weekly working demos.** You should click on real screens every week, from the first week. Every troubled project I have reviewed kept the buyer blind until the end. 6. **A written maintenance price.** Hosting, security patches, and small changes need a monthly number before launch, never after. Miss any of these and the savings evaporate later. The cheap build with no export button becomes the expensive rebuild in year two. ## Company, Agency, or Firm: Same Service, Different Labels Buyers search for a custom software development company, a custom software development agency, and a custom software development firm as if they were different categories. They are the same business wearing three outfits. "Agency" leans toward design and marketing roots. "Firm" signals enterprise consulting. "Company" is the plain label. One more variant deserves care: a custom software company sometimes sells its own product with paid modifications, which is configuration, and the label hides it. So compare vendors on structure instead of on the noun in the name. Ask who writes the code, where the code lives, what the stack is, and what happens when you leave. Ask what the quoted price includes and what triggers a change order. The full checklist of vendor questions, with the four buying routes priced out, is in our guide on [how to get an app made for your business](https://llamapress.ai/how-to-get-an-app-made-for-your-business). ## When Configured SaaS Is the Better Buy Custom is the wrong answer for solved problems. Accounting, payroll, and email marketing are standard processes with excellent off-the-shelf products. Building your own version of QuickBooks would be a waste of money. The same logic applies whenever your process matches the industry standard and a vertical SaaS tool covers 90 percent of it. Configure the tool, accept the last 10 percent, and move on. Custom earns its price in the opposite case. Your process is the differentiator, the spreadsheet that runs it has become the system of record, and no vendor's workflow matches yours. A rigid tool at $300 per month that your team routes around costs more than it appears to. When the workaround spreadsheets start multiplying around the SaaS tool, the shelf has stopped fitting again. ## Where LlamaPress Fits LlamaPress builds the AI-built route described above. Our AI coding agent, Leonardo, builds database-backed web systems from the process you already run. The starting spec is usually your spreadsheet, because your spreadsheet already encodes your fields, your rules, and your exceptions. You watch the build happen in a live session. The code is standard Ruby on Rails in your own GitHub account, and the data sits in a database you can export. We build operations platforms for 10 to 200 person companies: estimating and job costing, order and customer tracking, client onboarding, scheduling, and reporting. We will also tell you when a configured SaaS tool is the better buy, because a bad-fit project helps neither side. Our [services page](https://llamapress.ai/services) explains how an engagement runs from first call to launched system. Built Around Your Process ### One system instead of six tools. Tell us what your team runs today, tools and spreadsheets included. We will show you a working system before you commit to anything. [Talk through your build](https://llamapress.ai/services) [Start from your spreadsheet](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What is custom software development? Custom software development is the design and build of software written for one company's specific process. Off-the-shelf products serve the average process in an industry. A custom system matches your exact records, rules, and workflows, and consolidates them in one database. Companies buy custom when their process no longer fits the tools on the market. ### How much does custom software development cost? As of this writing, a traditional development team quotes $50,000 to $250,000 for a system-level build over four to twelve months. Single apps from agencies run $30,000 to $150,000. AI-built custom software, where an AI agent writes the code under engineering supervision, lands in the low thousands of dollars with a working version in days. ### What is the difference between a custom software development company, agency, and firm? Nothing structural. The three labels describe the same service business. "Agency" tends to signal design roots, "firm" signals enterprise consulting, and "company" is the neutral term. Compare vendors on code ownership, stack, visibility during the build, and maintenance pricing rather than on the label they chose. ### What is custom application development? Custom application development is the single-app end of the same market. One application does one job, such as quoting, order tracking, or client onboarding. Custom software development at the system level joins several of those jobs into one platform on one database. Scope to the app when one job hurts, and to the system when tool sprawl hurts. ### When is off-the-shelf software the better choice? Choose off-the-shelf when your process matches the industry standard and a product already covers about 90 percent of it. Accounting, payroll, and email marketing almost always belong on standard products. Choose custom when your process is your advantage and your team keeps building workaround spreadsheets to route around the tool. ============================================================================== # Custom Software for Your Business: A One-Page Overview Source: https://llamapress.ai/custom-business-software-overview ============================================================================== # Custom Software for Your Business: A One-Page Overview > What LlamaPress builds, who it is for, and how it works. A plain-English overview you can print, save as a PDF, and share. Source: https://llamapress.ai/custom-business-software-overview | Updated: 2026-09-04 --- # Custom software for your business LlamaPress builds working software for the jobs your business already does by hand, usually in a spreadsheet. You describe what you need in plain English. You get a real web application that your team can sign in and use. ## Who this is for **You run the business on spreadsheets**The file works, but only one person really understands it, and it breaks when two people open it at once. **Off-the-shelf software does not fit**You have looked at the standard products and each one asks you to change how you work. **You have no development team**Nobody in the business writes code, and hiring an agency for every small change is not realistic. **Your process is the advantage**The way you quote, schedule, or price is what makes you money. It should not be flattened to fit a template. ## What you get **A real application**Sign-in, user accounts, and a proper database behind it. Not a form on top of a spreadsheet. **You own it**The application is yours, including the code. You are not renting access to your own process. **Changes in plain English**Ask for a change in ordinary words and watch it happen. No ticket queue, no waiting for a developer. **Your data stays yours**You can export it whenever you want. Nothing is locked in a format only we can read. ## How it works 1. **Show us the work.** Upload the spreadsheet you use today, or just describe the job you need done. 2. **Watch it get built.** Leo, our AI builder, turns it into a working application while you give feedback. 3. **Put your team on it.** Invite the people who need it, use it for real work, and keep changing it as the business changes. ## Getting started You can start free and build something real before you pay anything. Paid plans add more capacity and features as the application becomes part of how you operate. Current plans and prices: [https://llamapress.ai/pricing](https://llamapress.ai/pricing) [Try it at llamapress.ai](https://llamapress.ai) **LlamaPress AI** Custom business software, built with you, owned by you. [https://llamapress.ai](https://llamapress.ai) ============================================================================== # Done-For-You Software Development Services Source: https://llamapress.ai/services ============================================================================== # Done-For-You Software Development Services > Our team pairs AI coding agents with senior engineers to build your custom business software for you. Fixed scope, fast turnaround, real humans on call. Source: https://llamapress.ai/services | Updated: 2026-09-04 --- # Software Built for You Turn your spreadsheets, manual processes, and painful workflows into production-ready software. Choose a focused build sprint, an ongoing development partnership, or a custom engagement for more complex projects. ## Build Sprint From $2,000 Get a clearly defined feature, workflow, integration, or application built in a focused sprint. - Clearly defined scope and deliverables - Dedicated software engineer - Rapid development and testing - Deployment and launch support - Full ownership of your code [Scope Your Sprint](#) Popular ## Build Partner From $1,500 / mo Work directly with an experienced software engineer to continuously build and improve your software. - Ongoing engineering capacity - Regular planning and progress updates - New features and workflow improvements - Integrations and automation - Technical support and maintenance - Full ownership of your code [Start Building Together](#) ## Custom Build Custom pricing A tailored engagement for larger, more complex, or business-critical software projects. - Discovery and solution design - Complex applications and integrations - Data migration and system consolidation - Multiple users, teams, and workflows - Enterprise infrastructure and security - Ongoing support and maintenance - Full ownership of your code [Discuss Your Project](#) ## Not Sure Which Option Fits? Tell us what you are trying to build. We will recommend the simplest and most cost-effective way to get it done. [Talk to Us](#) ### Get in Touch Tell us about your project and we'll get back to you within 24 hours. ============================================================================== # Education Software Built From Your Own Spreadsheets Source: https://llamapress.ai/education ============================================================================== # Education Software Built From Your Own Spreadsheets > Enrollment, grading, program tracking, and student records software built by LlamaPress from the spreadsheets your school already uses. See how Leonardo turns them into real apps. Source: https://llamapress.ai/education | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Enrollment, grading, program tracking, and student records software built by LlamaPress from the spreadsheets your school already uses. See how Leonardo turns them into real apps. [Back to all articles](https://llamapress.ai/blog) The Problem ## Your school runs on spreadsheets that were never built for this Admissions starts with a spreadsheet that tracks applications, but the transcripts arrive by email, the immunization records live in a folder on someone's desktop, and the decisions go out from a personal account. When a family calls to ask where their application stands, the registrar has to reconstruct the answer from memory, email, and a column nobody updated. The registrar, the academic advisor, and the program director each keep their own copy of the truth. One tracks enrollment, another tracks credit completion, a third tracks the waitlist. When the board asks how many students are on track to graduate, three people produce three different numbers, and each one is confident their number is right. Grading works the same way. A gradebook spreadsheet holds the scores, but the rubric lives in a shared drive, the accommodations for individual students exist only in the advisor's notes, and end-of-term reports are assembled by hand, row by row. It is not a people problem. Your staff is working hard. The tools force them to be the database. None of this is unusual. It is what spreadsheets do when they grow past the person who made them. The fix is not another form tool or a school-wide platform that takes a year to implement. It is software shaped to your actual process, built from the files you already use. ![A focused education team collaborating on a student program together](https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&q=80&w=1200) Photo by [Partnership for Observation of the Global Ocean](https://unsplash.com/@pogo_ocean?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) What We Build ## Real apps for the work your school actually does LlamaPress builds custom software for education teams, usually starting from the spreadsheet that already runs the process. Here is what that looks like in practice. ### Enrollment & Admissions Every applicant becomes a record with a status: documents received, review complete, decision sent. Uploads attach to the right student, waitlists stay sorted, and the admissions team answers "where is this application" in one click instead of one hour of digging. ### Grading & Assessment Grades, rubrics, and accommodations live together instead of in three places. Instructors enter scores once, the system applies the rubric, and end-of-term reports generate themselves with the correct individual accommodations already baked in. ### Program & Credit Tracking Credits, prerequisites, and completion status tracked per student against the program map. Advisors see at a glance who is on track, who is missing a prerequisite, and who is two credits short of graduating, without opening three files. ### Student Records Transcripts, IEPs, accommodation plans, and contact history in one secure place per student, with access logged. When a parent calls, the record is complete, current, and right in front of you instead of scattered across email and desktops. ### Reporting & Accreditation Attendance, retention, completion, and outcome reports generated from the same data your staff enters daily. The board report that took a week of spreadsheet surgery now takes minutes, and every number traces back to a real record. ### Student & Family Portals Students and families see their own progress, deadlines, and outstanding documents. The office stops answering "did you get my form" because the answer is visible to everyone, updated the moment something changes. How It Works ## From spreadsheet to education software, with Leonardo Leonardo is LlamaPress's AI builder. It reads the spreadsheet the way a developer would read a spec, then builds the software around it. You can start for free and see the first working version in your first session. 1 ### Upload the spreadsheet you use today Head to [Excel to App](https://llamapress.ai/excel-to-app) and upload your enrollment tracker, gradebook, or program map exactly as it is. Tabs, color coding, notes in cells. Leonardo reads the columns, the statuses, and the logic you apply by hand. 2 ### Leonardo builds the first working version Your spreadsheet becomes an application: a student record for each applicant, guided statuses, document uploads, and the reports your office actually runs. It runs on a real database from day one, so nothing lives in someone's head or inbox anymore. 3 ### Refine it in plain English "Out-of-state applicants skip the in-person step." "Add a field for transfer credits." "Advisors see only their own students." You describe the change, Leonardo makes it. The process logic lands exactly as your registrar would explain it. 4 ### Go live with your team Invite your registrar, advisors, and program staff, and retire the spreadsheet. The app keeps evolving as your process does, because changing it is a conversation rather than a development contract. ## Why not just buy an existing system? Most schools have already looked at the big platforms and the form tools. Both miss the point in different ways. ### Campus platforms Powerful, and built for universities with an IT department and a year-long implementation. A small college or training program ends up paying for modules it will never switch on, then waits months for a change to a workflow it already has working. ### Forms tools Great at collecting answers once. But enrollment is a months-long sequence with internal steps, documents, and decisions. A form cannot chase a missing transcript or tell you which of four hundred applicants is stuck in review. ### Better spreadsheets Shared drives, locked cells, and conditional formatting can go only so far. The moment two people update the same file, or a document needs to attach to a record, the spreadsheet stops being the tool and starts being the bottleneck. LlamaPress builds the option that fits: software shaped to your school's process, at a price shaped to your size. See [pricing](https://llamapress.ai/pricing) for what that costs. ## Questions education teams ask us ### We handle student data. How is privacy handled? Your application runs on its own dedicated instance with its own database, so student records are never pooled with other organizations' data. Access is controlled per role and every access is logged. If you operate under specific regulations, talk to us on the [contact page](https://llamapress.ai/contact) before you build. ### How long does it take to go from spreadsheet to a live system? The first working version is built by Leonardo in your first session, usually within the hour. Most teams spend a few days refining stages, fields, and report formats, then run one real enrollment cycle through it before switching over fully. Weeks, not a school year. ### Can students and families see their own progress? Yes. Each student or family can get a login where they see their application status, outstanding documents, and program progress. They see only their own record, and your team controls exactly which fields are visible. ### We already use a student information system. Is this a replacement? Often it is a complement. Schools use LlamaPress for the processes the SIS was never good at: admissions workflows, credit audits, program-level tracking, custom reports. If your SIS genuinely does everything you need, we will tell you that and point you back to it. ### Who owns the software and the data? You do. The application is yours, the database is yours, and your data is exportable at any time. Paid plans include access to the source code, so you are never locked into us to keep the system you built. Start Today ## Your spreadsheet is the spec. Upload it. The enrollment tracker or gradebook you maintain by hand already describes your ideal software. Leonardo will build the real version, with student records, guided statuses, and reports that run themselves. [Upload Your Spreadsheet](https://llamapress.ai/excel-to-app) [Ask a Question First](https://llamapress.ai/contact) ============================================================================== # Enterprise Application Development for Internal Tools Source: https://llamapress.ai/enterprise-application-development-for-the-tools-your-team-uses-daily ============================================================================== # Enterprise Application Development for Internal Tools > The order desk and approval queue your team uses daily are enterprise applications. See what enterprise application development costs when AI writes the code. Source: https://llamapress.ai/enterprise-application-development-for-the-tools-your-team-uses-daily | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) The order desk and approval queue your team uses daily are enterprise applications. See what enterprise application development costs when AI writes the code. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent An enterprise application is software a company runs part of its business on. It has a shared database, many users, and rules about who can see and change what. Your order desk qualifies. So does the job board your dispatcher updates and the queue your invoice approvals wait in. Enterprise application development is the work of designing, building, and maintaining that kind of software. For decades the price started at six figures, so only large companies bought it. AI coding agents changed the price. A working internal tool now takes days, and you own the code. I am a software engineer, and I build the AI agent that does this work at LlamaPress. Most people who call us do not think they need enterprise software development. They run a 40-person distributor or a contracting firm, and they think enterprise means SAP. Meanwhile the tools their team uses every day live in spreadsheets and group chats. This guide explains what the services include, how companies that build apps differ from each other, and what enterprise-grade means once you strip away the vendor pricing. ## Your Internal Tools Are Enterprise Applications Internal tooling is the software your own staff uses to run the day. An order desk that tracks what came in and what shipped. A job board that shows which crew is where. An approval queue that moves a purchase request from a manager to a signature. None of these face a customer. All of them meet the definition above: shared data, multiple users, permissions, and a workflow the business depends on. Large companies staff whole IT departments to build and run these tools. Mid-market companies get a worse deal. The firms that advertise enterprise application development are structured for Fortune 500 budgets, with discovery phases and project managers billed by the week. A 40-person company that asks for a quote hears a number with two commas in it. So the order desk stays in a spreadsheet, and the approval queue stays in an inbox. The tools your team touches eight hours a day end up being the least developed software you use. That gap is a pricing artifact, and pricing artifacts do not last. The engineering behind an internal tool is well understood. What made it expensive was the cost of writing code by hand. ![A team works together on laptops, the daily users of an internal enterprise application](https://images.unsplash.com/photo-1522071820081-009f0129c71c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxvZmZpY2UlMjB0ZWFtJTIwd29ya2luZyUyMGludGVybmFsJTIwc29mdHdhcmUlMjBkYXNoYm9hcmR8ZW58MHx8fHwxNzg3ODk3MzYzfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Annie Spratt](https://unsplash.com/@anniespratt?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/group-of-people-using-laptop-computer-QckxruozjRg?utm_source=leonardo_rails_app&utm_medium=referral) ## What Enterprise Application Development Services Include Any serious engagement, from any kind of firm, should deliver the same seven things. Use this list to compare quotes. First, a data model: the tables your business facts live in, and how they link. Second, roles and permissions, so a dispatcher and an accountant see different screens. Third, the workflows themselves: statuses, handoffs, and the rules that move a record from open to done. Fourth, integrations with the systems you keep, such as your accounting package or your email. Fifth, reporting, so a manager can see the week without exporting anything. Sixth, hosting and backups. Seventh, a named human who fixes problems after launch. Notice what is absent from the list. There is no requirement for a famous vendor, a license tier, or a twelve-month rollout. Custom internal software is a defined engineering product. When a proposal hides these seven items behind workshop language, ask where each one is. ## How Companies That Build Apps Differ Search for an enterprise app development company, or for firms selling custom apps development, and hundreds of results look the same. They sort into three models, and the model matters more than the logo wall. A staff augmentation firm rents you developers by the hour. Rates run from roughly $25 to $200 per hour as of this writing, depending on country and seniority. You manage the work yourself. This model fits a company that already has a technical leader who can write specs and review code. Most mid-market operators do not have that person on payroll. A product agency sells a complete project: discovery workshops, designers, a build team, a project manager. The quality can be high, and so is the overhead. Agency builds commonly start around $50,000 and reach $250,000 or more as of this writing. The model was designed for funded product launches. A modest internal tool is uneconomical for them to take on, which is why smaller requests get quoted like large ones. An AI-built service is the third model, and it is new. An AI coding agent writes the application, and human engineers review the work and stand behind it. The economics changed because the expensive part, writing code by hand, got cheap. A working internal tool lands in days instead of quarters, and pricing lands in the low four to low five figures as of this writing. This page covers internal tools for operations teams. A smaller business that wants a customer-facing app should read our guide to [custom app development services that start from how you already work](https://llamapress.ai/custom-app-development-services-that-start-from-how-you-already-work). A company whose problem spans several systems that need to become one platform should read about [custom software development when off-the-shelf stops fitting](https://llamapress.ai/custom-software-development-when-off-the-shelf-stops-fitting). ## What Enterprise-Grade Actually Requires Enterprise-grade is a real standard. It is also a phrase vendors use to defend a price. Strip the pricing away and the standard comes down to four requirements. Roles and permissions: each person sees exactly the records their job requires, enforced in the database, on every screen. An audit trail: the system records who changed what and when, so a disputed order has a history instead of an argument. Backups: the database is copied on a schedule, and someone has tested a restore. Uptime: the tool runs on managed infrastructure with monitoring, because a down order desk stops the whole desk. None of the four requires an enterprise vendor. They are properties of a well-built web application on mainstream infrastructure. A Ruby on Rails application with scoped queries, a change-log table, nightly database backups, and monitored hosting meets the standard. What matters is that someone verifies each item on your build. Ask for the four by name and listen for specific answers. ## Our Build Model, and When You Do Not Need Us Our AI coding agent is named Leonardo. You describe the tool in plain English, or you upload the spreadsheet the process lives in today. The spreadsheet is usually the best spec you will ever write. Every tab is a database table, every column is a field, and every status color is workflow logic. Leonardo builds the application in Ruby on Rails, a framework that has carried business software for two decades. The code can sync to a GitHub repository you control, and human engineers review the build and stay responsible after launch. We are web-first: your team opens the tool in a browser on any device, and we do not build native app-store apps. Operators who prefer to drive the agent themselves can start with [the internal app builder that starts from your spreadsheet](https://llamapress.ai/the-internal-app-builder-that-starts-from-your-spreadsheet). You do not always need us, and you do not always need custom software. When a mainstream product already matches your workflow, buy the mainstream product. A $30 per seat project tracker that fits how you schedule jobs beats a custom build on price and on day-one polish. Custom enterprise application development earns its cost in one specific situation: the process is particular to your company, no product on the market sells it, and your team runs it every day. Apply that test honestly before you spend anything. When your process passes the test, [our services team will scope the tool with you](https://llamapress.ai/services) before any money moves. ### Give your team a real tool Tell us about the order desk, job board, or approval queue your team runs by hand. Leonardo builds it as database-backed software you own, with roles, an audit trail, and backups included. Human engineers stand behind every build. [Scope Your Internal Tool](https://llamapress.ai/services) [See How Leonardo Works](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What is an enterprise application? An enterprise application is software a company runs part of its operations on. It holds shared data in one database, serves many users at once, and enforces rules about who can see and change each record. Order tracking systems, job boards, approval queues, and inventory systems all qualify. Company size is irrelevant to the definition. A 20-person distributor running an order desk has an enterprise application, whatever the tool is built on today. ### What is the difference between enterprise software development and regular app development? Regular app development often means one product for one kind of user, such as a booking page or a customer portal. Enterprise software development means multi-user systems with roles, permissions, audit history, and integrations into other business systems. The engineering standard is higher because many people depend on one shared database. The label says nothing about company size or budget. It describes the shape of the software. ### How much does enterprise application development cost? The price depends on who builds it. Staff augmentation runs roughly $25 to $200 per developer hour as of this writing, and you manage the project. Traditional agencies commonly quote $50,000 to $250,000 or more for a full build. AI-built development runs in the low four to low five figures for a working internal tool as of this writing, because the agent writes the code and humans review it. Scope drives every number, so distrust any quote that arrives before someone has seen your workflow. ### Do we need an enterprise app development company, or is a no-code tool enough? Try the simplest option first. When a mainstream product or a no-code platform matches your workflow, use it. A custom build is the right call when the process is specific to your company, the record types link together in ways templates cannot express, and several people run the process daily. Also weigh ownership. A no-code platform rents you the tool, while a built application is code you keep. ### How long does an internal tool take to build? With an AI coding agent, a working first version of a typical internal tool takes days. That version has real screens, a real database, and logins for your team. Expect a short second phase after your team uses it, because real use always surfaces changes. Traditional timelines for the same scope run three to nine months, mostly consumed by meetings and handoffs rather than by engineering. ============================================================================== # Excel Save As Web Page: Why the HTML Is a Mess Source: https://llamapress.ai/why-excel-save-as-web-page-produces-messy-html-and-how-to-clean-it-up ============================================================================== # Excel Save As Web Page: Why the HTML Is a Mess > Excel's own HTML export carries Office namespaces, mso styles and a folder of supporting files. Here is what is inside the file, why it breaks your page, and four ways to get a clean HTML table instead. Source: https://llamapress.ai/why-excel-save-as-web-page-produces-messy-html-and-how-to-clean-it-up | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Excel's own HTML export carries Office namespaces, mso styles and a folder of supporting files. Here is what is inside the file, why it breaks your page, and four ways to get a clean HTML table instead. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 Excel's Save As Web Page works, and the file it writes is very large. A three column table can come out as thousands of lines, because Excel writes its own formatting model into the page along with the data. You get Office XML namespaces, a block of mso prefixed CSS, numbered style classes on every cell, and a separate folder of supporting files. If you paste that into a CMS, it will fight your stylesheet and usually lose. The fix is to export the values and write the table markup yourself, which takes about ten seconds with a converter. In short - Excel's Web Page export is built to round trip back into Excel, so it stores Excel's model, not clean web markup. - Microsoft says the export keeps "fewer Excel features" than the original, and recommends keeping the .xlsx as your master copy. - The Web Page option also writes a folder of supporting files. Single File Web Page (.mht) embeds them, and most CMS platforms will not accept a .mht at all. - For pasting into a page, generate the table from the values instead. That is what our free converter does. I write software that reads spreadsheets for a living, so I have opened a lot of these files. The mess is not a bug. Excel's HTML export was designed so the file could be reopened in Excel with the formatting intact. Keeping the formatting means storing Excel's own model in the page, and Excel's model does not look like web markup. ## What is actually inside the file Open an Excel HTML export in a text editor and you will usually find five things that have nothing to do with your data. **Office XML namespaces.** The html tag carries extra namespace declarations for Office and Excel. Browsers ignore them. Validators and some editors do not. **A large mso style block.** Excel writes hundreds of rules using Microsoft specific properties that begin with mso. They control print behaviour and Excel rendering. In a browser they do nothing except make the file bigger. **Numbered style classes on every cell.** Instead of semantic classes you get generated names such as xl65 and xl66, one per unique cell format. A sheet with a lot of formatting can produce a hundred of them. None of them mean anything to a person reading your code later. **Cell type attributes.** Cells often carry Excel specific attributes that record whether the value was a number, a string or a date. These exist so Excel can read the file back correctly. **Conditional comments and layout tables.** Older exports wrap the content in extra tables and comments aimed at old versions of Internet Explorer. On top of that, choosing **Web Page (.htm, .html)** makes Excel "create supporting files and folders", as Microsoft's [static web page documentation](https://support.microsoft.com/en-us/office/save-all-or-part-of-a-workbook-to-a-static-web-page-5ad26dee-8739-4d80-b9d9-cf0530ab1968) puts it. Upload the .htm without that folder and the page loses its images and styling. The **Single File Web Page (.mht)** option bundles everything into one file, which solves the folder problem and creates a new one, because most content management systems will not host a .mht. ## Why it breaks your page Three failures come up over and over. The style block collides with your site. Excel's CSS is not scoped to the table. It sets rules on general elements, so pasting the whole export into a page can restyle text that has nothing to do with the spreadsheet. Font sizes shift. Borders appear where you did not want them. The CMS strips half of it. WordPress, Ghost, HubSpot and most email tools sanitise pasted HTML. They usually keep the table and drop the style block, so you end up with the ugliest possible result. All the structure, none of the formatting it depended on. The page gets heavy. A file that should be 4 KB of table arrives at several hundred kilobytes. On a marketing page that is a real speed cost, and speed is a ranking factor. ## What clean table markup looks like A table for the web needs four things and nothing else. One table element. A thead holding the header row in th cells. A tbody holding the data rows in td cells. Your own stylesheet doing the styling. Clean output ```
SKUDescriptionUnit price
RM-220Ratchet strap 5m14.90
RM-240Ratchet strap 9m19.50
``` That is readable by a screen reader, indexable by a search engine, and stylable by you. It is also short enough to review by eye before you publish it, which matters when the table holds prices. ## Four ways to get clean HTML from Excel ### 1. Use a converter that writes the markup for you This is the fastest and it is what I would do. Our free [Excel to HTML converter](https://llamapress.ai/excel-to-html) reads .xlsx, .xls, .xlsm and .csv files, gives you a plain table, and lets you decide whether to include a small stylesheet. The file is parsed in your own browser, so nothing is uploaded. Copy the result or download it as an .html file. ### 2. Export a clean CSV first Save the sheet as .csv, which throws away all formatting by design, then convert the CSV. You lose merged cells and colours, which is usually the point. ### 3. Paste through a plain text step Copy the range, paste it into a plain text editor to strip the formatting, then rebuild the table. This works for a ten row table and stops being sensible above about fifty rows. ### 4. Clean the Excel export by hand If you have to start from Excel's file, the order that works is: delete everything outside the table element, delete the entire style block, delete every class attribute, delete the Excel specific attributes on cells, then wrap the first row in thead and th tags. Check the result in a browser before you publish. Expect fifteen minutes for a table of any size, every time the data changes. ## The one good reason to use Excel's export AutoRepublish. In the Publish as Web Page dialog you can tick **AutoRepublish every time this workbook is saved**, so saving the workbook rewrites the page. If the file sits on a server that serves that folder directly, and the ugly markup does not matter because the page is standalone, that is a genuinely useful automation for an internal report. It stops making sense the moment the table has to live inside a designed page. Then you are pasting Excel's model into somebody else's stylesheet, and the two will not agree. It also stops making sense when visitors need to search the data rather than scroll it, which is the point at which people [convert the spreadsheet into a website](https://llamapress.ai/excel-to-website) instead. ## What about converting an Excel sheet into a web form? A form is a different output entirely. HTML export gives you a read only table. A form needs inputs, validation and somewhere for the answers to go. That is covered in [converting an Excel spreadsheet into a web form](https://llamapress.ai/convert-your-excel-spreadsheet-into-a-web-form-your-team-actually-fills-in), and if the answers have to be stored and reported on, you are describing an application rather than a page. ## Frequently asked questions ### How do I convert Excel to HTML without the extra code? Use a converter that builds the table from cell values instead of from Excel's formatting. Ours is at [llamapress.ai/excel-to-html](https://llamapress.ai/excel-to-html) and outputs a table element with no Office markup in it. ### Why is my exported HTML file so large? Because it stores Excel's formatting model so the file can be reopened in Excel. The data is a small part of it. Microsoft also notes that even with all of that, the export keeps "fewer Excel features" than the original workbook. ### What is the difference between .htm and .mht? Web Page (.htm, .html) writes the page plus a folder of supporting files. Single File Web Page (.mht) packs everything into one file. Browsers can open both. Most content management systems accept neither as a page you can paste into. ### Does the export keep my formulas? No. HTML has no calculation engine, so you get the last calculated values. If the formulas need to keep running, you need software rather than a page. See [whether you can keep your Excel formulas and VBA macros](https://llamapress.ai/can-you-keep-your-excel-formulas-and-vba-macros-when-you-convert-to-a-web-app). ### Can I convert an .xls file, not just .xlsx? Yes. The [converter](https://llamapress.ai/excel-to-html) reads the old Excel 97 to 2003 .xls format directly, so you do not need Excel installed to convert an XLS to an HTML table. ### Skip the cleanup Drop the workbook into our free converter and get a clean HTML table you can paste anywhere. No signup, no upload, no mso styles. [Convert Excel to HTML, free](https://llamapress.ai/excel-to-html) [Or build a live website from it](https://llamapress.ai/excel-to-website) Need the whole workbook rebuilt as software your team signs into? See the [Excel to app converter](https://llamapress.ai/excel-to-app) or [contact us](https://llamapress.ai/contact). Sources: Microsoft, [Save all or part of a workbook to a static Web page](https://support.microsoft.com/en-us/office/save-all-or-part-of-a-workbook-to-a-static-web-page-5ad26dee-8739-4d80-b9d9-cf0530ab1968); Microsoft, [Save a workbook as a webpage](https://support.microsoft.com/en-us/excel/save-a-workbook-as-a-webpage). Both checked September 2026. Descriptions of the export's markup are typical of Excel for Windows and vary by version. ============================================================================== # Excel Spreadsheet to a Phone App for Field Teams Source: https://llamapress.ai/how-to-turn-an-excel-spreadsheet-into-an-app-your-field-team-can-use-on-their-phones ============================================================================== # Excel Spreadsheet to a Phone App for Field Teams > Your techs cannot run a 40-column spreadsheet on a 6-inch screen. Three ways to turn it into a phone app, what each costs, and a one-week rollout plan. Source: https://llamapress.ai/how-to-turn-an-excel-spreadsheet-into-an-app-your-field-team-can-use-on-their-phones | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Your techs cannot run a 40-column spreadsheet on a 6-inch screen. Three ways to turn it into a phone app, what each costs, and a one-week rollout plan. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 You have three ways to put an Excel spreadsheet on your field team's phones. Route one is the Excel mobile app, which suits one tech doing read-only lookups. Route two is a no-code builder laid over the sheet, such as Google AppSheet (from $5 per user per month) or Glide (from $25 a month), as of September 2026. Route three is an AI-built web app, the spreadsheet rebuilt as job screens on a real database and installed to the home screen. That route costs from $9.99 a month hosted or $2,000 built for you. For three or more techs who need photos, status buttons, and offline entry, route three is the one that lasts. In short - The Excel mobile app shows a 40-column grid on a 6-inch screen, so techs scroll sideways, type into the wrong row, and overwrite each other. - A field app needs one job per screen, big status buttons, photo upload tied to the job, a signature box, and an offline queue. - Your Jobs tab becomes the job list, one row becomes the job screen, and the Status column becomes the buttons. - As of September 2026, AppSheet costs $5 to $20 per user per month and Glide $25 to $125 a month. A LlamaPress web app costs $9.99 to $54.99 a month with no per-user fee. - Roll the app out to two techs for one week, fix the three things they complain about, then give it to everyone. I build these apps. I created Leonardo, the AI coding agent behind LlamaPress, and I have watched it turn more than 400 spreadsheets into apps. Field team spreadsheets are the most common kind I see. The file is usually a Jobs tab with 30 to 40 columns, kept by one person in the office. The techs read it on a phone in a truck, pinch to zoom, and call the office with anything they need to change. ![Two construction workers in hard hats reviewing job details on a tablet at a work site](https://images.unsplash.com/photo-1778074762022-c33cc42f79ae?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHxjb250cmFjdG9yJTIwdGFibGV0JTIwY29uc3RydWN0aW9uJTIwc2l0ZXxlbnwwfHx8fDE3ODgzNjE4OTJ8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [alan boyce](https://unsplash.com/@abcpac?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/two-construction-workers-review-plans-on-a-tablet-gyrKtgqMChY?utm_source=leonardo_rails_app&utm_medium=referral) ## Why does the Excel mobile app fail in the field? The Excel mobile app fails because a spreadsheet is a grid built for a 27-inch monitor. On a 6-inch phone screen a tech sees four columns and twelve rows at a time. Your Jobs tab has 40 columns. The address is in column C, the gate code in column N, and the status in column R. The tech scrolls sideways, loses the row, and types the completion note into the job above. Saving is the second problem. Excel saves the whole file, never one row. Microsoft's documentation on offline use says a file on OneDrive or SharePoint must have been opened online at least once. The same page says changes sync "as soon as you are back online." A tech in a basement edits row 14. The office edits row 14 at the same time. When the tech gets signal, one of those edits loses. We wrote up the same failure for warehouses in [the inventory overwrite problem](https://llamapress.ai/people-keep-overwriting-each-other-in-our-inventory-spreadsheet-here-is-the-fix). Microsoft's own page on the mobile apps also sets a licensing line. Without a Microsoft 365 subscription, the mobile Excel app lets you "create and view files" and "do basic editing" for non-business accounts and files. Advanced editing requires a subscription. So every tech who edits a business file needs a paid seat, and the screen problem remains. The last three gaps have no workaround inside Excel. A photo of the finished work lands in the camera roll, and the cell holds a filename someone typed. There is no GPS or time stamp on the row, so "arrived 8:05" means whatever the tech remembers on Friday. A customer cannot sign a cell. ## What does a field team app have to do? A field team app has to do one job per screen with buttons a gloved thumb can hit. That is the whole design brief. The tech opens the app and sees today's jobs only, in route order, with the address and the customer's phone number as tap targets. The tech taps a job and gets one screen: the scope, the gate code, the parts list, and a checklist. Each checklist item is a tap to complete. Status is a row of big buttons: On my way, Arrived, Done, Needs a return visit. Tapping a button stamps the time and the location on the job. Photos upload from the camera straight onto the job, with the time attached. The customer signs on the screen and the signature is stored on the job. If the truck has no signal, the app keeps the tech's taps in a queue and sends them when signal returns. The dispatcher sees each status change within seconds of the tap. That is a short list. The big field platforms add routing, fleet tracking, and driver scorecards a crew of eight will never open. A crew of eight needs the short list, shaped to its own spreadsheet. We describe the full version of that build on the [field service apps](https://llamapress.ai/field-services) page. ## How does the spreadsheet map to phone screens? Every tab and column in your spreadsheet already has a place in the app. That mapping is why the build is fast. The Jobs tab becomes the job list. Each row in the Jobs tab becomes one job detail screen. The Customer, Address, and Phone columns move to the top of that screen as tap targets. The ten checklist columns (Safety check, Parts on truck, Photos taken, and so on) become tap-to-complete items. The Status column with its dropdown of five values becomes five buttons, and the app records who pressed which button and when. The Notes column becomes a timeline. In the spreadsheet, that cell holds "8/14 called cust, 8/15 no answer, 8/16 done" typed by three people. In the app, each note has an author and a time. The Photos column becomes a gallery on the job. The Tech column becomes a login, so each tech sees only their own jobs. We cover that part in [adding logins and permissions to a spreadsheet process](https://llamapress.ai/how-to-add-user-logins-and-permissions-to-a-spreadsheet-based-process). The Customers tab and the Price List tab become their own records too. The office edits prices in one place and the job screen reads from there. If your spreadsheet is also your estimating tool, see how we handle the pricing tabs in [custom estimating software built from your spreadsheet](https://llamapress.ai/custom-estimating-software-built-from-the-spreadsheet-you-already-have). ![Field worker in an orange safety vest writing job notes on paper outdoors, the paperwork a phone app replaces](https://images.unsplash.com/photo-1770822662831-c361f15790ea?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHx0ZWNobmljaWFuJTIwdXNpbmclMjBwaG9uZSUyMG9uJTIwam9iJTIwc2l0ZXxlbnwwfHx8fDE3ODgzNjE4ODl8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Agustín Pimentel](https://unsplash.com/@agustin_pimentel?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-in-orange-vest-writing-on-paper-outdoors-ecv_knkA24w?utm_source=leonardo_rails_app&utm_medium=referral) ## What are the three ways to get there? You can lay a no-code builder over the sheet or hire an agency to build a native app. Or you can have an AI agent build a web app from the spreadsheet. Prices in the table are list prices as of this writing. | | AppSheet or Glide over the sheet | Native app from an agency | AI-built web app (LlamaPress) | | --- | --- | --- | --- | | Price | AppSheet $5, $10, or $20 per user per month. GlideOS $25, $50, or $125 a month by team members and credits | Typical quotes $40,000 to $250,000 up front, then maintenance | Hosted from $9.99 a month, no per-user fee. Built for you from $2,000 | | Where the data lives | The sheet stays the database. Glide caps spreadsheet sources at 25,000 rows | The agency's database, on the agency's terms | A PostgreSQL database you own, with the spreadsheet history imported | | Screens | List and form views generated from the columns. Limited layout control | Fully custom, designed in workshops | Custom job screens built from your tabs, changed in plain English | | Photos, signature, offline | AppSheet runs offline with background sync on all plans. Photos and signatures supported | All possible, each one scoped and billed | Photos and signatures on the job record. Offline queue built in when your crews need it | | Per-tech logins and roles | AppSheet roles start on the $10 Core plan. GlideOS org roles on the $125 Pro plan | Included in the build | Included. Tech, dispatcher, and office roles from day one | | Time to first version | A day or two for a list and form | Three to nine months | First working version within days. The RSB rebuild shipped in six weeks | | Who owns the code | The vendor. No code export on AppSheet. Glide shows code only on Enterprise | Depends on the contract. Ask | You. Standard Ruby on Rails code in your own GitHub account | Sources for the table: the [AppSheet pricing page](https://about.appsheet.com/pricing/), the [GlideOS pricing page](https://www.glideapps.com/pricing), Glide's data-source docs, and our own [pricing](https://llamapress.ai/pricing) and [services](https://llamapress.ai/services) pages. Agency figures are typical quotes we hear from operators, so treat that band as a range. Glide's documentation also states that syncing with an Excel file requires a Business or Enterprise plan. For a wider look at every tool in this category, read [the best Excel to web app converters compared](https://llamapress.ai/the-best-excel-to-web-app-converters-in-2026-compared-honestly). AppSheet deserves a fair word. If your spreadsheet already lives in Google Sheets and you want a list plus a form by Friday, AppSheet is a good answer. Google lets you test with up to 10 users at no cost. The limits show up later. The sheet stays the database, so two techs editing the same job still collide. A 40-column row becomes a 40-field form. And the per-user meter grows with every hire. ## When is the Excel mobile app enough? The Excel mobile app is enough when one tech reads the spreadsheet and never writes to it. A solo plumber who keeps a price list in Excel can open the file on a phone, search a name, and call the number. Nothing needs to sync back. The same goes for a read-only parts lookup that the office updates once a month. Keep those in Excel. The line is crossed when a second person writes to the file from the field. Two writers on a whole-file save produce lost edits, and lost edits in a job list mean missed visits and unbilled work. ## How do you roll a field app out without a revolt? Give the app to two techs first, for one week, and leave the spreadsheet running beside it. Pick one tech who likes new tools and one who hates them. The second one is your real tester. Every evening, ask both techs what annoyed them that day. You will hear the same three things: a button in the wrong place, a field nobody uses, and a step that takes two taps too many. Fix those three and leave everything else alone. Small fixes in the first week decide whether the crew uses the app or ignores it. On day eight, compare the app's job records against the spreadsheet for that week. If the app has every status change, photo, and signature, retire the spreadsheet for the field. The office can keep a read-only export for a month, then stop opening it. ## How the spreadsheet becomes the app You [upload the spreadsheet](https://llamapress.ai/excel-to-app) that runs your field work, tabs and color coding included. Leonardo reads the Jobs tab as the job table and the column headers as the fields. The Status dropdown becomes the buttons, the Tech column becomes the logins, and the checklist columns become the tap-to-complete items. Leonardo then builds a Ruby on Rails app on a PostgreSQL database, with a phone layout for techs and a desktop layout for the dispatcher. The code lands in your own GitHub account. You then change the app by describing the change. "Add a Needs a Return Visit button that emails the office." "Hide the price fields from techs." A human engineer reviews each build before you rely on it. Hosted plans start at $9.99 a month with no per-user fee, and a done-for-you build sprint starts at $2,000, as of this writing. The steel contractor RSB went from an estimating spreadsheet to a deployed app in six weeks. A field job list is a simpler spreadsheet than that one, and most crews are on the phone version within days of the first [upload](https://llamapress.ai/excel-to-app). From Spreadsheet to Phone App ### Give your techs one job per screen. Upload the job list spreadsheet your office keeps today. Leonardo turns it into a phone app with status buttons, photos, and signatures, on a database you own. [Build My Field App](https://llamapress.ai/excel-to-app) [See Field Service Apps](https://llamapress.ai/field-services) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your workbook with you. ## Frequently Asked Questions ### How do I turn my Excel spreadsheet into something my field team can use on their phones? Pick one of three routes. Open the spreadsheet in the Excel mobile app if one tech only reads it. Lay Google AppSheet or Glide over the sheet if you want a list and a form fast and accept per-user pricing. Upload the spreadsheet to LlamaPress if you want custom job screens, photos, signatures, and logins on a database you own, with no per-user fee. ### Can my field team use Excel on their phones? A field team can open an Excel spreadsheet on a phone, but editing it there is painful and risky. The Excel mobile app shows a few columns at a time, saves the whole file, and requires a Microsoft 365 subscription for advanced editing of business files. Two techs editing the same file from trucks with poor signal will overwrite each other. Reading is fine, and writing from the field is where Excel breaks. ### Do I need an app store app or is a web app enough? A web app is enough for almost every field crew. A web app opens in the phone's browser, can be added to the home screen with its own icon, and uses the camera for photos. A web app also skips app store review, so a fix ships in minutes. An app store app only earns its extra cost when you need deep hardware access such as Bluetooth scanners. ### Can a field app work offline? A field app can work offline when offline support is built in. The app stores today's jobs on the phone and keeps each tap in a queue until signal returns. AppSheet includes offline with background sync on all plans. A LlamaPress web app gets an offline queue when your crews need one, so tell us where your trucks lose signal before the build starts. ### How do photos get attached to a job? In a field app, the tech taps a camera button on the job screen and takes the photo. The photo saves onto that job with a time stamp. The office sees the photo on the same job record seconds later. In a spreadsheet, the photo sits in the camera roll and the cell holds a filename someone typed. Tying the photo to the job is the single feature crews notice first. ### How much does a field service app cost? As of September 2026, Google AppSheet costs $5 to $20 per user per month. GlideOS costs $25 to $125 a month by team size and credits. A LlamaPress web app built from your spreadsheet is hosted from $9.99 a month with no per-user fee, or built for you from $2,000. Agency quotes for a native field app typically run $40,000 to $250,000 over three to nine months. ============================================================================== # Excel to App: The Complete Master Guide Source: https://llamapress.ai/excel-to-app-master-guide ============================================================================== # Excel to App: The Complete Master Guide > The definitive guide for businesses moving from Excel spreadsheets to custom software. Learn why spreadsheets fail at scale and how to transition in 2026. Source: https://llamapress.ai/excel-to-app-master-guide | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) The definitive guide for businesses moving from Excel spreadsheets to custom software. Learn why spreadsheets fail at scale and how to transition in 2026. [Back to all articles](https://llamapress.ai/blog) ## Table of Contents [1 Why people love spreadsheets (pros of spreadsheets)](https://llamapress.ai/excel-to-app-master-guide#pros) [2 Why people move past spreadsheets (cons of spreadsheets)](https://llamapress.ai/excel-to-app-master-guide#cons) [3 What people move to after spreadsheets (database backed applications)](https://llamapress.ai/excel-to-app-master-guide#what-is-database) [4 How SaaS gives people the "pros" of a database, with less "cons”](https://llamapress.ai/excel-to-app-master-guide#saas) [4a The Downsides of SaaS](https://llamapress.ai/excel-to-app-master-guide#saas-downsides) [5 Moving beyond SaaS and Excel: The 3 Paths](https://llamapress.ai/excel-to-app-master-guide#3-paths) [5a TLDR: There’s always an option that will fit you](https://llamapress.ai/excel-to-app-master-guide#tldr) [6 When you should or should not convert Excel to an app](https://llamapress.ai/excel-to-app-master-guide#when-to-convert) [7 Why custom software is your competitive advantage in 2026](https://llamapress.ai/excel-to-app-master-guide#advantage-2026) [7a Why this matters beyond cost](https://llamapress.ai/excel-to-app-master-guide#matters-beyond-cost) [8 Success in the real world](https://llamapress.ai/excel-to-app-master-guide#success-stories) [8a Case study 1: Perform Heating & Cooling](https://llamapress.ai/excel-to-app-master-guide#perform-heating) [8b Case study 2: RSB Contracts](https://llamapress.ai/excel-to-app-master-guide#rsb-contracts) [8c Case study 3: Bold Control](https://llamapress.ai/excel-to-app-master-guide#bold-control) [8d Onboarding & Data Management](https://llamapress.ai/excel-to-app-master-guide#client-4) ![Complex business data analysis](https://images.unsplash.com/photo-1460925895917-afdab827c52f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMGRhdGElMjBhbmFseXNpcz18ZW58MHx8fHwxNzc1NzgxMzEwfDA&ixlib=rb-4.1.0&q=80&w=1080) Pillar Guide: Transitioning from Spreadsheet Chaos to Custom Clarity ## Why people love spreadsheets (pros of spreadsheets) There’s a reason almost every business ends up in Excel at some point. You can open a blank sheet and start building immediately with no setup, dependencies, or waiting on anyone else. If you need to track something, calculate costs, or test an idea, it’s right there. And it’s usually the fastest way to get something working and start fleshing out expenses, comparisons, you name it. It’s also one of the best tools for thinking through a problem. You can move anything around, rename columns, try different formulas, and restructure everything in minutes. Nothing is locked in. That flexibility makes it so easy to figure out how a process should work before it’s fully defined. For small workflows, especially when one person is in charge of the process, it’s really hard to beat: You can shape the data however you want Calculations are immediate and transparent It’s easy to share with a teammate Almost everyone already knows how to use it There’s no real cost to getting started And importantly, it’s yours! That last point matters more than people admit. You’re not working inside someone else’s system… You’re building your own, based on your way of doing things. There’s no doubt why spreadsheets show up early in so many operations. And why they’ve been around for decades now. They let you move quickly, figure things out, and adapt as your business or needs change. In so many cases, your Excel sheets are not always a temporary solution, even if and when you eventually move beyond them to something more reliable and specific: whether that’s tracking complex company figures like bidding figures, quotes, invoices, and more – or simply tracking your company or employee expenses. The beauty with spreadsheets is that they become the backbone for something more important. > “Excel is often the first version of a system that businesses use later, which is custom software – sometimes also called custom web apps or software – and spreadsheets are basically the bedrock of the custom system your business actually needs.” The problem isn’t that businesses start in spreadsheets; because this is the place you find what works and what you will need. The problem is that your spreadsheet keeps growing while more and more people start using it. No matter the industry you’re in, from steel construction to telesales; if you rely on a set of spreadsheets to track anything of importance, you know how quickly mistakes can snowball. And when your entire company is integrated into one (or a set of Excel spreadsheets), this is where it gets tricky. It’s almost impossible to track who changed what, formulas get lost or overwritten, or even better… you’re 1,000 rows into a bidding sheet and someone sorts a column incorrectly, misaligning all your data in seconds. ![House of cards metaphor for fragile systems](https://images.unsplash.com/photo-1621252179027-94459d278660?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxob3VzZSUyMG9mJTIwY2FyZHN8ZW58MHx8fHwxNzc1NzgyNzI1fDA&ixlib=rb-4.1.0&q=80&w=1080) The Spreadsheet House of Cards When a tool designed for one person becomes the foundation for many, the structure becomes increasingly fragile. ## Why people move past spreadsheets (cons of spreadsheets) If you’ve read this far, you definitely know about that ‘one important Excel file’, the one that you sweat about losing or deleting. Could your company still function as normal without it? If someone accidently deletes an important row and reloads, thus turning the undo button into a tragic tale of woe – would your sales or operating team know what to do? Well, fear not, because we’ve all been there! Critical Excel files usually start with something small: a quoting sheet, job tracker, weekly report, insert something small. ![Early spreadsheet planning](https://images.unsplash.com/photo-1554224155-6726b3ff858f?auto=format&fit=crop&q=80&w=1080) You chuck a couple people on as editors, because one file helps get work done a bit faster. So you add to it… A few more columns, some formulas here-and-there. Maybe a second tab. Then another tab. And another tab. Someone else now needs access, so your file gets shared again and a new version gets saved. Now there’s more people and tabs involved, so a few rules get added: “fill this in first,” “don’t touch that column,” “copy this into the report sheet before sending.” ![Team collaborating on data](https://images.unsplash.com/photo-1552664730-d307ca884978?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&q=80&w=1080) Over time, more of your work starts to flow through that same file. Quotes are calculated there. Status is tracked there. Reports are pulled from it. And this is where it starts to get sketchy and prone to mistakes, because decisions start depending on what’s inside it. At some point, this once simple spreadsheet is now the place where all the work actually happens. It’s no longer a drafting area where ideas are outlined or raw data is temporarily stored – but where you process and then execute all your company decisions and moves. Again, we’ve all been there, because it’s such a powerful tool… But when Excel becomes more relied on, it’s also a little harder to manage each time someone touches it. ![Complex project management](https://images.unsplash.com/photo-1507925921958-8a62f3d1a50d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&q=80&w=1080) ### And then the pressure shows up in small ways: People ask which version is the right one Numbers don’t match between reports Someone misunderstands the internal rules and edits a formula wrong And a simple process takes longer than it should, but no one wants to change it None of this means the spreadsheet is wrong. It just means it’s doing more than it was ever designed to handle. Spreadsheets are amazing tools. But when they turn into the entire system, this is where you start seeing a lot of friction and unnecessary delays, mistakes, you name it. From personal experience, I can say this with full confidence, because I saw how some of our clients had their entire company and day-to-day work run through one file (or a set of Excel files). During their workshop onboarding, when we showed them how they weren't just “using Excel” and instead pointed out the friction points their entire business operated under, it suddenly became clear… The spreadsheet was still doing the job. But it was doing it in a way that was hard to trust, hard to maintain, and harder to change. And that’s usually the moment they start asking: “Surely there’s a better way to run this?” Non-Technical Deep Dive ### What’s actually happening (without technical fluff) Up to this point, it probably still feels like a spreadsheet problem. But it’s not really about Excel. Look at everything that one file (or set of files) is doing in your business right now. It’s probably not just holding data anymore. If it stores any of the following info, you've got a spreadsheet that’s being stretched to act more like a cohesive system: #### Storing important company information and processes Things like client lists, pricing tables, supplier details, or even internal rules all live inside separate tabs instead of one structured system. #### Driving how work moves from one step to the next A row gets updated, someone changes a status, and eventually that data gets copied elsewhere. Your spreadsheet is now fractured and hard to track. #### Producing reports people rely on to make decisions Weekly reports are manually stitched together from different tabs. If something upstream is off, the entire report and the decisions based on it are affected. In other words, that spreadsheet isn’t just a sheet anymore… it’s trying to act like the entire system your business runs or relies on. The problem is simple in that it was never designed to handle such a complex role. Excel gives you complete freedom, yes. You can structure things however you want, change anything at any time, and build logic directly into the sheet. And that’s exactly why it works so well in the beginning. But when multiple people, processes, and decisions start depending on it, that same flexibility starts working against you. Because now: - There’s nothing enforcing how data should be entered - There’s no clear structure behind how everything connects - The “rules” of how things work live inside formulas, tabs, and people's personal habits And the process only works if everyone follows it perfectly. Which, in reality, never happens – especially at a larger scale. So what you end up with is far more than a “messy spreadsheet.” But we all know change can often seem impossible, so people embrace their messy spreadsheets with all its flaws – not knowing there’s a better way, tried and tested by companies of all shapes and sizes. And this is where you can start to ask, “Okay then, there’s obviously a problem, but what’s next?” ## What people move to after spreadsheets: What a database-backed application actually is At this point, you might be wondering what actually makes a “proper system” different from a spreadsheet. Under the hood, most of “those systems” are built on something called a database. You don’t need to understand the technical details to understand why they behave differently. The simplest way to think about it is this: In a spreadsheet, anyone can type anything, anywhere. That’s useful when you’re figuring things out; but risky when the data actually matters. ### Why databases are better than spreadsheets In a database, fields are defined properly. Numbers go where numbers should go. Dates follow a format. And required fields can’t be skipped. Thus, the ‘relationships’ between data are clearly set and hard to break. That alone removes a lot of the small errors that quickly build up over time. The same applies to how people use it… In Excel, if multiple people are working at the same time, things can get messy. ![Spreadsheet-Equivalent comparison](https://images.unsplash.com/photo-1543286386-713bdd548da4?auto=format&fit=crop&q=80&w=800) In fact, consider it an inevitability of time and luck. Edits might overlap, data gets overwritten, and changes aren’t always obvious at first. ![Database-Equivalent comparison](https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&q=80&w=800) In a database-backed system, multiple people can work at the same time, but within a controlled structure. Permissions can be set and actions can also be strictly tracked so changes don’t just disappear. Then there’s the logic. In spreadsheets, the “rules” of how things work are usually hidden inside formulas, tabs, or one person's memory. And boy, is it chaos if that one person ever goes on leave. But in a proper system, that logic is built into the application itself and enforced automatically, instead of relying on people to remember how things are supposed to work. #### High Quality Data Guarantees Fields are defined properly. Numbers stay numbers, dates follow a format, and required fields can’t be skipped. The ‘relationships’ between data are hard to break. #### Multi-User Integrity Multiple people can work at the same time within a controlled structure. Permissions and audit trails ensure changes don't just "disappear." #### Embedded Logic The "rules" are built into the app itself and enforced automatically, rather than relying on someone's memory or a hidden formula. #### The Relational Advantage How Databases Link Reality Customer Data Order History Inventory Project Bids In a database, everything is connected by design, not by manual copy-pasting. ### But here’s the catch... There’s a reason most businesses don’t start with a custom database. Why databases can be harder than spreadsheets: Databases are not as easy to set up. They require upfront thinking: defining your structure, how everything connects, and how the process should work before you build it. The historical cost barrier: Historically, this meant writing queries and relying on expensive developers. Which made it slower, more expensive, and harder to justify; especially when Excel was “good enough” to get the job done. So most businesses stayed where it was easy, and for a long time, that trade-off made sense. ## How SaaS gives people the "pros" of a database, with less "cons” Before looking at alternatives, it’s important to understand why SaaS became the default upgrade from spreadsheets in the first place. ### The SaaS Promise - Get started quickly with no setup - No upfront development costs - Polished, user-friendly interfaces - Managed hosting and security ### The SaaS Trade-off - Adjust your process to match the software - Rely on workarounds for unique workflows - Data lives inside systems you don't control - Limited or expensive customization **Tools like Salesforce, QuickBooks, or HubSpot** became popular because they removed a huge amount of complexity for business owners who didn't have time to learn how to code. Everything was handled for you: you didn’t need to think about infrastructure, security, updates, or maintenance. [Research from Gartner](https://www.linkedin.com/pulse/gartner-study-explores-saas-dyfed-wallis/) has consistently shown that businesses, from 2021 and before, preferred SaaS because it reduced upfront costs while speeding up deployment. #### The Ultimate Decision Matrix | Feature | Spreadsheet | SaaS | Custom Database | | --- | --- | --- | --- | | Ownership | ✅ | ❌ (vendor owns platform + structure) | ✅ | | Control | ✅ | ❌ (limited to platform rules & features) | ✅ | | Upfront Cost | ✅ | ✅ (low initial setup cost) | ⚠️ (depending on your app design) | | Ongoing Cost | ❌ (hidden cost = manual labour/time) | ❌ (subscription grows over time) | ✅ | | Complexity | ✅ | ✅ (easy to start, guided setup) | ⚠️ (depending on your design and needs) | | Ease of Use | ✅ | ✅ | ✅ (it all depends on how you want it designed) | | Flexibility | ✅ | ❌ (limited to product features) | ✅ | | Scalability | ❌ | ⚠️ (scales users, not always workflows) | ✅ | | Data Structure Quality | ❌ | ⚠️ (fits generic workflows only) | ✅ (fully custom schema) | | Integration Ability | ⚠️ (manual / fragile) | ⚠️ (prebuilt integrations) | ✅ (custom integrations) | ### The Downsides of SaaS SaaS works well when your business fits the way the software was designed. The problems usually start when that isn’t the case. Most SaaS tools are built for broad use cases, which means they’re designed around “average” workflows across thousands of companies. That makes them easy to adopt, but not always a precise fit for how a specific business actually operates day to day. Over time, this creates a few consistent friction points: - You end up adjusting your process to match the software, instead of the software matching your process - You rely on workarounds when features don’t quite fit your workflow - Different tools start handling different parts of the same process, which creates gaps in between - Your data lives inside systems you don’t control - And custom changes are either limited, expensive, or simply not possible The result is that SaaS often solves the “starting problem” extremely well, but introduces a “fit problem” as the business becomes more specific, more operationally complex, or more dependent on internal workflows. This is why many companies eventually end up with stacks of SaaS tools connected by spreadsheets, manual exports, or duplicate data entry. Each tool works well on its own, but the space between them becomes the real source of friction. At that point, the limitation isn’t whether SaaS is good software. It’s that it was never designed to be your system of record for a workflow that doesn’t match its default structure. ## Moving beyond SaaS and Excel: The 3 Paths By this point, your team is not going to suddenly say, “hey, we need a new system.” It’s usually more reactive and subtle. Something keeps breaking or simple reports take too long. Numbers don’t match, or most commonly: only one person understands how the spreadsheet works and becomes a serious bottleneck, because such an important role was placed on a single soul, instead of that one person working with a system anyone can use in their absence. So naturally, you’re going to wonder what would be the next step. Yes, it’s easy to see there are friction points and bottlenecks in your current spreadsheet setup… but without swimming in a sea of noise, what is the best alternative? In practice, most businesses end up going down one of three paths. ### Path 1: Keep Improving the Spreadsheet This is usually the first move. You might try adding more structure… Clean up the tabs, lock certain cells, or maybe introduce new validation rules or macros. If you’re using tools like Microsoft Excel or Google Sheets, you might layer in automation or scripts (which takes some serious know-how and a lot of time.) But to be fair, this can work for a while. If the workflow is still relatively small, or controlled by one or two people, tightening things up can buy you time. However, it doesn’t change the underlying issue… which is, you’re still relying on a flexible file to behave like a structured system. So the same problems tend to come back, just in slightly different forms. ### Path 2: Move to SaaS Tools Now we start looking for alternatives outward. Instead of fixing the spreadsheet, you replace parts of it with software designed for specific jobs. For company mechanics that follow a strict protocol and order of operations, a shift to predesigned software makes sense. In fact, it’s the default path for any growing businesses. And the reason for that shift is quite simple. According to McKinsey & Company, companies have accelerated their adoption of digital tools significantly in recent years, with many processes moving into ‘packaged software’ to vastly improve their overall speed and consistency. SaaS tools solve a lot of the problems spreadsheets struggle with, because they consistently provide: Better structure Multi-user access Built-in workflows Cleaner reporting CRM systems for customers Accounting tools for finances Inventory systems for stock Project tools for tracking work But there’s an important catch. These tools are designed around very common workflows. They only work best when your business fits in the exact way that software was designed to operate. So yes, popular predesigned software works, but it also creates a lot of constraints – meaning you have to adapt to the system you sign-up for. And control can be very limiting. If your business process is slightly different (or spans across multiple tools) you often end up stitching systems together… and sometimes reintroducing spreadsheets in between if you don’t have a ‘corporate’ budget. ### Path 3: Build a Custom Business App This is the path fewer companies consider early on (because it was once only a niche thing). Instead of forcing your workflow into a spreadsheet – or adapting it to fit a SaaS tool like HubSpot – you have a system built around how your business actually operates. This usually makes sense when: - Your workflow is now central to how you make money - Multiple teams depend on the same process - There are too many extra notes or unique factors worked into your spreadsheets - Or your spreadsheet contains important logic that’s hard to replicate elsewhere In many cases, the spreadsheet you’ve been using is already a rough version of this system. It just hasn’t been formalised into something structured, reliable, and easier to use across a team. #### A Perfect Comparison A good example of this is what happened with RSB Contracts. You can read the full Case Study here, but this is the gist: They were running large parts of their estimating and operations through a web of Excel files (especially around pricing, bidding, and tracking work.) Some of their bid sheets ran into thousands of rows, with pricing, calculations, and dependencies spread across multiple tabs and files. It worked, but it was slow, difficult to manage, and easy to get wrong. What changed for them wasn’t the workflow, but rather how that workflow was handled in their new system. Prebuilt software (SaaS) like HubSpot was not the right fit, but their spreadsheets were now interfering with important bids and internal operations. So they had their spreadsheets translated into a single internal system where everything was linked: - Estimator pricing feeds directly into bids - Bids link cleanly to contracts and downstream processes - Data is structured and consistent across the board - And the same logic that existed in Excel is now enforced automatically "So instead of jumping between files, copying data, and double-checking formulas, everything lives in one place and updates as it should." ### Path 1: The Optimizer Keep improving the spreadsheet. Lock cells, add macros, and buy time. Best for low-risk, infrequent processes handled by 1-2 people. ### Path 2: The Adapter Move to SaaS tools. Adopt standard workflows to gain structure and speed. Best when your business fits common industry patterns. ### Path 3: The Architect Build a custom business app. Tailor the system to your unique edge. Best when your workflow is your competitive advantage. ### TLDR: There’s always an option that will fit you At this point, we’ve covered a lot of ground… Spreadsheets. Systems. SaaS tools. Databases. So let’s simplify things before moving on, because most of this isn’t as complicated as it sounds. **A spreadsheet is the easiest place to start.** It’s flexible, fast, and completely in your control. You can shape it however you want, change things on the fly, and get a process up and running quickly. That’s why almost every business starts there. But as we’ve seen, that same flexibility becomes a problem when more people, more data, and more decisions start depending on it. **SaaS is what most businesses move to next.** Instead of building your own system, you subscribe to one that already exists. Behind the scenes, these tools are built on structured databases (but you never see that part) – you just interact with a clean interface that handles everything for you. Basically, one company designs the system once, and thousands of businesses use it. **Then there’s the third option. You have a system built, totally tailored to your business, with cost being very comparative to the alternative SaaS options.** This is what people mean when they talk about “custom apps” or “database-backed systems.” And yes, the name makes it sound more complicated than it actually is. But in practice, it’s much simpler than that. It’s just a system of tools (designed based on exactly how your spreadsheets work) built around how your business already works. Instead of forcing your process into a spreadsheet or bending it around a SaaS tool, your new system is shaped around your workflow from the start. You become the SaaS. It keeps everything that made your spreadsheet useful (flexibility, ownership, and familiarity) but adds the structure that was missing, such as: - Data that is consistent - Processes are clearly defined - Multiple people can work safely - Logic runs in the background instead of fragile formulas **So if you strip away the terminology, it really comes down to this:** Spreadsheets are flexible, but fragile. SaaS tools are structured, but not always a perfect fit. And custom apps sit in the middle – structured, and built around you. ## When should you convert Excel to an app? Not every spreadsheet needs to become custom software. Some are perfectly fine staying exactly as they are. Excel is still one of the fastest ways to test ideas or manage lightweight workflows. If a file is still small, temporary, or mainly handled by one person, converting it into a proper system may add more complexity than value. Excel is still one of the fastest ways to test ideas, track information, or manage lightweight workflows. But there’s usually a turning point where the spreadsheet stops acting like a tool and starts acting like broken operational infrastructure. ### Stick with Excel if... - The spreadsheet is only used by one or two people - The workflow is still changing significantly every week - The data isn’t critical to daily business operations ### Switch to an App if... - Multiple people rely on the same file daily - The data affects revenue, quoting, or scheduling - People constantly copy/paste data between systems ## Why custom software is your competitive advantage in 2026 For a long time, the trade-off was simple: Custom systems were powerful but expensive, slow, and out of reach for most teams. While subscriptions to SaaS platforms were fine for many years, and good enough to solve the problems and friction caused by spreadsheets. But like [McKinsey Technology Trends Outlook of 2025](https://www.mckinsey.com/capabilities/tech-and-ai/our-insights/the-top-trends-in-tech) observed, that preference is starting to shift fast as technology progresses and custom databases become accessible to more and more people. Now that the technical barrier isn't so severe, the biggest change isn’t that custom systems suddenly became “easy” – but more that they’re less expensive and less time-consuming to build than they used to be. Technically speaking, a large part of the cost to building database-backed systems is always the implementation layer: writing database queries, structuring data properly, translating messy business logic into something stable, you name it. **While that work still exists and hasn't gone away, the way it gets done has changed.** Tools and AI-assisted Agents now handle a lot of the repetitive parts of that process. This would include things like generating database structures, writing SQL, building basic interfaces, and wiring up standard workflows. What used to take weeks of manual setup can now be produced and refined much faster, especially when you’re working from existing spreadsheet systems that already define the logic. ### Why this matters beyond cost A custom database-backed system gives you something spreadsheets and SaaS tools both struggle with: A single, reliable version of your operations. And if you think back to the problems we’ve already walked through (multiple versions of the same file, numbers not lining up, people poorly copying data between files) this becomes the outline for how your custom database would be built. Instead of patching over those issues, this new system removes them at the source. All your data sits in one place, structured properly and connected across your workflows. If that's what you want! It’s all about choice. Which means no more jumping between tools, no more manual copy/paste nightmares, and no more guessing which version is correct. From there, everything gets easier: You get clear, real-time visibility into your operations through dashboards and real-time reporting that reflect what’s actually happening. And thus, decisions become faster because the data is consistent and reliable. ![Operational dashboard example](https://images.unsplash.com/photo-1504868584819-f8e8b4b6d7e3?auto=format&fit=crop&q=80&w=1080) Real-Time Visibility: A custom dashboard built from your operational logic. It’s quite marvelous, really – how a lot of the day-to-day friction disappears. Processes run the way they’re supposed to and your teams aren’t slowed down, stuck fixing errors, or stitching information together. Instead of spending time maintaining spreadsheets or working around subscription-software limitations, your team can focus on higher-value work. And everything still runs through a system you control: your data, workflows, and logic are owned by you, but now connected and built around how your business actually operates. ## Success in the real world The pattern across these projects is usually the same. A spreadsheet starts as the fastest way to run part of the business. Over time, it becomes the place where quoting, tracking, reporting, or operations all happen. Eventually, it stops being “a file” and starts behaving like the system of record. The switch to a custom database-backed application doesn’t change the business model. It changes how the workflow is handled: structure replaces guesswork, and shared access replaces file duplication. ### Case study 1: Perform Heating & Cooling Kody’s team was managing core operational workflows through spreadsheets that handled job tracking, quoting, and internal coordination. The issue wasn’t that the spreadsheet didn’t work. It was that only a few people understood how it worked. As the business grew, this created delays anytime work needed to move between teams. After moving to a custom system, the same workflow was rebuilt as structured inputs (jobs, quotes, status updates) instead of spreadsheet tabs and manual tracking. The result was that anyone on the team could now see the current state of a job without needing to interpret formulas or hunt through sheets. The key shift: from “who knows this file?” to “the system shows it clearly.” ### Case study 2: RSB Contracts (Richard Spencer) RSB was dealing with large estimating and bidding spreadsheets with thousands of rows of pricing logic and dependencies. The main problem was risk. A small formatting change or incorrect edit could impact downstream calculations in ways that weren’t always obvious. In the new system, estimating logic was separated from data entry. Instead of formulas hidden across multiple sheets, pricing rules were enforced inside the application. That meant bids could be generated consistently, and changes didn’t silently break calculations. The key shift: from fragile formula chains to controlled business logic. ### Case study 3: Bold Control (Russ Newbold) Bold Control was operating across multiple spreadsheets for reporting, tracking, and internal coordination. The challenge wasn’t just complexity, it was inconsistency. Different teams were effectively working off slightly different versions of the truth depending on which file they were using or when it was last updated. The custom system centralised this into a single structured dataset with controlled updates. Reporting became something that pulled from live data instead of manually compiled sheets. The key shift: from multiple “versions of reality” to one shared source of truth. ### Client #4 (Sr. Program Director, Customer Onboarding Tool) This client’s situation was less about internal operations and more about structured data management across systems where accuracy and reliability mattered. Spreadsheets were being used to manage operational datasets that needed stricter control than Excel could reliably provide, especially around consistency and access control. Moving to a database-backed system allowed structured permissions, cleaner data relationships, and safer updates across teams working on the same information. Across all four case studies, the change is consistent: Spreadsheets worked until multiple people, processes, and decisions depended on them. After that point, the problem was no longer “Excel being limited,” but the lack of structure around how the business operated. The move to a custom application simply made that structure explicit. #### Visual Summary: The Impact of the Transition ### Case study 1: Perform Heating & Cooling Rebuilt core workflows into structured inputs, enabling the entire team to see real-time job status without interpreting complex formulas. "The key shift: from 'who knows this file?' to 'the system shows it clearly.'" ### Case study 2: RSB Contracts Separated estimating logic from data entry, enforcing pricing rules within the app to prevent silent calculation errors. "The key shift: from fragile formula chains to controlled business logic." ### Case study 3: Bold Control Centralised reporting into a single dataset, moving from manual sheet compilation to live, consistent data reporting. "The key shift: from multiple versions of reality to one shared source of truth." ### Customer Onboarding Tool Implemented structured permissions and data relationships to ensure consistency and security for critical operational datasets. "The key shift: from Excel access limits to granular, secure database control." ## The strategic shift is essential. Spreadsheets are not the problem. They’re often the starting point of something that works. The issue appears when they quietly become infrastructure without ever being designed for that role. Custom database-backed applications start to matter when the workflow becomes central to how the business runs, and when accuracy, structure, and shared access begin to matter more than flexibility alone. The shift in 2026 is that the third option is no longer unrealistic for mid-sized businesses. The barrier has dropped. ## The complete Excel-to-app library This guide is the hub. Everything below goes deeper on one piece of the journey from spreadsheet to software. Start with the free converter: [convert your Excel spreadsheet to a web application](https://llamapress.ai/excel-to-app). ### Conversion playbooks - [How to turn an Excel spreadsheet into a web app, step by step](https://llamapress.ai/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch) - [Converting Excel VBA to web applications](https://llamapress.ai/beyond-the-spreadsheet-converting-excel-vba-to-web-applications) - [Converting Excel to a database: securing your business data](https://llamapress.ai/converting-excel-to-a-database-how-to-secure-your-business-data-and-scale) - [Convert your Excel spreadsheet into a web form your team fills in](https://llamapress.ai/convert-your-excel-spreadsheet-into-a-web-form-your-team-actually-fills-in) - [Can you keep your Excel formulas and VBA macros in a web app?](https://llamapress.ai/can-you-keep-your-excel-formulas-and-vba-macros-when-you-convert-to-a-web-app) - [How to add user logins and permissions to a spreadsheet process](https://llamapress.ai/how-to-add-user-logins-and-permissions-to-a-spreadsheet-based-process) - [People keep overwriting each other in the inventory spreadsheet: the fix](https://llamapress.ai/people-keep-overwriting-each-other-in-our-inventory-spreadsheet-here-is-the-fix) - [Turn an Excel spreadsheet into an app your field team uses on phones](https://llamapress.ai/how-to-turn-an-excel-spreadsheet-into-an-app-your-field-team-can-use-on-their-phones) - [Can AI build a web app from your Excel workbook?](https://llamapress.ai/can-ai-build-a-web-app-from-your-excel-workbook-what-it-reads-and-what-it-asks) - [Convert Excel to a website: build a public site from your rows](https://llamapress.ai/excel-to-website) - [How to display an Excel spreadsheet on a web page (5 ways)](https://llamapress.ai/how-to-display-an-excel-spreadsheet-on-a-web-page) - [Free Excel to HTML converter: turn a sheet into a clean HTML table](https://llamapress.ai/excel-to-html) - [Why Excel's Save As Web Page HTML is a mess, and how to clean it up](https://llamapress.ai/why-excel-save-as-web-page-produces-messy-html-and-how-to-clean-it-up) - [HTML to Excel: getting a web table back into a spreadsheet](https://llamapress.ai/html-to-excel-how-to-get-a-web-table-back-into-a-spreadsheet) - [Convert an Excel calculator to a web page](https://llamapress.ai/convert-an-excel-calculator-to-a-web-page) - [Excel to web application migration services: how to choose a partner](https://llamapress.ai/excel-to-web-application-migration-services-how-to-choose-a-partner) ### Understand the shift - [Should you rebuild your Excel workbook as software or keep Excel?](https://llamapress.ai/should-you-rebuild-your-excel-workbook-as-software-or-keep-using-excel) - [How much it costs to replace a spreadsheet with a custom web app](https://llamapress.ai/how-much-does-it-cost-to-replace-a-spreadsheet-with-a-custom-web-app) - [What is a digital transformation platform, and does a mid-market business need one?](https://llamapress.ai/what-is-a-digital-transformation-platform-and-does-a-mid-market-business-need-one) - [Excel vs. databases: the main difference](https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software) - [The myth of Excel automation](https://llamapress.ai/the-myth-of-excel-automation-why-your-business-needs-a-database-in-2025) - [Why an AI app builder is the way to replace your spreadsheet](https://llamapress.ai/why-an-ai-app-builder-is-the-only-way-to-replace-your-spreadsheet-in-2025) - [Why formula generators won't save your spreadsheet](https://llamapress.ai/why-formula-generators-wont-save-your-spreadsheet-scaling-to-database-apps) - [Can ChatGPT create Excel files? The limits of AI spreadsheets](https://llamapress.ai/can-chatgpt-create-excel-files-and-the-limits-of-spreadsheet-automation) - [How to upload an Excel file to ChatGPT, and its limits](https://llamapress.ai/how-to-upload-an-excel-file-to-chatgpt-and-what-to-do-when-that-is-not-enough) ### By workflow - [Custom estimating software built from your spreadsheet](https://llamapress.ai/custom-estimating-software-built-from-the-spreadsheet-you-already-have) - [Custom order tracking software with one source of truth](https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth) - [Guided client onboarding software](https://llamapress.ai/guided-client-onboarding-software-that-replaces-your-checklist-spreadsheet) - [Why your client onboarding spreadsheet is losing you clients](https://llamapress.ai/why-your-client-onboarding-spreadsheet-is-quietly-losing-you-clients) - [The CRM Excel template scaling bottleneck](https://llamapress.ai/crm-excel-template-scaling-bottleneck) - [The basic inventory spreadsheet trap](https://llamapress.ai/the-basic-inventory-spreadsheet-trap-scaling-your-operations-in-2025) ### Tool comparisons - [The best Excel to web app converters in 2026, compared honestly](https://llamapress.ai/the-best-excel-to-web-app-converters-in-2026-compared-honestly) - [Glide vs Softr vs Airtable vs a custom build for an internal tool](https://llamapress.ai/glide-vs-softr-vs-airtable-vs-a-custom-build-for-an-internal-tool-from-excel) - [The best digital transformation platforms for businesses in 2026](https://llamapress.ai/the-best-digital-transformation-platforms-for-businesses-in-2026-compared-honestly) - [The Airtable alternative for teams that need real software](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet) - [The Smartsheet alternative for operations teams](https://llamapress.ai/the-smartsheet-alternative-when-your-operations-outgrow-a-configurable-spreadsheet) - [The Monday.com alternative for spreadsheet-run teams](https://llamapress.ai/the-monday-com-alternative-when-your-work-os-is-still-run-from-spreadsheets) - [The AppSheet alternative for real custom software](https://llamapress.ai/the-appsheet-alternative-when-your-spreadsheet-deserves-real-custom-software) - [The Glide alternative when your app needs a real database](https://llamapress.ai/the-glide-alternative-when-your-app-needs-a-real-database-not-a-spreadsheet) - [The Power Apps alternative without an IT department](https://llamapress.ai/the-power-apps-alternative-for-businesses-without-an-it-department) - [The Lovable alternative for apps that outlive the prototype](https://llamapress.ai/the-lovable-alternative-when-your-business-app-has-to-outlive-the-prototype) - [The Bolt.new alternative when you need working software](https://llamapress.ai/the-bolt-new-alternative-when-you-need-working-software-not-a-codebase-to-babysit) - [The Base44 alternative that starts from your spreadsheet](https://llamapress.ai/the-base44-alternative-that-turns-your-spreadsheet-into-software-you-actually-own) - [Can Claude Code build your business app?](https://llamapress.ai/can-claude-code-build-your-business-app-what-non-developers-should-know) - [OpenAI Codex writes code, but who turns it into your app?](https://llamapress.ai/openai-codex-writes-code-but-who-turns-it-into-your-business-app) - [The best AI for Google Sheets: app vs. add-on](https://llamapress.ai/best-ai-for-google-sheets-why-an-app-is-better-than-an-add-on) - [The best AI to analyze Excel data](https://llamapress.ai/the-best-ai-to-analyze-excel-data-isnt-what-you-think-scaling-beyond-spreadsheets-in-2025) - [Static XLS-to-HTML converters vs. dynamic web apps](https://llamapress.ai/high-cost-of-static-xls-to-html-converters-vs-dynamic-web-apps) - [Starting from a design instead? Picture to HTML converter](https://llamapress.ai/picture-to-html) SOURCES: - [Gartner SaaS Study](https://www.linkedin.com/pulse/gartner-study-explores-saas-dyfed-wallis/) - [McKinsey: SaaS & Serverless Insights](https://www.mckinsey.com/capabilities/tech-and-ai/our-insights/saas-open-source-and-serverless-a-winning-combination-to-build-and-scale-new-businesses) - [McKinsey: Tech Trends Outlook](https://www.mckinsey.com/capabilities/tech-and-ai/our-insights/the-top-trends-in-tech) ## Ready to Escape Spreadsheet Chaos? Stop managing cells and start driving your business. Leonardo can convert your Excel logic into a professional application in days. [Book a Demo](https://llamapress.ai/excel-to-app) [See the Excel to App Converter](https://llamapress.ai/excel-to-app) %> ============================================================================== # Excel to Web Application Migration Services Source: https://llamapress.ai/excel-to-web-application-migration-services-how-to-choose-a-partner ============================================================================== # Excel to Web Application Migration Services > Hiring a company to convert Excel to a web application? Here is what the engagement really involves, the eight questions to ask before you sign, what it costs, and the red flags that predict a failed migration. Source: https://llamapress.ai/excel-to-web-application-migration-services-how-to-choose-a-partner | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Hiring a company to convert Excel to a web application? Here is what the engagement really involves, the eight questions to ask before you sign, what it costs, and the red flags that predict a failed migration. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Updated September 2026 Converting a business spreadsheet into a web application is a short project with a long tail. The build is usually weeks. The part that decides whether it works is who owns the code afterwards, who your team calls when a rule changes, and whether the supplier read your workbook before quoting. Ask eight questions before you sign. The most important one is whether you get the source code in your own repository on day one. In short - A real migration has five stages: read the workbook, agree the model, build, run both in parallel, then switch off the spreadsheet. - Ask for the code in your own repository, in a mainstream framework, with no per-user licence on top. - A supplier who quotes without opening the workbook is quoting a guess. Every real quote starts with the file. - LlamaPress build sprints start at $2,000, ongoing build partnership from $1,500 a month, and we have converted 400+ spreadsheets. I spent years at McKinsey watching companies buy software. The spreadsheet migrations that failed rarely failed on the code. They failed because nobody agreed what the spreadsheet actually did before somebody started rebuilding it, or because the finished system belonged to the supplier and every small change needed a purchase order. ## What an Excel to web migration actually involves **Stage one, read the workbook.** A good supplier opens the file before quoting. They are looking for how many tabs are live, which are archives, where the lookups point, which formulas carry the pricing logic, and how many people touch it. This takes hours, not weeks, and it is where the estimate comes from. **Stage two, agree the model.** Tabs become tables. Columns become fields. Formulas become rules. The conversation that matters here is about the things the workbook never wrote down: who logs in, who may approve, what "done" means, and which formulas everyone already knows are wrong. Skipping this stage is the single most common cause of a rebuild that nobody uses. **Stage three, build.** With AI writing most of the code and an engineer reviewing it, a first working version of a single workbook now takes days rather than months. Ours does. That changes the shape of the project, because you can look at a real screen in week one instead of a specification in week six. **Stage four, run both.** The spreadsheet and the app run side by side for a few weeks. You compare totals. This is the stage inexperienced suppliers skip and experienced buyers insist on. **Stage five, switch off the spreadsheet.** If you never actually retire the file, you have added a system instead of replacing one, and your costs went up. ## Eight questions to ask before you sign ### 1.Who owns the source code, and where does it live? The answer you want is that it lives in your own repository from day one and you can take it to another developer. If the code sits on the supplier's platform, your leverage on price ends the day you go live. ### 2.What is it built in? A mainstream framework with a large hiring pool. Ruby on Rails, Django, Laravel and .NET all qualify. A proprietary low code platform means the answer to question one is effectively no. ### 3.Did you open my workbook before quoting? If the quote arrived without anyone reading the file, it is a guess. Ask which tab holds the pricing logic. A supplier who has read it can answer in one sentence. ### 4.What happens when a rule changes? Business rules change monthly. Ask what a small change costs and how long it takes. If every change is a new statement of work, budget for that reality. ### 5.Is there a per user fee? Seat pricing turns a fixed project into a growing subscription. A team of 40 on a $20 per user platform pays $9,600 a year forever, on top of the build. ### 6.Who reviews the code? AI writes a great deal of production code now, including ours. The question is whether a named human engineer reviews it before it touches your data. Ask for the name. ### 7.What is the plan for the data already in the spreadsheet? Years of history sit in that file. Migration, cleaning and the duplicate customer names are real work. A quote that ignores the existing data is incomplete. ### 8.What does month three look like? Every one of these projects needs changes after launch, because people only tell you what they actually need once they can click something. Ask what support costs after go live. ## Four red flags **A fixed price with no discovery.** Nobody can price a workbook they have not opened. A fixed price offered before anyone reads the file is either padded heavily or it will become a change order. **A demo that is not your data.** Ask to see your own spreadsheet in the demo. Any supplier that can build in weeks can load a sample of your rows. **"We will replace all of it."** A migration that starts with the whole spreadsheet estate at once takes a year and gets cancelled. Start with the one workbook that hurts most, ship it, then take the next. **No mention of the people who use it.** The estimator who has run the pricing file for nine years decides whether this succeeds. If the supplier has not asked to talk to them, they are building a version of your business they invented. ## What it costs The honest range is wide, because a two tab tracker and a thirty tab pricing engine are different projects. A traditional development agency quoting a custom internal tool will typically talk in tens of thousands. AI assisted delivery has moved that floor a long way down. Our own numbers, so you have a reference point. A done for you build sprint starts at **$2,000**. An ongoing build partnership starts at **$1,500 a month**. Hosting a finished app starts at $9.99 a month with no per user seat fees. And you can convert a workbook yourself for free first, which is the cheapest way to find out how big the job really is. For the full arithmetic, including the cost of keeping the spreadsheet, read [how much it costs to replace a spreadsheet with a custom web app](https://llamapress.ai/how-much-does-it-cost-to-replace-a-spreadsheet-with-a-custom-web-app). ## Enterprise spreadsheet to portal conversion At larger companies the request usually arrives as a portal. Suppliers or branches or clients need to see their own rows and submit their own updates, and today that happens by emailing spreadsheets back and forth. The technical work is the same as a single workbook conversion plus three things. You need accounts and per organisation permissions, so each party sees only their own data. You need an audit trail, because somebody will dispute a number. And you usually need one integration, most often to the finance system, so the portal is not a third place where the truth lives. Sequence it one workbook at a time even here. The first release should serve one real group of users end to end. A phased rollout gives you a working system in weeks and the option to change direction, and a big bang gives you a steering committee. ## What this looks like when it works RSB is a steel contractor whose estimating logic lived in one workbook. We rebuilt it as a custom web application in six weeks from kickoff to deployment. Estimates now take 62% less time and cost 40% less to produce. Read [how we rebuilt a contractor's Excel logic as an app](https://llamapress.ai/we-rebuilt-a-contractors-excel-logic-as-an-app). The reason it worked was not the speed. It was that the estimator sat in the model conversation, so the rules in the app match the rules in his head, and the app is theirs to change. ## How we work We are an AI first shop with human engineers. Our coding agent, Leonardo, reads your workbook and writes the application. A human engineer reviews every build before it goes near your data. The output is a standard Ruby on Rails application on a PostgreSQL database, and the code lives in your own GitHub repository. There are no per user fees. We have converted more than 400 spreadsheets this way. You can try the same conversion yourself in about 60 seconds with the free [Excel to app converter](https://llamapress.ai/excel-to-app), and use the result as a specification whether you hire us or not. ## Frequently asked questions ### How long does an Excel to web application migration take? A single workbook is usually days to a few weeks for a working first version, then a few weeks running in parallel with the spreadsheet before you retire it. The published RSB case study ran six weeks from kickoff to deployment. ### Do we keep our formulas and macros? Formulas become rules in code, which is usually an upgrade because the rule is written once instead of copied down 4,000 rows. VBA macros are rewritten rather than imported. The detail is in [keeping your formulas and VBA macros](https://llamapress.ai/can-you-keep-your-excel-formulas-and-vba-macros-when-you-convert-to-a-web-app). ### Should we hire a development company or use a no code platform? Compare on the two questions that bite later: who owns the code, and what does it cost per user at your headcount in three years. The arithmetic for a 12 user internal tool is worked through in [Glide vs Softr vs Airtable vs a custom build](https://llamapress.ai/glide-vs-softr-vs-airtable-vs-a-custom-build-for-an-internal-tool-from-excel). ### Can you work with our IT department's requirements? Yes. Because the output is a standard Rails application in your own repository, your IT team can review it, host it themselves, or hand it to another supplier. That is the main reason we build it that way. ### What if we only need one report published, not an application? Then do not buy software. Convert the sheet to an HTML table with our free [Excel to HTML converter](https://llamapress.ai/excel-to-html) and paste it into your page. If the list has to be live, searchable and public, the middle option is to [convert the spreadsheet into a website](https://llamapress.ai/excel-to-website), which is far less work than a migration project. ### Send us the workbook We will read it and tell you what it would take, including whether you need us at all. Build sprints start at $2,000. Ongoing partnership from $1,500 a month. [Contact us](https://llamapress.ai/contact) [Try the free converter first](https://llamapress.ai/excel-to-app) 400+ spreadsheets converted. Code in your own GitHub. No per user fees. Pricing, case study figures and product facts are LlamaPress's own, published at [llamapress.ai/pricing](https://llamapress.ai/pricing), [llamapress.ai/services](https://llamapress.ai/services) and [the RSB case study](https://llamapress.ai/we-rebuilt-a-contractors-excel-logic-as-an-app), checked September 2026. ============================================================================== # Excel vs. Databases: The Main Differences Source: https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software ============================================================================== # Excel vs. Databases: The Main Differences > Learn the fundamental differences between Excel spreadsheets and database-backed software. Discover how scaling businesses transition from fragile cells to robust systems using AI. Source: https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Learn the fundamental differences between Excel spreadsheets and database-backed software. Discover how scaling businesses transition from fragile cells to robust systems using AI. [Back to all articles](https://llamapress.ai/blog) You already know Excel. It's how you put together estimates, track customer orders, manage onboarding checklists, and keep your business running. Maybe it's a Google Sheet instead of Excel — same idea. Either way, it works. Until it doesn't. ![Chaos of data management](https://images.unsplash.com/photo-1659035259667-b7ff7efe29dd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMGNoYW9zJTIwc3ByZWFkc2hlZXR8ZW58MHx8fHwxNzc1NjcxODY1fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [2H Media](https://unsplash.com/@2hmedia?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) At some point, the spreadsheet that started as a simple tracker became the operational backbone of your business. Now it has 30 tabs, formulas nobody fully understands, and five people emailing different versions back and forth. You have a nagging feeling there's a better way, but you're not sure what it is. ## What Is a Database, Really? A database is just organized storage — like Excel, but with rules. You know how Excel has tabs at the bottom of the workbook? A database has something similar called **tables**. A table is like a single sheet — rows and columns of data. Your "Clients" tab becomes a Clients table. Your "Orders" tab becomes an Orders table. Your "Estimates" tab becomes an Estimates table. The Engineering Reality: The key difference is **structure**. In Excel, any cell can hold anything. In a database, every column has a defined type — this one holds text, that one holds numbers, this one holds dates. This rigidity is the source of a database's power. When data is clean and consistent, everything built on top of it — reports, workflows, dashboards — works reliably. When data is messy and inconsistent, which is what Excel quietly allows, things break in ways that are hard to find and expensive to fix. ## The Excel Pros — Why Everyone Starts Here Let's give Excel its due. There are real reasons it's the most popular business tool on the planet. - **Visibility:** Open a spreadsheet and your data is right there. Nothing is hidden behind a menu. - **Unified Stack:** Excel stores, displays, and computes your data all in the same place. - **Zero Friction:** No setup. No configuration. No planning. You just click a cell and start typing. - **Universality:** Anyone from your estimator to your office manager can use it without formal training. ## Where Excel Breaks Down — the Cons You're Probably Already Feeling **You are the workflow engine.** This is the big one. Your spreadsheet doesn't know your process. It doesn't know that after you enter quantities, you need to apply rates. It doesn't know that a customer request needs to be followed up within 24 hours. You have to hold the entire mental model in your head — every step, every dependency, every edge case. Miss something on a Friday afternoon and nobody catches it — because there's nothing to catch it. ![Robust database architecture](https://images.unsplash.com/photo-1763771787035-99c6c28ec78e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkYXRhYmFzZSUyMGFyY2hpdGVjdHVyZSUyMGJsdWV8ZW58MHx8fHwxNzc1NjcxODY1fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Zoshua Colah](https://unsplash.com/@zoshuacolah?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## What a Database Gives You — the Pros **Data integrity.** The system enforces rules so that humans don't have to remember them. A price field only accepts numbers. A required field can't be left blank. **Guided workflows.** This is the game-changer. Software built on a database doesn't just store your data — it walks you through the process. Step 1, step 2, step 3, with validation and guardrails at each point. Instead of holding the entire process in your head, the software holds it for you. You follow the path. It catches the mistakes. ## Why Doesn't Everyone Just Use a Database Then? Honest answer: because databases have historically been hard. You need a technical person to set it up and maintain it. A developer at $200/hour who is hard to find and retain. Designing the "schema" (the blueprint) requires thinking through your entire data model upfront. ### What's Changed in the Last 24 Months Everything above — databases are powerful but hard, spreadsheets are easy but fragile — has been true for decades. But AI has fundamentally changed the equation. The hard parts of databases — schema design, migrations, building the UI, writing the code — are exactly what AI is best at automating. The things that used to require a developer for six months and a six-figure budget can increasingly be done in a fraction of the time. [See Leonardo in Action](https://llamapress.ai/users/sign_up) ## So What Should You Do? If your spreadsheet works and it's just you — keep using it. But if you're experiencing the pain — multiple people, complex workflows, version chaos, error anxiety — you've outgrown your spreadsheet. The good news: you no longer have to choose between "easy but fragile" and "powerful but expensive." The gap is closing, fast. When you're ready, you can [convert your Excel spreadsheet into a web application](https://llamapress.ai/excel-to-app) in minutes, or read [what a database-backed order desk looks like for a scaling operations team](https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth). ### Glossary **Database** Organized digital storage with enforced rules about structure. **Schema** The blueprint for your database defining tables and columns. **Guided Workflow** A process that walks users through steps with guardrails. ============================================================================== # Field Service Software From Your Own Spreadsheets Source: https://llamapress.ai/field-services ============================================================================== # Field Service Software From Your Own Spreadsheets > Crew scheduling, dispatch, job tracking, and equipment software built by LlamaPress from the spreadsheets your field service team already uses. See how Leonardo turns them into real apps. Source: https://llamapress.ai/field-services | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Crew scheduling, dispatch, job tracking, and equipment software built by LlamaPress from the spreadsheets your field service team already uses. See how Leonardo turns them into real apps. [Back to all articles](https://llamapress.ai/blog) The Problem ## Your crews and schedules run on spreadsheets that fight you daily The dispatcher opens the schedule spreadsheet at six in the morning and starts moving names around. A crew calls in sick, a job runs long, a customer adds an emergency visit. Every change means editing cells, texting someone, and hoping nobody is working from the version that was current an hour ago. On the job site, the crew finishes the work and fills in the paperwork later, from memory, because the form is on someone else's laptop. Job details, hours worked, and materials used get reconstructed at the end of the week when the office needs them for billing. The customer calls to ask when someone is coming back, and the only honest answer is "we will check." Equipment lives in a different spreadsheet. Vehicle mileage, maintenance due dates, and where each truck is parked tonight are tracked inconsistently, so the office learns about a failed inspection after the fact instead of before it. None of this is a people problem. Your crews are skilled and your dispatcher is probably the calmest person in the building. The tools force them to be the database, and a spreadsheet is a terrible database when ten people are updating it from ten different places. ![A field worker holding a tablet on site, the mobile data-capture point where field service work really happens](https://images.unsplash.com/photo-1521633286323-05b17f47cb74?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx0YWJsZXQlMjBidXNpbmVzcyUyMGZpZWxkJTIwd29ya2VyfGVufDB8fHx8MTc4Mzg4MTAyMnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Xavi Cabrera](https://unsplash.com/@xavi_cabrera?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-holding-tablet-computer-OzBLe_Eg1SM?utm_source=leonardo_rails_app&utm_medium=referral) What We Build ## Real apps for the work your crews actually do LlamaPress builds custom software for field service teams, usually starting from the spreadsheet that already runs the process. Here is what that looks like in practice. ### Crew & Job Scheduling Jobs, crews, and dates in one place, with conflicts flagged before they happen. The dispatcher sees the whole week at a glance, and a sick call becomes a reassignment instead of a scramble. ### Dispatch Every crew knows their assigned jobs, addresses, and start times from their own phone. Changes push out in real time, so nobody works from an outdated printout. ### Job Completion Records The crew logs work, hours, and materials from their phone on the spot, not from memory on Friday. Billing gets what actually happened, and the customer gets a clear record of the visit. ### Equipment & Vehicle Tracking Mileage, maintenance, and inspection dates tracked per vehicle, with reminders before something expires. The office learns about a failed inspection before it happens, not after. ### Materials & Inventory What is on the truck, what is in the yard, and what needs reordering, in one place. A job consumes stock, the system updates counts, and the reorder list writes itself. ### Operations Reporting Jobs per crew, hours logged, materials used, and revenue per job reported from the same data your team enters daily. The weekly ops review stops being a spreadsheet archaeology project. How It Works ## From spreadsheet to field service software, with Leonardo Leonardo is LlamaPress's AI builder. It reads the spreadsheet the way a developer would read a spec, then builds the software around it. You can start for free and see the first working version in your first session. 1 ### Upload the spreadsheet you use today Head to [Excel to App](https://llamapress.ai/excel-to-app) and upload your schedule, dispatch log, or job tracker exactly as it is. Tabs, color coding, notes in cells. Leonardo reads the columns, the logic, and the statuses you apply by hand. 2 ### Leonardo builds the first working version Your spreadsheet becomes an application: a job record for each visit, crew assignments, completion logging, and the reports your office actually runs. It runs on a real database from day one, so nothing lives in someone's head or inbox anymore. 3 ### Refine it in plain English "Crews log hours against the job from their phones." "Flag conflicts when a crew has two jobs at once." "Customers get a text when the crew is en route." You describe the change, Leonardo makes it. 4 ### Go live with your team Invite your dispatcher, crews, and office staff, and retire the spreadsheet. The app keeps evolving as your process does, because changing it is a conversation rather than a development contract. ## Why not just buy an existing system? Most field service teams have already looked at the big platforms and the generic tools. Both miss the point in different ways. ### Dispatch platforms Built for large fleets with complex routing needs. A smaller crew ends up paying for GPS optimization and driver apps it will never use, then waits for a change to a workflow it already has working. ### Generic work trackers A shared to-do list with a nicer interface than your spreadsheet. It still has no idea that a job consumes materials or that a crew cannot be in two places at once. Your process logic stays in someone's head. ### Better spreadsheets Conditional formatting and shared drives can go only so far. The moment ten people update the same file from ten different locations, the spreadsheet stops being the tool and starts being the bottleneck. LlamaPress builds the option that fits: software shaped to your team's process, at a price shaped to your size. See [pricing](https://llamapress.ai/pricing) for what that costs. ## Questions field service teams ask us ### How long does it take to go from spreadsheet to a live system? The first working version is built by Leonardo in your first session, usually within the hour. Most teams spend a few days refining schedules, statuses, and reports, then run one real week through it before switching over fully. Weeks, not a quarter. ### Can our crews log work from the field? Yes. The app runs in any browser, so a crew member with a phone or tablet can see assigned jobs, log hours and materials on the spot, and attach photos. The office sees the update the moment it is saved. ### Will my existing schedules and job history come across? Yes. Whatever is in your spreadsheet today is imported into the app, so you are not starting from a blank slate. You keep the history and gain the structure. ### We handle customer and site data. How is that protected? Your application runs on its own dedicated instance with its own database, so your customer and job data is never pooled with other companies' data. Access is controlled per role and every access is logged. ### Who owns the software and the data? You do. The application is yours, the database is yours, and your data is exportable at any time. Paid plans include access to the source code, so you are never locked into us to keep the system you built. Start Today ## Your spreadsheet is the spec. Upload it. The schedule or job log you maintain by hand already describes your ideal software. Leonardo will build the real version, with crew assignments, completion records, and reports that run themselves. [Upload Your Spreadsheet](https://llamapress.ai/excel-to-app) [Ask a Question First](https://llamapress.ai/contact) ============================================================================== # Free Commercial Construction Estimating Template Source: https://llamapress.ai/free-commercial-construction-estimating-template-for-excel ============================================================================== # Free Commercial Construction Estimating Template > A free commercial construction estimating template for Excel: CSI division structure, loaded labor rates, a unit cost library, and a bid summary with real rollup formulas. No macros, no email gate. Source: https://llamapress.ai/free-commercial-construction-estimating-template-for-excel | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) A free commercial construction estimating template for Excel: CSI division structure, loaded labor rates, a unit cost library, and a bid summary with real rollup formulas. No macros, no email gate. [Back to all articles](https://llamapress.ai/blog) Free download, no email required ## The workbook, ready to use Six sheets: instructions, loaded labor rates, a 200-row estimate wired with formulas, a CSI division bid summary, a unit cost library, and a bid day checklist. No macros. Works in Excel and Google Sheets. [Download the template](https://llamapress.ai/assets/templates/commercial-construction-estimating-template-llamapress-b8323f6bb178cf52ab81eae9e9ccf84381dff8d546a06dfe382acd24a76dcf00.xlsx) It is downloading now. One thing worth saying while you have it open: this workbook holds up until two estimators need to price the same bid at once, or you find yourself copying last job's file to start the next one. That is the part we build. [Send us the workbook you actually bid from](https://llamapress.ai/contact) We will tell you what it would take to turn it into software your team can use. No charge for the look. Most free construction estimating templates are a pricing grid with a logo. One tab, a column of line items, a hardcoded total, and a download form that exists to capture your email for a software sales sequence. You can build that grid yourself in ten minutes, which is why nobody uses those templates twice. This one is built the way commercial estimating actually runs. Line items carry a CSI MasterFormat division, labor is priced from loaded rates instead of guesses, sub quotes sit beside self-perform work, and the bid summary rolls every division up with live formulas. It is the structure I would set up for a mid-size general contractor or subcontractor on day one. It is also honest about its own limits. A workbook like this will serve you well up to a point, and later in this page I will tell you exactly where that point is, because we spend our working days building what comes after it. ![Construction estimator working through printed drawings with a pencil](https://images.unsplash.com/photo-1542621334-a254cf47733d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&q=80&w=1080) Photo by [Sven Mieke](https://unsplash.com/@sxoxm?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/brown-pencil-on-white-printing-paper-fteR0e2BzKo?utm_source=leonardo_rails_app&utm_medium=referral) ## What is inside the workbook ### Labor Rates with burden math Seven labor classes from project manager to laborer, each with a base wage, a burden percentage, and a loaded rate the estimate reads automatically. Burden is where new estimators lose margin: payroll taxes, workers comp, liability and benefits typically add 40 to 50 percent on top of the wage. If your estimate prices labor at the paycheck number, every labor hour you sell loses money. This sheet makes the burden explicit so it cannot be forgotten. ### Estimate Detail: 200 wired rows One row per line item: division, description, quantity, unit, material unit cost, labor hours per unit, labor class, equipment, and sub quote. Material extends automatically, labor pulls the loaded rate for the class you pick, and the line total sums the four cost types. Division, unit and labor class are dropdowns, so the rollups never break on a typo. Two hundred rows come pre-wired; add more by copying the last row. ### Bid Summary: CSI divisions and the markup stack Twenty-three CSI MasterFormat divisions roll up with SUMIFS formulas, each shown as a percentage of direct cost so a division that looks wrong stands out before bid day. Below the directs sits the markup stack in the order it should compound: general overhead on directs, profit on directs plus overhead, contingency, then bond on everything above it. Each markup line carries a note about what it is for, because the fastest way to lose money on a bid is to cut a number you did not understand. ### Unit Cost Library with a Last Verified column A place to keep the unit prices you trust, by division, with the column most cost libraries are missing: the date you last verified the rate and where it came from. Historical pricing is the real asset an estimating operation builds. A rate without a date is a rumor. ### Bid Day Checklist Ten checks, each one earned by a real blown bid somewhere: addenda counted against the architect's list rather than your inbox, sub quotes leveled for scope before you take the cheapest, every division nonzero or excluded in writing, and a saved bid-day copy of the file before anyone edits it after the fact. ## Why there are no macros in it Ask any estimating team about their workbook and you will hear the same story: it has macros, the macros are broken, and the person who wrote them left. VBA is how an estimating spreadsheet becomes a single point of failure. The buttons stop working on the one morning you cannot afford it, and nobody living can say why. Everything in this template runs on plain formulas: SUMIFS for the division rollups, a VLOOKUP for loaded labor rates, and arithmetic everywhere else. Plain formulas are inspectable, they survive Excel versions and Google Sheets, and any estimator can trace them cell by cell. If a workbook needs VBA to function, that logic has outgrown the spreadsheet, and the honest fix lives one section down. ## Where this template stops working Every estimating workbook has the same four ceilings, and they arrive with growth, not with failure. Two estimators need to price the same bid at once, and Excel makes them take turns. Your pricing history piles up in old copies with names like FINAL-v3, where nobody can query it. Your rates and margins travel with every emailed copy of the file. And the logic gets complicated enough that someone reaches for VBA, which starts the macro story over again. Those are the problems we solve for a living. We take an estimating workbook, usually messier than the one you just downloaded, and turn it into [custom estimating software](https://llamapress.ai/custom-estimating-software-built-from-the-spreadsheet-you-already-have) with your divisions, your buildup logic and your protected rates. That is how [Lohman Contracting](https://llamapress.ai/portfolio/lohman-construction-erp) got its macro-heavy civil estimating workbook rebuilt as secure software, and how [RSB Contracts](https://llamapress.ai/portfolio/rsb) went from an estimating spreadsheet to a system running tendering, production and purchase orders. The first build is free. Upload your current spreadsheet, and we email you a working app and walk you through it on a call. [Get a free estimating app from your spreadsheet](https://llamapress.ai/free-custom-estimating-app-from-your-spreadsheet) [Try the Excel to app builder](https://llamapress.ai/excel-to-app) ## Estimating in one trade, not general construction? The structure in this workbook adapts to any division: swap the CSI list for your cost codes and load your own labor classes. We are building trade-specific versions for roofing, electrical, plumbing, HVAC, concrete, drywall, painting and landscaping estimating next. If you want your trade's version sooner, [send us the spreadsheet you use today](https://llamapress.ai/free-custom-estimating-app-from-your-spreadsheet) and we will build from that instead, which is better anyway: it comes back with your rates in it. ## Questions estimators ask about this template ### Is the download really free, with no email gate? Yes. The link downloads the file directly. We would rather you use the template and remember who made it than fill a form you resent. ### Does it work in Google Sheets? Yes. It uses plain formulas only (SUMIFS, VLOOKUP, arithmetic), so it imports into Google Sheets cleanly. The dropdowns and freeze panes carry over. ### Are the sample rates real? They are realistic placeholders for structure only. Labor rates, burden and unit costs vary by region, wage decision and vendor. Replace every number with your own, and date each rate in the Last Verified column as you do. ### Can it handle takeoff? No, and it does not pretend to. Do quantity takeoff in your takeoff tool or on the drawings, then price the quantities here. A spreadsheet that claims to do takeoff usually does neither job well. ### What if our estimating is too custom for a template? Then you are our favorite kind of estimator. Custom pricing logic is the reason templates and off-the-shelf software both disappoint. [Upload the workbook you already use](https://llamapress.ai/free-custom-estimating-app-from-your-spreadsheet) and we will build a free app around your logic instead of anyone's template. ============================================================================== # Generative AI Consulting That Ends in Software Source: https://llamapress.ai/generative-ai-consulting-that-ends-with-working-software ============================================================================== # Generative AI Consulting That Ends in Software > Most AI consulting ends in a slide deck. What a good engagement covers, what it should cost, and the five questions that expose a deck seller before you pay. Source: https://llamapress.ai/generative-ai-consulting-that-ends-with-working-software | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Most AI consulting ends in a slide deck. What a good engagement covers, what it should cost, and the five questions that expose a deck seller before you pay. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert I made slide decks for a living. McKinsey trained me well, and the decks were good. The decks were also the product. Much artificial intelligence consulting still works that way today. The client pays a large fee, receives a roadmap, and owns no software at the end. If you are comparing AI consulting services right now, your main job is to avoid buying a document. This guide shows you what to buy instead. Good generative AI consulting covers four things: where AI fits your specific workflow, whether your data can support it, whether to build or buy each tool, and one pilot that ships during the engagement. Generative AI means software that writes text, code, or images on request. A pilot is a small first project with a measurable goal. The strategy phase should take two to four weeks. As of this writing, that phase runs from a few thousand dollars with an AI-native firm to six figures with a large consultancy. Judge every AI consulting company by one test. Ask what the previous client could use on the first day after the engagement ended. The gap between those two price points is usually the deck. ![Two consultants sketching an AI workflow plan on a whiteboard during a strategy session](https://images.unsplash.com/photo-1532622785990-d2c36a76f5a6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxidXNpbmVzcyUyMHN0cmF0ZWd5JTIwY29uc3VsdGluZyUyMHdoaXRlYm9hcmQlMjBtZWV0aW5nfGVufDB8fHx8MTc4Nzg5NTcyNHww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Kaleidico](https://unsplash.com/@kaleidico?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/two-people-drawing-on-whiteboard-26MJGnCM0Wc?utm_source=leonardo_rails_app&utm_medium=referral) ## Why So Much AI Consulting Ends in a Deck The incentives explain the outcome. Most AI consulting firms bill by the hour or by the phase. Analysis hours are safe hours. A recommendation cannot crash in production, miss a deadline, or return a wrong answer to a customer. Working software can do all three. So the engagement model drifts toward what is safe to sell: interviews, market scans, maturity assessments, and a final readout. The firm leaves, and your team holds a PDF and a backlog. A deck is sometimes the right purchase. If you run a 2,000 person company, you may need an AI policy, a governance model, and board alignment before anyone builds anything. Regulated industries often need a risk review first. That work is real strategy work, and a large AI consultancy does it well. Buy the deck in those cases. If you run a 10 to 200 person company with a concrete process problem, you need something different. You need a working tool, and the strategy should be in service of shipping one. One more distinction saves buyers money. Some vendors that call themselves consultants are automation agencies that resell SaaS setups. I wrote a separate guide on [what an AI automation agency actually does](https://llamapress.ai/what-an-ai-automation-agency-actually-does-and-how-to-pick-one). Read that guide if the vendor's proposal lists subscription tools rather than analysis or code. ## What Generative AI Consulting Services Should Cover Strip the branding away and generative AI consulting services have four jobs. A good engagement does all four. A deck seller does the first one and stops. ### 1. Where AI fits your workflow The consultant should sit with your team and map the actual process: who enters what, where the handoffs happen, and where hours disappear. Good candidates for generative AI are narrow and repetitive. Drafting quotes from job notes, summarizing intake calls, and extracting data from emailed documents all qualify. A finding like "use AI in operations" is too vague to act on. A finding like "auto-draft the estimate email from the job record" is a spec. ### 2. Data readiness AI output is only as good as the records behind it. If your customer history lives in one operator's spreadsheet tabs, the model has nothing reliable to read. A good consultant checks where each needed fact lives today and what cleanup the pilot requires. This step often reveals the real project. Many companies need a database before they need a model. Our comparison of [Excel files and database-backed apps](https://llamapress.ai/excel-to-app) shows what that move looks like. ### 3. Build or buy, per use case Some needs are met by an off-the-shelf subscription, and an honest advisor says so. A generic meeting summarizer is a purchase, so do not commission one. A tool that quotes jobs with your price rules is a build, because no vendor sells your rules. The consultant should give a build or buy call for each use case, with the monthly cost of each path. ### 4. One pilot that ships The engagement should end with one pilot live in your business, used by your team, with a number attached. Pick the metric before the build starts: hours saved per week, response time, error rate on quotes. One shipped pilot teaches you more about AI in your business than any market scan. The pilot also tests the vendor. A firm that cannot ship a small tool will not ship a large one. ## What AI Strategy Consulting Should Cost and Produce Prices vary widely, so treat these bands as orientation, not quotes. As of this writing, large firms price AI strategy consulting in the six figures for enterprise clients. Boutique AI consulting firms commonly land in the tens of thousands for a strategy phase. An independent AI business consultant often charges $100 to $300 per hour. AI-native companies like ours fold the strategy work into a build priced in the low thousands, because the analysis and the software come from the same effort. Whatever you pay, the strategy phase should produce four artifacts. First, a workflow map that names the specific steps where AI applies. Second, a data readiness assessment with the cleanup work listed. Third, a build or buy decision for each use case with running costs. Fourth, a scoped pilot with an owner, a deadline measured in weeks, and a success metric. If a proposal promises a "transformation roadmap" and none of those four, you are reading a deck outline. Company size changes the math. Under roughly 50 employees, a separate strategy engagement rarely pays for itself. The analysis fits in a week, and the budget belongs in the pilot. I wrote a guide to [the practical path to automation for small businesses](https://llamapress.ai/ai-consulting-for-small-businesses-the-practical-path-to-automation) that covers that case in depth. This page assumes you have a process, a team, and a real decision to make between vendors. ## Five Questions That Expose a Deck Seller Every AI consulting company sounds identical in the pitch. The same case studies, the same maturity curve, the same urgency. These five questions separate the builders from the presenters. 1. **Who on the team writes code?** Ask for the names and roles of the people assigned to you. An engagement staffed only with strategists and analysts will end in analysis. 2. **Can the pilot go live inside the engagement?** The only good answer is yes, with a date. "Phase two" means the shipping risk stays with you. 3. **Who does the AI integration consulting after the strategy phase?** Integration means connecting the AI tool to your live systems and data. If the answer is "an implementation partner," you are buying a handoff, and handoffs are where projects die. 4. **What did your last client use on day one after you left?** Listen for a named tool in daily use. Listen with suspicion to a list of documents. 5. **Who owns what you produce?** Code in your repository and data in your database, in writing. A consultant whose deliverables live in their systems has made leaving expensive. None of these questions require technical knowledge. They only require asking, before money moves, what exists when the engagement ends. ## How We Consult: We Ship the Pilot LlamaPress is an AI consulting company of the fourth-artifact kind. We skip the deck and start at the pilot. Our AI coding agent, Leonardo, builds a working database-backed web app from the process you already run. Your current spreadsheet is usually the best spec, because your team already encoded the workflow in it. The strategy questions still get answered: workflow fit, data readiness, build or buy. They get answered in working software, in days, priced in the low thousands of dollars. > "Instead of my team having to do all that, why can't it just all be automated?" That question came up on a real call. The answer became a build list, not a deck. Our answers to the five questions above, on the record: the agent and our engineers write code from day one. The pilot goes live inside the engagement. We do the integration work ourselves. The deliverable is an app your team signs into. The code lives in your own GitHub account, and your data sits in a database you can export. And to be plain about fit: we do not write enterprise AI policy, run change management programs, or manage anyone's ad campaigns. If your need is a 200 slide alignment exercise, hire a strategy firm. If your need is software that works, the [services page](https://llamapress.ai/services) shows how an engagement runs. Strategy That Ships ### Skip the deck. Start at the pilot. Bring the workflow you want AI to carry, or just bring the spreadsheet that runs it. We will show you a working pilot before you commit to anything. [See how we consult](https://llamapress.ai/services) [Describe your workflow](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What do AI consulting services include? A complete engagement includes four things: a map of where AI fits your workflow, a data readiness assessment, a build or buy decision for each use case, and one pilot that ships during the engagement. Many firms deliver only the analysis. Confirm before signing that a working pilot is inside the scope. ### How much does generative AI consulting cost? As of this writing, large consultancies price enterprise engagements in the six figures. Boutique firms commonly land in the tens of thousands for a strategy phase. Independent consultants charge $100 to $300 per hour. AI-native builders fold strategy into a pilot priced in the low thousands of dollars. ### What is the difference between AI strategy consulting and AI integration consulting? AI strategy consulting decides what to do: which use cases, which data, build or buy. AI integration consulting makes a chosen tool work inside your live systems and data. Deck sellers stop at strategy and hand integration to someone else. Prefer a vendor that does both, so one party owns the outcome. ### Should I hire an AI consulting firm or an independent AI business consultant? Pick by what must exist when the engagement ends. A solo consultant suits advice, vendor selection, and team training. A firm suits work that needs designers, engineers, and delivery on a deadline. In both cases, apply the same test: ask who writes the code and whether the pilot goes live inside the engagement. ### How do I choose an AI consulting company? Ask five questions: who on the team writes code, can the pilot go live inside the engagement, who handles integration, what the last client used on day one after exit, and who owns the code and data. Then weigh price against shipped output. A working pilot beats any roadmap. ============================================================================== # Glide vs Softr vs Airtable vs a Custom Build Source: https://llamapress.ai/glide-vs-softr-vs-airtable-vs-a-custom-build-for-an-internal-tool-from-excel ============================================================================== # Glide vs Softr vs Airtable vs a Custom Build > Four ways to turn an Excel order tracker into an internal tool, priced for 12 users over three years. Glide, Softr, Airtable and a custom build compared. Source: https://llamapress.ai/glide-vs-softr-vs-airtable-vs-a-custom-build-for-an-internal-tool-from-excel | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Four ways to turn an Excel order tracker into an internal tool, priced for 12 users over three years. Glide, Softr, Airtable and a custom build compared. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 For an internal tool built from an Excel workbook, Glide is the fastest phone-first list app over a sheet. Softr is the best portal layer on top of Airtable. Airtable is the right database and interface layer if your team will live inside Airtable every day. A custom build wins when the tool runs a real process with rules and five or more users, and you want to own the result. As of September 2026, an AI-built custom app costs less than three years of seats on any of the three. In short - Glide wins when you need a phone-friendly list and detail app over a sheet in an afternoon. - Softr wins when the tool is a portal for clients or staff and the data already lives in Airtable. - Airtable wins when your team is happy to work inside Airtable and pays $20 per editor per month. - A custom build wins when the workbook holds rules, roles and a multi-step process, and 5 or more people run it. - For 12 users over three years, Airtable Team costs $8,640 in seats. A LlamaPress build sprint plus hosting starts at $2,791.64. I build the software behind LlamaPress and I created Leonardo, our AI coding agent. Leonardo has converted more than 400 spreadsheets into working apps. Before that, I spent years pricing the same choice for small teams. The three no-code tools in this comparison are good products. I recommend each of them in the right situation below. I also say plainly where a custom build is the better deal, and where the custom build has its own limits. ![Two colleagues in an office comparing options on a screen while choosing a tool for an internal app](https://images.unsplash.com/photo-1580894736036-7a68513983ec?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx0ZWFtJTIwY29tcGFyaW5nJTIwb3B0aW9ucyUyMHdoaXRlYm9hcmQlMjBvZmZpY2V8ZW58MHx8fHwxNzg4MzYxODkzfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [ThisisEngineering](https://unsplash.com/@thisisengineering?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-in-blue-dress-shirt-standing-beside-woman-in-pink-and-white-stripe-dress-shirt-xZTScJvolYk?utm_source=leonardo_rails_app&utm_medium=referral) ## What are Glide, Softr and Airtable, and what is a custom build? The four options differ most in what they read as input. Glide reads a sheet, or its own hosted tables, and renders an app over it. Softr sits on top of Airtable, Google Sheets, or its own Softr Databases, and renders pages and portals. Airtable is the database itself, with an Interfaces layer for screens on top. A custom build is application code running on a real database, with the workbook as the blueprint. Glide's current product is called GlideOS. Glide's pricing page describes GlideOS as a platform for building internal business apps from a spreadsheet, a prompt, or a file. Glide's Excel documentation states that workbooks can be uploaded directly or connected from OneDrive and SharePoint, and that Excel import works on any plan. Live sync with Excel needs a higher plan. Glide's documentation also caps spreadsheet data sources at 25,000 rows across all tables in an app. Softr's documentation lists Airtable, Google Sheets, HubSpot, Notion, SQL databases and its own Softr Databases as data sources. Softr does not read an Excel workbook on your desktop. You import the workbook into one of those sources first. Airtable is the same. Airtable imports your workbook into a base, and the base becomes the live copy. From that point the workbook is history. A custom build treats the workbook as a specification. The tabs become tables. The columns become fields. The formulas become rules in code. The result is a web app with logins that anyone can open in a browser. At LlamaPress, the output is a standard Ruby on Rails app on a PostgreSQL database, and the code lives in your own GitHub repository. Our page on [the internal app builder that starts from your spreadsheet](https://llamapress.ai/the-internal-app-builder-that-starts-from-your-spreadsheet) covers that approach in more depth. ## How do Glide, Softr, Airtable and a custom build compare for an internal tool? The table below is the short version. All prices are USD list prices as of this writing, September 2026, taken from each vendor's pricing page. Row limits and role tiers come from the vendors' own documentation. | | Glide (GlideOS) | Softr | Airtable | Custom build (LlamaPress) | | --- | --- | --- | --- | --- | | Starting point from Excel | Upload the workbook, or connect it from OneDrive or SharePoint. Import on any plan; live sync on higher plans | Import the workbook into Airtable, Google Sheets or a Softr Database first | Import the workbook into a base. The base becomes the live copy | Upload the workbook. Tabs become tables, formulas become rules | | Entry paid price | Basic $25/mo | Basic $19/mo | Team $20 per user/mo, billed annually | Hosting from $9.99/mo. Build sprints from $2,000 | | Pricing model | Plan tier plus team members plus credits. No per-user price shown | Plan tier plus counted team users and client users | Per editor. Read-only collaborators are free | One-time build plus flat monthly hosting. No seat fees | | Row or record limits | 25,000 rows across spreadsheet sources. Glide Big Tables up to 10 million rows | Softr Databases: 50K on Basic, 500K on Pro, 1M on Business | 50,000 records per base on Team. 125,000 on Business | PostgreSQL. No plan-based row limit | | Logic and business rules | Workflows: 1 on Basic, 5 on Plus, unlimited on Pro | Workflow actions per month: 2.5K on Basic, 10K on Pro | Automations: 25,000 runs/mo on Team, up to 50 per base | Rules written in code. No run meter | | Roles and permissions | Org-level roles on Pro ($125/mo). Project-level roles on Enterprise | Custom role-based permissions on Pro ($99/mo) | Editor and read-only per base. Interfaces shared separately on paid plans | Any role, down to row-level rules, on every plan | | Mobile | Phone-first app layouts | Apps can be turned into mobile apps | Native iOS and Android apps | Responsive web app in any phone browser | | Who can export the app or code | View code and project files on Enterprise only. No self-hosting | Data only. No code export or self-hosting | Data only. No code export or self-hosting | You. The code sits in your own GitHub repository | | Time to first version | Hours | Hours to a day, plus the data import | A day for the base, longer for interfaces | Days for a first version, weeks to finish | | Best for | A phone-first list app over one sheet | Portals and client-facing views on Airtable data | Teams that will work inside Airtable daily | A rule-heavy process with 5 or more users that you want to own | Sources for the table: [Glide's pricing page](https://www.glideapps.com/pricing), [Softr's pricing page](https://www.softr.io/pricing) and [Airtable's pricing page](https://airtable.com/pricing), all read on 2 September 2026. Airtable's pricing page states that you are charged for every user with edit permission on at least one base, and that read-only collaborators cost nothing. That one rule decides most of the Airtable math below. ## What does a 12-user order tracker cost over three years on each? Take a common case. A six-tab order tracker in Excel: Orders, Customers, Products, Shipments, Status Log, and a Dashboard tab. Twelve people use it. Five sales reps enter orders. Four warehouse staff update statuses from the floor. Two people in accounting check invoicing. The owner reads the dashboard. Eleven of the twelve edit rows. The tracker holds about 4,000 orders a year, so 12,000 rows over three years. The arithmetic below uses the September 2026 list prices from the table. Every line shows its inputs. Two of the four figures are floors, and I say which. Glide (GlideOS Pro): $4,500 floor Pro is the lowest plan with org-level roles, at $125 a month. Arithmetic: $125 x 36 months = $4,500. Glide prices by team members plus credits and shows no per-user price, so 12 people may need extra members and credits. Treat $4,500 as a floor. Softr (Pro): $3,636 Pro is the tier with custom role-based permissions, at $99 a month, and includes 10 team users. Two more team users start at $1 a month each. Arithmetic: ($99 + $2) x 36 months = $3,636. Assumes all 12 use the company email domain; Gmail addresses count as client users instead. Airtable (Team, annual): $8,640 Airtable charges $20 per editor per month on annual billing, and 12 editors is the honest count for an order tracker. Arithmetic: 12 x $20 = $240 a month; $240 x 36 months = $8,640. If only the owner reads and 11 edit, the figure is $7,920. Business is $45 per editor, so $19,440. Custom build (LlamaPress sprint plus Pro hosting): $2,791.64 floor A done-for-you build sprint starts at $2,000. Hosting on the Pro plan is $21.99 a month with no seat fees. Arithmetic: $21.99 x 36 months = $791.64; $2,000 + $791.64 = $2,791.64. Scope sets the final sprint price, so treat the figure as a floor. Building the app yourself with Leonardo on the Starter plan is $9.99 x 36 = $359.64. The gap with Airtable is the one that surprises people. Twelve editors on Airtable Team cost more over three years than a custom app you own outright. Softr comes closest on price, and Softr is a fair choice if the tracker is a portal with light rules. The difference between $3,636 and $2,791.64 is small. The difference in what you hold at the end is large. One route leaves you with a subscription. The other leaves you with code in your GitHub account and a database you can export. Our [pricing page](https://llamapress.ai/pricing) has the current hosted plans, and the [spreadsheet replacement cost guide](https://llamapress.ai/how-much-does-it-cost-to-replace-a-spreadsheet-with-a-custom-web-app) works through three more examples. ![Laptop on a glass desk showing a dashboard with charts, the kind of view an order tracker app replaces](https://images.unsplash.com/photo-1460925895917-afdab827c52f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxsYXB0b3AlMjBzcHJlYWRzaGVldCUyMGRlc2slMjBkZWNpc2lvbnxlbnwwfHx8fDE3ODgzNjE4OTZ8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Carlos Muza](https://unsplash.com/@kmuza?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/laptop-computer-on-glass-top-table-hpjSkU2UYSU?utm_source=leonardo_rails_app&utm_medium=referral) ## Which tool wins in which situation? Each of the four has a home ground. The verdicts below are the ones I give people who email us with a workbook attached. ### Glide wins for a phone-first list app over one sheet Pick Glide when one tab is the whole tool and people need it on a phone today. A crew roster, a job list, an asset register with photos. Glide renders a list and a detail screen over that tab in an afternoon. Glide's Basic plan is $25 a month as of this writing. The limits arrive when the workbook has several related tabs and rules that cross them. Glide's spreadsheet sources also cap at 25,000 rows across all tables. Our page on [the Glide alternative for apps that need a real database](https://llamapress.ai/the-glide-alternative-when-your-app-needs-a-real-database-not-a-spreadsheet) covers what happens after that cap. ### Softr wins for a portal on top of Airtable Pick Softr when the data already lives in Airtable and the missing piece is a clean front door. A client portal where each customer sees only their own orders. A staff directory. A resource library with logins. Softr's Pro plan adds custom role-based permissions at $99 a month and includes 10 team users and 50 client users. Softr's limits are the ones a portal rarely hits and a process often does. Multi-step rules, cross-table validations, and heavy workflow volume push against the monthly action meter. Softr also cannot export your app, so the portal lives on Softr for as long as you run it. ### Airtable wins if the team will live inside Airtable Pick Airtable when the people who run the process are happy to open Airtable all day. Airtable is a strong database with an Interfaces layer, and the Team plan holds 50,000 records per base. Airtable's Interface Designer is available on every plan. The catch is the seat model. Every person who edits pays $20 a month on annual billing, and an internal tool where nobody edits is rare. Airtable also has no per-row logic in code. Rules live in automations, which are metered by runs. Our page on [the Airtable alternative for teams that need real software](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet) goes deeper on those walls. ### A custom build wins when the workbook runs a process Pick a custom build when the workbook holds a process with rules, and five or more people run it. The signs are easy to spot. An order cannot move to Shipped without a tracking number. Warehouse staff may change status and nothing else. Accounting needs every status change logged with a name and a time. The dashboard tab pulls from four other tabs with SUMIFS and lookups. Each of those is a rule, and rules are what code does well. In 2026 an AI coding agent can build that app from the workbook in days, with a human engineer reviewing every build. The steel contractor RSB had its estimating workbook rebuilt as a custom app in six weeks from kickoff to deployment. Estimates came out 62 percent faster, at 40 percent lower cost per estimate. A custom build has its own limits, and you should hear them from the builder. The process needs to be stable. If the columns change every month, keep the workbook until they settle. A custom build also carries vendor risk. Ask any builder, including us, where the code lives and what happens if you stop paying. The right answer is a repository in your own GitHub account from day one and a database you can export on demand. A build is also slower than Glide for a one-tab list. If a list is all you need, use Glide. ## Is your workbook the database or the process? Ask one question before choosing any of the four. Is the workbook the database, or is the workbook the process? A database workbook is a flat list. One tab, one row per thing, a few lookup columns. Glide, Softr and Airtable all handle a database workbook well, and each is cheaper to set up than a custom build. A process workbook has status columns with rules and tabs that feed other tabs. The color codes mean "waiting on approval", and one person knows which cells never to touch. A process workbook is a specification for software, and software is the cheaper answer once several people run the process every day. The count of users decides the rest. At two or three users, seat prices stay small and any of the three no-code tools is fine. At five users, the seats on Airtable already cost $1,200 a year. At twelve users, three years of seats cost more than a build you own. The [roundup of Excel to web app converters](https://llamapress.ai/the-best-excel-to-web-app-converters-in-2026-compared-honestly) covers the wider field, including AppSheet, Power Apps and Budibase. ## How the workbook becomes the app The build starts when you [upload your workbook at /excel-to-app](https://llamapress.ai/excel-to-app). Leonardo reads every tab, column, formula and validation rule. The Orders tab becomes an orders table with a status field and a rule that blocks Shipped without a tracking number. The Customers and Products tabs become their own tables, linked to orders. The SUMIFS on the Dashboard tab become a query. The color codes become named statuses with a log of who changed them and when. You get a working web app with logins and roles, on a PostgreSQL database, in your own GitHub repository. A human engineer reviews every build. The upload is free, with no credit card. The [step-by-step guide to converting an Excel spreadsheet to a web application](https://llamapress.ai/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch) walks through each stage, including what Leonardo asks when a formula is unclear. From Spreadsheet to Software ### See what your order tracker looks like as an app you own. Upload the workbook. Leonardo turns the tabs into tables, the formulas into rules, and the color codes into a real workflow with logins. No seat fees, ever. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Compare Pricing](https://llamapress.ai/pricing) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your workbook with you. ## Frequently Asked Questions ### Glide vs Softr vs Airtable vs a custom build: which is best for an internal tool from Excel? Glide is best for a phone-first list app over one sheet. Softr is best for a portal on top of Airtable data. Airtable is best when the team will work inside Airtable every day and accepts a per-editor price. A custom build is best when the workbook runs a process with rules and five or more users. In 2026 an AI-built app costs less than three years of seats. ### Is Glide or Softr better for an internal tool? Glide is better for a simple internal list that staff use on their phones, and Glide is faster to set up. Softr is better when the internal tool is a portal with logins, role-based pages, and data that already lives in Airtable. Neither Glide nor Softr lets you export the app, so both are rentals. For a process with rules, a custom build beats both. ### Can Softr work without Airtable? Yes. Softr's documentation lists its own Softr Databases, Google Sheets, HubSpot, Notion and SQL databases as data sources. Softr Databases hold 50,000 records on the Basic plan and 500,000 on Pro as of September 2026. Softr still does not read an Excel workbook directly, so you import the workbook into one of those sources first. ### Does Glide work with Excel files? Yes. Glide's documentation states that Excel workbooks can be uploaded directly or connected from OneDrive and SharePoint, and that Excel import works on any plan. Live sync with Excel requires a higher plan. Glide caps spreadsheet data sources at 25,000 rows across all tables in an app, so a large workbook needs Glide Big Tables instead. ### How much do Glide, Softr and Airtable cost for 12 users? As of September 2026, Airtable Team costs $20 per editor per month on annual billing. Twelve editors cost $240 a month, or $8,640 over three years. Softr Pro costs $99 a month for 10 team users, plus $1 a month per extra team user. Twelve users cost $101 a month, or $3,636 over three years. Glide prices GlideOS by team members plus credits and shows no per-user price. The Glide Pro plan with org-level roles starts at $125 a month, or $4,500 over three years as a floor. ### When is a custom build cheaper than no-code? A custom build is cheaper than no-code when the seat count and the years add up to more than the build. For 12 users over three years, Airtable Team seats cost $8,640. A LlamaPress build sprint plus Pro hosting starts at $2,791.64, with no seat fees. The crossover comes sooner when the tool needs roles and rules, because those features sit on the higher no-code tiers. The custom build also leaves you owning the code. ============================================================================== # Healthcare & Compliance Software From Spreadsheets Source: https://llamapress.ai/healthcare ============================================================================== # Healthcare & Compliance Software From Spreadsheets > Patient intake, compliance tracking, credentialing, and audit software built by LlamaPress from the spreadsheets your practice or agency already uses. See how Leonardo turns them into real apps. Source: https://llamapress.ai/healthcare | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Patient intake, compliance tracking, credentialing, and audit software built by LlamaPress from the spreadsheets your practice or agency already uses. See how Leonardo turns them into real apps. [Back to all articles](https://llamapress.ai/blog) The Problem ## Your practice runs on spreadsheets that were never built for this Intake starts with a spreadsheet that tracks patients, but the documents arrive by email, the insurance verification lives in a folder on someone's desktop, and the follow-up tasks sit in a notebook. When a patient calls to ask about their appointment or their paperwork, the front desk has to reconstruct the answer from memory, email, and a column nobody updated. Compliance tracking is worse. Credentialing deadlines, license renewals, training completions, and policy acknowledgements are spread across tabs and shared drives. When the auditor asks for proof, someone spends a week assembling a binder from scattered files, and everyone holds their breath hoping nothing expired unnoticed. The clinical side has its own spreadsheet for patient tracking, but it does not talk to the compliance one or the scheduling one. Outcomes, follow-up dates, and care notes get typed into whatever file is open. Three people can look at three different versions of the truth and each one is confident theirs is right. None of this is a people problem. Your staff is skilled and hardworking. The tools force them to be the database, and a spreadsheet is a terrible database when it has to be a record-keeping system, a reminder system, and an audit trail all at once. ![A modern operations dashboard on a laptop screen, the kind of purpose-built view a clinic or agency wants for tracking and reporting](https://images.unsplash.com/photo-1551288049-bebda4e38f71?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxtb2Rlcm4lMjBvZmZpY2UlMjB0ZWFtJTIwc29mdHdhcmUlMjBkYXNoYm9hcmR8ZW58MHx8fHwxNzgzODc4MjQ0fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Luke Chesser](https://unsplash.com/@lukechesser?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/graphs-of-performance-analytics-on-a-laptop-screen-JKUTrJ4vK00?utm_source=leonardo_rails_app&utm_medium=referral) What We Build ## Real apps for the work your practice actually does LlamaPress builds custom software for healthcare and compliance teams, usually starting from the spreadsheet that already runs the process. Here is what that looks like in practice. ### Patient Intake & Records Every patient becomes a record with a status: intake received, documents verified, scheduled, seen. Uploads attach to the right patient, follow-up dates are tracked, and the front desk answers "where is my paperwork" in one click instead of one hour of digging. ### Compliance Tracking Licenses, certifications, policy acknowledgements, and training completions tracked per person with expiry dates. The system reminds you before something lapses, instead of finding out during an audit. ### Credentialing Provider credentials, insurance enrollments, and expiring documents tracked with their status and attached evidence. When the payer or the auditor asks, the proof is a click away instead of a binder-construction project. ### Audit Trail Every request, upload, and status change is timestamped with a name attached. When the auditor asks why something happened, you answer with the actual history instead of a reconstruction from memory. ### Reporting Compliance status, patient volumes, follow-up rates, and outstanding items reported from the same data your staff enters daily. The report that took a week of spreadsheet surgery now takes minutes, and every number traces back to a real record. ### Staff & Patient Portals Staff see their own training and credentialing status. Patients or families see their appointments, outstanding documents, and next steps. The office stops answering "did you get my form" because the answer is visible to everyone. How It Works ## From spreadsheet to healthcare software, with Leonardo Leonardo is LlamaPress's AI builder. It reads the spreadsheet the way a developer would read a spec, then builds the software around it. You can start for free and see the first working version in your first session. 1 ### Upload the spreadsheet you use today Head to [Excel to App](https://llamapress.ai/excel-to-app) and upload your patient tracker, compliance log, or credentialing sheet exactly as it is. Tabs, color coding, notes in cells. Leonardo reads the columns, the logic, and the statuses you apply by hand. 2 ### Leonardo builds the first working version Your spreadsheet becomes an application: a record for each patient or staff member, guided statuses, document uploads, expiry reminders, and the reports your office actually runs. It runs on a real database from day one, so nothing lives in someone's head or inbox anymore. 3 ### Refine it in plain English "Flag licenses 60 days before they expire." "Only managers see audit logs." "Patients skip the rescreening step if it is within 90 days." You describe the change, Leonardo makes it. The process logic lands exactly as your office manager would explain it. 4 ### Go live with your team Invite your front desk, providers, and compliance staff, and retire the spreadsheet. The app keeps evolving as your process does, because changing it is a conversation rather than a development contract. ## Why not just buy an existing system? Most practices have already looked at the big platforms and the generic tools. Both miss the point in different ways. ### Enterprise healthcare suites Powerful, and priced for hospitals with an IT department and a year-long implementation. A small practice or agency ends up paying for modules it will never switch on, then waits months for a change to a workflow it already has working. ### Generic trackers A shared to-do list with a nicer interface than your spreadsheet. It still has no idea that a license expires or that an audit needs an unbroken trail. Your compliance logic stays in someone's head. ### Better spreadsheets Conditional formatting and shared drives can go only so far. The moment a document needs to attach to a record, or an expiry date needs to trigger a reminder, the spreadsheet stops being the tool and starts being the liability. LlamaPress builds the option that fits: software shaped to your practice's process, at a price shaped to your size. See [pricing](https://llamapress.ai/pricing) for what that costs. ## Questions healthcare teams ask us ### We handle sensitive patient data. How is privacy handled? Your application runs on its own dedicated instance with its own database, so patient records are never pooled with other organizations' data. Access is controlled per role and every access is logged. Because healthcare is regulated, talk to us on the [contact page](https://llamapress.ai/contact) about your specific compliance requirements before you build. ### How long does it take to go from spreadsheet to a live system? The first working version is built by Leonardo in your first session, usually within the hour. Most teams spend a few days refining statuses, fields, and reminders, then run one real process through it before switching over fully. Weeks, not quarters. ### Can staff and patients see their own status? Yes. Staff see their own training and credentialing status. Patients or families can get a login showing appointments, outstanding documents, and next steps. Everyone sees only what they are allowed to, and your team controls the visibility of every field. ### We already use an EHR. Is this a replacement? Often it is a complement. Practices use LlamaPress for the processes the EHR was never good at: intake workflows, compliance tracking, credentialing, custom reports. If your EHR genuinely does everything you need, we will tell you that and point you back to it. ### Who owns the software and the data? You do. The application is yours, the database is yours, and your data is exportable at any time. Paid plans include access to the source code, so you are never locked into us to keep the system you built. Start Today ## Your spreadsheet is the spec. Upload it. The patient or compliance tracker you maintain by hand already describes your ideal software. Leonardo will build the real version, with guided records, expiry reminders, and reports that run themselves. [Upload Your Spreadsheet](https://llamapress.ai/excel-to-app) [Ask a Question First](https://llamapress.ai/contact) ============================================================================== # How Hard Is It to Build an App? An Honest Answer Source: https://llamapress.ai/how-hard-is-it-to-build-an-app-an-honest-answer ============================================================================== # How Hard Is It to Build an App? An Honest Answer > How hard building an app is depends on which app you mean. A business app with records, forms, and logins is now days of work with AI. See the honest ladder. Source: https://llamapress.ai/how-hard-is-it-to-build-an-app-an-honest-answer | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) How hard building an app is depends on which app you mean. A business app with records, forms, and logins is now days of work with AI. See the honest ladder. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall, AI and software engineer, founder of LlamaPress AI](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Kody Kendall AI & Software Engineer, Founder of LlamaPress AI Builds and operates AI coding agents every day. Ask ten people how hard it is to build an app. The answers spread from a weekend to a year. One person says a nephew made an app in two days. Another got a quote for $150,000 and nine months. Both answers can be true. The word "app" covers a simple order tracker for a five-person warehouse team. The same word covers Uber. The gap between those two apps is the gap between a bookshelf and a house. How hard is it to build an app? The answer depends on which kind of app you mean. A business app holds records, forms, dashboards, and logins for a team. An AI coding agent now builds a business app in days. The cost sits closer to a software subscription than a development contract. A consumer mobile app in the app stores is still hard. Payments at scale and new technology are still hard. A skilled team usually needs months for those builds. Most people who ask this question need the first kind of app. They price the second kind by mistake. I build and operate AI coding agents for a living. I see both kinds of projects every week. This page gives you a plain difficulty ladder. The page explains what makes the hard rungs hard. The page then shows where your project probably sits. ![Monitor with app interface designs during the planning stage of an app build](https://images.unsplash.com/photo-1547658719-da2b51169166?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxtb2JpbGUlMjBhcHAlMjBkZXZlbG9wbWVudCUyMHBsYW5uaW5nJTIwZGVza3xlbnwwfHx8fDE3ODc4NzgxMDd8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Daniel Korpai](https://unsplash.com/@danielkorpai?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/turned-on-monitor-displaying-digital-products-pKRNxEguRgM?utm_source=leonardo_rails_app&utm_medium=referral) ## Why Every Answer You Find Contradicts the Last One Search this question and you find a weekend tutorial next to an agency article. The tutorial promises an app in two days. The agency article claims six months and six figures. Neither one lies. They describe different objects that share a name. The tutorial means a small personal project with one user and no real data. The agency means a polished consumer product for both app stores. A consumer product needs accounts, payments, push notifications, and a marketing plan. A business operator usually needs a third thing. The operator needs a shared tool where the team logs orders, bids, or onboarding steps. Almost no articles cover that category. So place your project on the ladder before you estimate. Your rung sets your answer. ## The App Difficulty Ladder, From a Few Days to a Funded Team People often ask me how difficult it is to make an app. I answer with four rungs. Find your rung and you have your answer. ### Rung 1: A database-backed business app. Days of work in 2026. This rung holds the order tracker, the estimating tool, the onboarding checklist, and the job board for your crew. An app on this rung is records in a database. Forms let people create and edit the records. Dashboards show status. Logins make sure each person sees the right things. Developers call this pattern a CRUD app. CRUD stands for create, read, update, delete. Most software that businesses run on follows the CRUD pattern. Five years ago this rung meant hiring a developer for weeks. Today an AI coding agent builds this class of app in days. Sometimes the agent finishes in hours. The patterns are that well understood. There is a catch. A raw agent assumes a developer steers it. The developer manages a code repository, hosting, and a database. I wrote a full piece on that gap: [can Claude Code build your business app](https://llamapress.ai/can-claude-code-build-your-business-app-what-non-developers-should-know). Managed platforms close the gap by running the agent for you. Either way, the difficulty on this rung has collapsed. An app on this rung is no longer hard to build. ### Rung 2: A workflow app with integrations. Days to a few weeks. A workflow app starts with the same foundation as rung 1. Then moving parts arrive. An email fires when an order stalls. A guided intake flow walks a client through each step. A connection pulls data from QuickBooks or a supplier feed. Each integration adds real work. Someone must handle the cases where the other system is slow, changes its format, or rejects a request. Most growing operations land on this rung. The rung is still very reachable. An AI coding agent builds the core fast. You then wire and test the integrations one at a time. Expect days to a few weeks. The number of connected systems sets the timeline. The integrations take the time, never the screens. ### Rung 3: A consumer mobile app in the app stores. Months, genuinely. Now the difficulty is real. A native mobile app means building for two platforms or adopting a cross-platform framework. The app must then pass review at Apple and Google. As of this writing, Apple charges $99 a year for a developer account. Google Play charges a one-time $25 fee. Both stores can reject a submission. Fixes can take several rounds. The app also needs accounts, push notifications, offline behavior, and crash reporting. Every update ships through store review for the life of the app. AI tools help on this rung too. AI tools compress the coding. Coding is a minority of the work on this rung. Distribution, review, device testing, and maintenance stay manual. A competent small team ships a respectable app in three to six months. A solo non-developer takes on a hard project here. Most quotes in the tens of thousands of dollars come from this rung. ### Rung 4: Payments at scale, marketplaces, and novel tech. A funded team. This rung holds two-sided marketplaces, apps that move money, real-time video, and machine learning products of your own. Difficulty here was never about typing code. The work is fraud handling and regulatory compliance. The infrastructure must survive ten thousand simultaneous users. The product needs years of iteration. Companies raise venture capital because this rung consumes teams. If your idea lives here, you are founding a startup. Plan for a funded team. ## What Actually Makes an App Hard (Hint: Rarely the Code) Look at what changed between the rungs. The screens and the database barely got harder. Four other things did get harder. - **Distribution.** A web app ships the moment you save. Your team opens a browser link. An app store product waits on review for every update, forever. - **Scale.** Software for 12 known coworkers is one discipline. Software for 100,000 strangers is another. - **Novelty.** AI coding agents excel at common patterns. Records, forms, and dashboards are the most common patterns in software. A new invention puts you back in hard territory. - **Maintenance.** Every app needs hosting, backups, and a person who responds when a screen breaks. The maintenance cost is permanent. First-time builders forget to price maintenance. The question "how hard is it to build an app" has no single answer for one reason. The code got easy on every rung. The other four factors did not move. The four factors land on different rungs with different weight. ## Where Your Project Probably Sits Many readers run a business process in a spreadsheet today. Common examples are an estimating workbook, an order log, and an onboarding tracker. A project like that sits on rung 1 or rung 2. You do not need app store distribution. Your users are your own team. A browser link reaches them. You do not need to serve 100,000 strangers. Your patterns are the common ones: records with history, guided workflows, permissions, and dashboards. The category has a name: database-backed custom software. The category is far more reachable than the app-cost articles suggest. Better still, you already wrote the spec. A spreadsheet that has run your operation for years documents your fields, your rules, and your process. No requirements meeting captures a process that well. We built [LlamaPress](https://llamapress.ai/excel-to-app) around that exact starting point. You upload the workbook. Our AI coding agent Leonardo turns the columns into database fields. Leonardo turns the tabs into related records. Leonardo turns the unwritten rules into logic the app enforces. The app runs on managed hosting. Humans back the agent up. You never touch a repository or a deployment pipeline. You may still be weighing the routes: freelancer, agency, no-code platform, or AI-built. The buyer's guide on [how to get an app made for your business](https://llamapress.ai/how-to-get-an-app-made-for-your-business) compares the routes honestly. Our [services page](https://llamapress.ai/services) shows what a build with our team looks like when you want the work done with you rather than by you alone. ### Your app is on the easy rung An app with records, forms, and dashboards now takes days to build. Upload the spreadsheet that runs your process. An AI coding agent turns the spreadsheet into real software. We host and maintain the app for you. [Start with your spreadsheet](https://llamapress.ai/) [See Excel to App](https://llamapress.ai/excel-to-app) ## Frequently Asked Questions ### Is it difficult to create an app with no coding experience? For a business app, no longer. AI coding agents and managed platforms handle the code, the database, and the hosting. You describe changes in plain English. A consumer mobile app in the app stores remains difficult. The hard parts there are store review, device testing, and maintenance. An AI can write the code. The code was never the hard part. ### How difficult is it to make an app by yourself? Place the project on the ladder first. A rung 1 business app is a workable solo project today. You do not need a technical background if you use an AI-powered platform. A rung 3 consumer app is a poor solo project for a non-developer. One missed area can sink months of work. Security and store compliance are common misses. ### How long does it take to build an app? A database-backed business app takes days. Expect revisions over the following weeks as your team uses the app. A workflow app with several integrations takes a few weeks. A consumer mobile app takes three to six months for a competent team. A solo build takes longer. A marketplace or payments product takes a year or more. Plan for a funded team on that rung. ### How much does it cost to build an app? As of this writing, agency quotes for custom consumer apps commonly start in the tens of thousands of dollars. Complex products run into six figures. AI-built business apps changed the economics at the bottom of the ladder. Platforms like ours deliver a working database-backed app for a monthly subscription. Services help is available when you want a team on the build. ### Do I need a mobile app, or is a web app enough? A web app is almost always enough when your users are your own team. A web app is also far easier. A browser link works on every phone and laptop your crew owns. Updates ship instantly with no store review. Modern web apps handle a phone screen well. Choose native mobile only for offline use, consumer push notifications, or app store discovery. ============================================================================== # How LlamaPress Works: Spreadsheet to Custom App Source: https://llamapress.ai/how_it_works ============================================================================== # How LlamaPress Works: Spreadsheet to Custom App > See how LlamaPress turns your Excel spreadsheet or idea into a working web application: upload it, describe what you need, and AI builds it while you watch. Source: https://llamapress.ai/how_it_works | Updated: 2026-09-04 --- # Build with the speed of thought. LlamaPress transforms your ideas into professional, production-ready websites in seconds using advanced AI. [Get Started Free](https://llamapress.ai/users/sign_up) [See the Four Steps](https://llamapress.ai/how_it_works#how) ## Three steps to launch ### 1. Describe your vision Chat with LlamaBot just like you would with a human designer. Tell us about your business, your goals, and your style. ### 2. Watch the magic happen Our AI generates high-quality copy, source optimized images, and crafts a responsive layout tailored specifically to you. ### 3. Launch in one click Review your site, make instant edits with AI, and publish to your own domain. No hosting or complex setup required. ## Common Questions ### Can I use my own domain? Yes! Every site on LlamaPress can be connected to a custom domain with full SSL protection included. ### Who owns the content? You do. All generated text and layout configurations belong to you from the moment they are created. ### Can I edit my site after it's live? Of course. You can continue to chat with LlamaBot to make changes or use our visual editor at any time. ## Ready to build your next big thing? Join thousands of creators building faster with LlamaPress. [Start Building Now](https://llamapress.ai/users/sign_up) ============================================================================== # How to Add AI to Your Website: Beyond Chat Widgets Source: https://llamapress.ai/how-to-add-ai-to-your-website-from-chat-widgets-to-real-workflows ============================================================================== # How to Add AI to Your Website: Beyond Chat Widgets > Most advice stops at a chat widget. Here are the three real levels of adding AI to your website, what each costs, and when your site should become an app. Source: https://llamapress.ai/how-to-add-ai-to-your-website-from-chat-widgets-to-real-workflows | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Most advice stops at a chat widget. Here are the three real levels of adding AI to your website, what each costs, and when your site should become an app. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall, AI and software engineer at LlamaPress AI](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Kody Kendall AI & Software Engineer, Chief AI Architect at LlamaPress AI Builds AI coding agents for a living. Leads Leonardo, the agent behind LlamaPress. Everyone says to add AI to your website. Few people explain what the advice means. A competitor launches a chatbot and an agency sends a pitch deck. Now you have to decide what to install, what to pay, and what your visitors gain. I build AI agents for a living. This page is the map I hand every business owner who asks me how to add AI to your website. You can add AI to your website at three levels. Level 1 embeds a ready-made tool on your pages, such as a chat widget or AI search. Level 2 connects an AI model to your business data through an API (a link between two systems). The site can then draft replies, summarize records, or qualify leads with facts only your company holds. Level 3 rebuilds the site as an AI-powered app around a workflow such as quotes, orders, or onboarding. Each level costs more than the last and returns more. ![AI chat window on a computer screen. Most websites stop at this level.](https://images.unsplash.com/photo-1677691820099-a6e8040aa077?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHx3ZWJzaXRlJTIwY2hhdCUyMGludGVyZmFjZSUyMGxhcHRvcHxlbnwwfHx8fDE3ODc4NzgxMDF8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Emiliano Vittoriosi](https://unsplash.com/@emilianovittoriosi?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-close-up-of-a-computer-screen-with-a-menu-on-it-fvxNerA8uk0?utm_source=leonardo_rails_app&utm_medium=referral) ## The Three Levels at a Glance Most guides about AI on websites cover only level 1. Writers stop there because level 1 takes an afternoon and one copy-paste snippet. A chat widget that has never seen your order history can only restate your FAQ page. The real return lives in the data you connect to the AI. The pattern repeats at every level: the AI model is rarely the limit. Your data is the limit. ## Level 1: Embed a Chat Widget or AI Search Level 1 is the entry point. You sign up for a hosted chatbot platform and point the platform at your site content. Then you paste one script tag into your pages. Twenty minutes later a chat bubble sits in the corner of your site. The chatbot answers questions like "what are your hours" and "do you ship to Canada." AI site search works the same way: the search box understands "cheapest waterproof option" even when no product page contains those words. Concrete options, as of this writing: dozens of hosted chatbot platforms offer free tiers. Paid plans commonly run from about 20 dollars to a few hundred dollars a month, based on message volume. Most platforms train the chatbot on your pages, uploaded documents, and a help center. You can set level 1 up yourself if you can edit your site's HTML or install a plugin. No developer needed. Level 1 does some jobs well. The chatbot answers repeat questions at 2 a.m., deflects simple support email, and captures contact info from stuck visitors. Level 1 fails at anything specific to one customer. Ask the chatbot "where is my order" and the chatbot has no answer. Your orders live in a spreadsheet or an internal system the widget has never met. The widget reads your website but cannot act on your business. ## Level 2: Integrate AI With Your Own Data Level 2 is where AI stops being decoration. You connect an AI model to your real business data through an API (an interface that lets two systems exchange data). The model is cheap to call. As of this writing, one request to a frontier model costs a fraction of a cent to a few cents. The plumbing is the real cost. Someone must wire the model to your systems, decide what the model can see, and put the output somewhere useful. Real examples from businesses I work with: a contact form that reads each inquiry, drafts a reply for a human to approve, and files the lead with a priority score. A customer page that compresses six years of order history into three sentences before a support call. An intake form that checks a submission against your records and flags missing items. None of these are chat bubbles. Each one is AI doing one specific job inside a workflow you already run. The honest cost picture: model usage might run tens of dollars a month for a small business. The integration work is the real line item. One feature takes a few days of developer time. A set of features takes weeks. AI coding agents changed the economics at level 2. An agent now builds these integrations in days rather than months. ## The Prerequisite Nobody Mentions: Structured Data Structured data (data stored in labeled fields) decides whether level 2 works at all. AI gives exact answers from structured data and vague answers from document piles. Say your orders live in a database with fields for customer, date, status, and amount. The AI then answers "which orders from March are still unshipped" correctly every time. Say the same facts sit across 40 PDFs, an email inbox, and a spreadsheet with merged cells. The AI must guess, and wrong guesses still sound confident. The unglamorous first step for many businesses is to get the data into shape. We built our [Excel to app](https://llamapress.ai/excel-to-app) path for exactly this reason. The spreadsheet that runs your orders or your client onboarding already describes your process. Turn that spreadsheet into a database-backed app, and every future AI feature has solid ground to stand on. Teams that skip this step get a chatbot that invents order statuses. A chatbot that invents order statuses is worse than no chatbot at all. ## Level 3: Rebuild the Site as an AI-Powered App Some websites are brochures: people visit, read, and leave. Levels 1 and 2 are plenty for a brochure site. Now look at what your visitors come to do. Visitors who request quotes, book jobs, place orders, or start onboarding are asking your website to be an app. Most sites do that job badly. Forms dump into an inbox, and a human retypes everything into a spreadsheet. Level 3 rebuilds the site around the workflow. The result is a database-backed custom app where every record has a home and every step knows the next step. AI runs through the whole app instead of sitting on top: a quote request prices itself from your rate tables and routes to a human for approval. Apps in this category once cost six figures and took six months, so almost nobody in the mid-market bought one. Our AI coding agent, Leonardo, now builds the same class of app from your own spreadsheet, typically in days. Our team stands behind the result through [our services engagements](https://llamapress.ai/services). A dated look is a different problem from a missing workflow. Our free Picture to HTML tool can [turn a screenshot of any page into clean HTML](https://llamapress.ai/picture-to-html). Our guide on [how to redesign your website with AI](https://llamapress.ai/how-to-redesign-your-website-with-ai-a-practical-guide) walks through the full redesign process. A redesign makes the site look better. Level 3 makes the site do more. ## How to Choose Your Level Match the level to the job. Pick level 1 if your visitors mostly need answers and your support inbox repeats itself. Pick level 2 if your team does repetitive reading and writing around customer data, such as replies, summaries, and triage. Pick level 3 when the process itself is the problem and quotes, orders, or onboarding crawl through inboxes and spreadsheets. A useful test: count how many times a week someone retypes information a customer already gave you. Past a handful, the workflow needs to live in software. ### Tell us what your website should do Describe the process your site should run. Or upload the spreadsheet that runs the process today. Leonardo, our AI coding agent, builds the database-backed app around your process while you watch. [Describe what you need](https://llamapress.ai/) [Try Picture to HTML](https://llamapress.ai/picture-to-html) ## Frequently Asked Questions ### Can I add AI to my website for free? Yes, at level 1. As of this writing, many hosted chatbot platforms offer free tiers with a limited number of messages per month. A free tier is enough to test whether visitors use the widget. Expect to pay once volume grows or once you train the chatbot on more of your content. Levels 2 and 3 involve build work, so free stops there. The free trial of an AI app builder can still take you a long way. ### Can I add ChatGPT to my website? You can get the same effect two ways. The simple way is a hosted chatbot platform that runs a model from OpenAI or Anthropic and gives you an embeddable widget. The direct way is calling a model provider's API from your own site code. The API route gives you full control over what the model sees and says. The API route is level 2 work and needs a developer or an AI coding agent. ### How much does it cost to add AI to a website? As of this writing, a level 1 chat widget runs from free to a few hundred dollars a month. Level 2 API usage is cheap, often tens of dollars a month for a small business. The real level 2 cost is integration work, from days to weeks of development. Level 3, a full rebuild into an AI-powered app, historically cost 50 thousand dollars and up from an agency. AI-built custom software now delivers the same category for a small fraction of that price. ### Do I need to know how to code? No code is needed for level 1. Anyone who can edit a site can paste a script tag or install a plugin. Levels 2 and 3 need real code. The coder no longer has to be an employee or an agency. AI coding agents like our Leonardo build while you describe what you need in plain English and review the result. ### What data does an AI chatbot need to answer questions about my business? Structured data. A chatbot grounded in a real database, with clean fields for customers, orders, and statuses, answers specific questions accurately. A chatbot fed a pile of PDFs and old web pages can only summarize and guess. Move key records from spreadsheets into a database-backed app before you add any AI feature. Every level you build on top of that database gets more accurate. ============================================================================== # How to Add Logins and Permissions to a Spreadsheet Source: https://llamapress.ai/how-to-add-user-logins-and-permissions-to-a-spreadsheet-based-process ============================================================================== # How to Add Logins and Permissions to a Spreadsheet > Excel and Google Sheets share by role and protect ranges, and that is the ceiling. Here is how to get user accounts, roles, and an audit log for your process. Source: https://llamapress.ai/how-to-add-user-logins-and-permissions-to-a-spreadsheet-based-process | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Excel and Google Sheets share by role and protect ranges, and that is the ceiling. Here is how to get user accounts, roles, and an audit log for your process. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 Excel and Google Sheets let you share a file by role and protect a tab or a range, and that is the ceiling. Neither tool offers per-row permissions, per-field rules, approval steps, or a reliable log of who changed what. Microsoft states that worksheet protection is not intended as a security feature. Real logins and permissions require moving the process into an app with user accounts and roles. In 2026 an AI-built app made from your spreadsheet includes accounts, roles, and an audit log by default. In short - Excel and Google Sheets control access at the file, tab, and range level only. A single row or field cannot be locked to one person. - Microsoft and Google both state in their own documentation that sheet protection is not a security measure. - An app gives each person a login, a role, and a record of every change with a name and a timestamp. - A permission matrix drawn from your tabs and columns takes about 30 minutes and becomes the spec for the app. - Several no-code tools charge a higher tier for roles. An AI-built custom app includes accounts, roles, and an audit log from day one. I am a software engineer, and I created Leonardo, the AI coding agent that turns spreadsheets into apps at LlamaPress. Logins and permissions are the first request most operators make after they upload a file. I have read hundreds of these spreadsheets. The access rules are usually buried in a hidden tab, a locked range, or a note that says "do not touch column K". This page covers what the spreadsheet tools can do, where they stop, and how to get the real thing. ![Three coworkers sharing one laptop at a black office table, the way a team shares one spreadsheet login](https://images.unsplash.com/photo-1603195827187-459ab02554a0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxvZmZpY2UlMjB0ZWFtJTIwbGFwdG9wJTIwbG9naW4lMjBwYXNzd29yZHxlbnwwfHx8fDE3ODgzNjE5MDN8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Cherrydeck](https://unsplash.com/@cherrydeck?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/people-collaborating-on-office-laptop-Qx7A7SChpnI?utm_source=leonardo_rails_app&utm_medium=referral) ## What "Permissions" Actually Means Permissions answer two questions for every person: what can they see, and what can they change. Access control works at four levels. The file level decides who can open the spreadsheet at all. The tab level decides who can see the Pricing tab or the Payroll tab. The range or column level decides who can edit the Cost column while everyone else reads it. The row and field level decides that a client sees only their own row, and finance alone edits the Approved field. Spreadsheets handle the first three levels in a limited way. The fourth level is where a business process actually lives. Add the actions on top of the levels: view, edit, approve, delete, and export. A real permission model states which of those five actions each role gets at each level. Write that out once and you have the spec for an app. ## What Can You Do Inside Excel and Google Sheets Today? You can share a file as view-only, protect a tab or a range, hide columns, keep one file per person, or use a Form. Each option solves one small problem and has a hard limit. The table below lists all six with the Excel method, the Google Sheets method, and the limit, as of this writing. | Need | Excel | Google Sheets | The limit | | --- | --- | --- | --- | | Share as view-only | Share the file from OneDrive or SharePoint with view access only | Share as Viewer or Commenter. Editor gets view, comment, edit, and share | All or nothing for the whole file. A Viewer can still download a copy | | Protect a tab | Review, Protect Sheet, optional password | Data, Protect sheets and ranges, then warn or restrict editors | Locks the same cells for every editor. Microsoft says the feature is not for security | | Protect a range or column | Unlock the editable cells, then protect the tab | Protect the range and pick who may edit it | The rule follows cells, not records. Every new row needs the rule again | | Hide columns | Hide the column, then protect the tab | Hide the column, then protect the tab | Any editor can unhide. Google says people can copy and export a protected file | | One file per person | A file per rep plus a master file that links to each one | A file per rep plus IMPORTRANGE into a master file | Ten people means ten files to maintain. Links break when a file moves | | Forms for entry | Microsoft Forms with a live connection to a workbook in OneDrive | Google Forms with responses in a linked sheet | One-way only. A respondent cannot view or edit an existing row | The sources are the vendors' own help pages. Microsoft's guide to [protecting a worksheet](https://support.microsoft.com/en-us/office/protect-a-worksheet-3179efdb-1285-4d49-a9c3-f4ca36276de6) covers unlocking ranges and setting a password, and nothing about giving different people different rows. Google's page on [protecting sheets and ranges](https://support.google.com/docs/answer/1218656) offers two modes, a warning or a restricted editor list. Google's Drive documentation lists three sharing roles, Viewer, Commenter, and Editor, and allows up to 600 individual email addresses per file. Both Forms products append new responses and give the respondent no way back in. ## Why Is Spreadsheet Protection Not Access Control? Spreadsheet protection stops accidental edits. Access control decides who may see and change each record. Those are different jobs. Microsoft's documentation states that worksheet level protection "isn't intended as a security feature" and "simply prevents users from modifying locked cells." Google's documentation says the same about protected ranges: "This shouldn't be used as a security measure." Google adds that people can print, copy, paste, and export copies of a protected spreadsheet. Five gaps show up in every shared spreadsheet I have reviewed. First, there is no row-level rule. An onboarding sheet with 40 clients shows all 40 rows to every editor. Second, the file can be copied, and a protected tab in a copy is open. Third, there is no per-record log. You cannot ask the spreadsheet who changed the Go-Live Date for client 17 and when. Fourth, many teams share one login for the master file, so even the file history shows one name. Fifth, there is no approval step. A cell turns green because someone typed "Approved", and anyone with edit rights can type it. Protection also does nothing about two people saving over each other. If your team keeps losing entries, read [the fix for people overwriting each other in a shared inventory spreadsheet](https://llamapress.ai/people-keep-overwriting-each-other-in-our-inventory-spreadsheet-here-is-the-fix). This page stays on access control. ## What Do Logins and Roles Look Like in an App? In an app every person has their own account, and every account has a role. The role decides which records the person sees and which actions the person may take. The rules attach to the record, so a new client gets the right permissions the moment the record exists. Every change is logged with the user, the field, the old value, the new value, and the time. The matrix below is a working example for a client onboarding process. The roles are the onboarding coordinator, the account manager, finance, and the client. A [guided client onboarding app](https://llamapress.ai/guided-client-onboarding-software-that-replaces-your-checklist-spreadsheet) enforces a matrix like this one without anyone policing the file. | Action | Onboarding coordinator | Account manager | Finance | Client | | --- | --- | --- | --- | --- | | See all clients | Yes | Own accounts only | Yes | Own record only | | Edit intake answers | Yes | Yes, until submitted | No | Own record, until submitted | | Upload documents | Yes | Yes | No | Yes, to own record | | Approve go-live | No, can request | No, can request | Yes | No | | See pricing | No | Yes | Yes | Own quote only | | Export | No | No | Yes, CSV | No | Read the Client column and notice what a spreadsheet can never do. The client logs in, sees one record, uploads to that record, and never sees anyone else's pricing. The same pattern works for an estimating team. An estimator creates and edits estimates. A reviewer approves them. Sales sees the approved total and the client-facing PDF, and never the margin column. The same roles carry over to a phone screen. See our page on [turning a spreadsheet into an app your field team can use on their phones](https://llamapress.ai/how-to-turn-an-excel-spreadsheet-into-an-app-your-field-team-can-use-on-their-phones). ![A team seated around a table with laptops, each person working from their own login](https://images.unsplash.com/photo-1690378820474-b468b8ee64d3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxvZmZpY2UlMjB0ZWFtJTIwbGFwdG9wJTIwbG9naW4lMjBwYXNzd29yZHxlbnwwfHx8fDE3ODgzNjE5MDN8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Lyubomyr Reverchuk](https://unsplash.com/@lreverchuk?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-group-of-people-sitting-around-a-table-with-laptops-rtD_lcsN6_U?utm_source=leonardo_rails_app&utm_medium=referral) ## How Do You Design a Permission Matrix From the Spreadsheet in 30 Minutes? Open the spreadsheet, open a blank sheet next to it, and follow five steps. Step one, list the people. Include clients, contractors, and the accountant who gets a copy each month. Group them into roles. Four or five roles cover almost every business process. Step two, list the tabs and the columns. Each tab is usually one type of record. Each column is one field on that record. Note the columns you have hidden, locked, or colored. Those marks are your current permission rules. Step three, mark who may see each field and who may change it. Put a V for view or an E for edit in each role's column. Leave a blank where the role should never see the field. The Cost and Margin columns usually produce the first hard conversation. Have it now, on paper. Step four, mark the approval moments. Find every cell where someone types "Approved", "Ready", or "Sent". Each one needs a role, a rule, and a timestamp. Step five, mark delete and export. Almost nobody needs delete. One or two roles need export. That completed sheet is your permission matrix, and any developer or AI agent can build from it. ## How Do You Get It Built? You have three routes: a no-code builder, a developer, or an AI-built custom app. All three can give you logins. They differ on where roles and record-level rules sit in the price list. As of September 2026, Noloco's Free plan includes 2 user roles with no record or field permissions. Record and field permissions arrive on Noloco's Build plan at $79 per month, per [Noloco's pricing page](https://noloco.io/pricing). Google AppSheet's Starter plan at $5 per user per month has no role-based user management or security filters. Both start on the Core plan at $10 per user per month, per [AppSheet's pricing page](https://about.appsheet.com/pricing/). Softr's pricing page places custom role-based permissions on its Pro plan at $99 per month. Softr lists audit logs under Enterprise only. A developer builds whatever matrix you hand over. The cost is discovery time, and the 30-minute matrix removes most of it. An AI-built custom app is the third route, and the one I work on. You [upload the spreadsheet](https://llamapress.ai/excel-to-app), Leonardo reads the tabs and columns, and the app ships with user accounts, roles, and an audit log by default. The app is a standard Ruby on Rails application on a PostgreSQL database, and the code lives in your own GitHub repository. Hosted plans start at $9.99 per month with no per-user seat fees, and build sprints start at $2,000, as of this writing. A human engineer reviews every build. The move from a file to a database is what makes the audit log possible. Our guide on [converting Excel to a database to secure your business data](https://llamapress.ai/converting-excel-to-a-database-how-to-secure-your-business-data-and-scale) covers that side. ## When View-Only Sharing Plus a Form Is Enough Sometimes the spreadsheet tools are the right answer. If one person owns the data and everyone else only reads it, share the file as view-only and stop there. If other people only add new entries, a Google Form or Microsoft Form into the sheet works well. The one-way limit becomes a feature, because nobody can edit history. If the data is not sensitive and stays inside the company, protection against accidental edits is enough. You need an app when a client must log in, when two roles must see different columns, or when an approval has to mean something. ## Your Spreadsheet Already Holds the Permission Model The expensive part of a custom build was always discovery, and your spreadsheet has already done it. The tabs are your record types. The columns are your fields. The hidden columns, the locked ranges, and the "do not edit" notes are your permission rules. The colored status cells are your approval steps. Leonardo reads all of that when you [upload the spreadsheet at /excel-to-app](https://llamapress.ai/excel-to-app). The step-by-step version is in our guide on [how to convert an Excel spreadsheet to a web app without rebuilding from scratch](https://llamapress.ai/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch). The first version of the app has a login page, one role per group you named, and an editable matrix in the admin screen. Every record keeps a history with the user and the time. Clients get their own login and see their own records only. We have converted more than 400 spreadsheets this way. The permission matrix you drew is the first thing we check against the running app. From Spreadsheet to Software ### Give every person their own login and their own view. Upload the spreadsheet that runs your onboarding, orders, or intake. Leonardo builds an app with accounts, roles, and an audit log, in your own GitHub repository. [Add Logins to My Process](https://llamapress.ai/excel-to-app) [See Onboarding Apps](https://llamapress.ai/guided-client-onboarding-software-that-replaces-your-checklist-spreadsheet) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your workbook with you. ## Frequently Asked Questions ### How do I add user logins and permissions to a spreadsheet-based process? Excel and Google Sheets cannot give each user a login with different rows and fields. To add user logins and permissions, move the process into an app with user accounts and roles. Draw a permission matrix from the tabs and columns first, then build the app from that matrix. An AI-built app from your spreadsheet includes accounts, roles, and an audit log by default. ### Can I password protect parts of an Excel spreadsheet for different users? Excel lets you protect a tab with one password and unlock chosen ranges. The same protection applies to everyone who opens the file. Excel has no way to show one user one set of rows and another user a different set. Microsoft's documentation states that worksheet protection is not intended as a security feature. ### Can Google Sheets restrict who can edit certain rows? Google Sheets can restrict who edits a protected range, and a range can be a block of rows. The restriction covers editing only, so every editor still sees those rows. New rows need a new protected range. Google's documentation says protected ranges should not be used as a security measure. Per-user row permissions require an app with accounts and roles. ### How do I see who changed a cell in Excel? Excel has no per-record audit log you can query by client, by field, or by user. Microsoft's legacy Shared Workbook feature tracked changes, but Microsoft describes that feature as older, with many limitations, and replaced by co-authoring. Version history in cloud storage restores older copies of the whole file, so you compare copies by hand. An app writes the user, the field, the old value, the new value, and the time against every record. ### What is role-based access control in a business app? Role-based access control gives every user account a role, such as coordinator, finance, or client. Each role has a fixed set of permissions that say which records the role can see and which actions the role can take. Permissions attach to the record, so a new record is protected the moment someone creates it. A permission matrix is the written form of role-based access control. ### Can clients log in to see only their own records? Yes, in an app with user accounts. Each client gets a login tied to their own record, and the app filters every screen to that record. The client can upload documents and answer intake questions without seeing another client's data. A shared spreadsheet cannot do this, because every editor sees every row. ============================================================================== # How to Build a SaaS Product Without Coding (2026) Source: https://llamapress.ai/how-to-build-a-saas-product-without-coding ============================================================================== # How to Build a SaaS Product Without Coding (2026) > You can build a SaaS product without writing code. This guide compares no-code platforms with AI-built software and shows where each route breaks. Source: https://llamapress.ai/how-to-build-a-saas-product-without-coding | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) You can build a SaaS product without writing code. This guide compares no-code platforms with AI-built software and shows where each route breaks. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Yes, you can build a SaaS product without writing code. In 2026 there are two real routes. Route one is a no-code platform. You assemble the product from visual blocks and rent the result for a monthly fee. Route two is AI-built software. An AI coding agent writes real code from your description. You own that code. Both routes work. Each route fails at a different stage. Pick wrong and you can lose a year. I build AI coding agents for a living. I talk with non-technical founders every week. The most common pattern is the founder who spends months on a beautiful marketing site and a pitch deck. Then the product needs accounts, a database, and a way to charge money. The founder hits a wall. This guide walks the whole road in order. Validate the idea first. Separate your SaaS website from your SaaS product. Weigh the no-code route against the AI-built route. Then learn what to demand from any company that offers to build the product for you. ## Validate With a Spreadsheet Before You Build Anything The cheapest version of your SaaS product is a spreadsheet and a promise. Do not pay for any builder yet. First run the core workflow by hand for five or ten real customers. Say your idea is client onboarding software for insurance agencies. Onboard three agencies yourself with a shared spreadsheet, a checklist, and email. Charge them if you can. You will learn which columns matter and which steps people skip. You will learn whether anyone pays. The only cost is your own time. Founders sometimes hear this advice as a delay of the real work. I mean the opposite. The spreadsheet becomes the most valuable technical document you will ever produce. The spreadsheet captures your data model and your workflow. Any human or AI builder can read the spreadsheet. Every tab is a database table in waiting. Every column is a field. Every color-coded status is workflow logic. At LlamaPress we turn spreadsheets into working software. The spreadsheet is the spec. Founders who ran their process by hand always ship a better first version than founders who started from a blank prompt. ![Founder plans a SaaS product at a laptop before any code exists](https://images.unsplash.com/photo-1448932223592-d1fc686e76ea?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxzdGFydHVwJTIwZm91bmRlciUyMGxhcHRvcCUyMHBsYW5uaW5nJTIwc2FhcyUyMHByb2R1Y3R8ZW58MHx8fHwxNzg3ODc4MTI4fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Bench Accounting](https://unsplash.com/@benchaccounting?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-operating-laptop-on-top-of-table-C3V88BOoRoM?utm_source=leonardo_rails_app&utm_medium=referral) ## Your SaaS Website and Your SaaS Product Are Two Different Builds One confusion wastes more founder money than any other. A SaaS company runs two pieces of software. The marketing site is the public face. The marketing site holds the landing page, the pricing page, the blog, and the signup button. The product is the software behind the login. The product holds accounts, permissions, and your customers' data in a real database. The product runs the workflows customers pay for. The product also runs the billing that charges their cards each month. A SaaS website builder handles the marketing site completely. So does any good no-code website builder. Webflow, Framer, Squarespace, and Wix give you a fast, professional marketing site for a modest monthly fee. I recommend them for that job without hesitation. Your landing page does not need custom code. Paying an engineer to hand-build one is usually a waste. The trap is to assume the same tool can grow into the product. It cannot. A website builder manages pages. A SaaS product manages data that belongs to other people. That work needs secure logins, user roles, linked records, audit history, integrations, and subscription billing. One day customer number two logs in. Customer two must see only their own records. At that point you have left website-builder territory. Founders who learn the difference on day one avoid a rebuild at month six. ## Route One: Build the Product on a No-Code Platform No-code platforms such as Bubble, Glide, and Softr let you assemble a real product visually. You build data tables, logic flows, user logins, and even Stripe billing. Thousands of working SaaS products run on these platforms today. For a first version they can be fast. This route is a fair answer for a simple product on a small budget. Speed to a paying customer counts for a lot early on. I will not pretend otherwise. Go in with clear eyes about three ceilings. First, the subscription is permanent. You pay the platform every month for as long as your product exists. Prices climb with usage tiers. Your costs grow with your success. Most serious plans cost roughly $30 to a few hundred dollars a month as of this writing. Usage charges arrive on top with real traffic. Second, export is limited. Most platforms let you export your data. As of this writing you cannot export a runnable app. The app runs only inside the platform. Leave the platform and you rebuild from zero. Investors check for the export limit before they invest. Third, the scaling ceiling is real. Complex data relationships get harder as you grow. Heavy background processing and unusual integrations get harder too. Workarounds pile up. At some point the workaround budget passes the cost of custom software. None of those ceilings matter for a prototype. All of them matter for a company. A no-code platform rents you a product. Rent works well early. Rent hurts when the product becomes a company. ## Route Two: Have AI Build You Real Code The second route did not exist a few years ago. AI coding agents can now write the code itself. You get a real codebase and a relational database (tables that link together). You get real logins on real hosting. You describe the product in plain English. Better, you hand over the spreadsheet you validated with. The agent builds the product in a mainstream framework a human engineer can read. The difference from no-code is ownership. The code can live in your own GitHub repository. Later you may outgrow the tool, raise money, or hire your first engineer. That engineer inherits a normal codebase instead of an export problem. No platform subscription stands between your product and your customers. No ceiling comes from someone else's feature list. The catch is that the AI-built route splits into two experiences. Prompt-to-app tools like Bolt.new and Lovable put the AI in your hands. That power works well if you can read code. The same power is rough if you cannot. The AI will get stuck at some point. The escape hatch is then the codebase. I wrote about [what happens when Bolt.new hands you a codebase to babysit](https://llamapress.ai/the-bolt-new-alternative-when-you-need-working-software-not-a-codebase-to-babysit). I also wrote about [when a Lovable prototype has to outlive the demo](https://llamapress.ai/the-lovable-alternative-when-your-business-app-has-to-outlive-the-prototype). The second experience is a service. The AI does the building. Human engineers stand behind the agent. A non-coding founder should judge that kind of company with care. ## What an AI SaaS Development Company Should Actually Provide AI collapsed the cost of writing software. Companies that call themselves an AI SaaS development company have multiplied. The label covers serious engineering firms. The label also covers resellers who wrap someone else's chatbot. The industry produced a cautionary tale. Builder.ai was once valued at over a billion dollars on the promise of AI-assembled apps. Builder.ai entered insolvency (could not pay its debts) in May 2025. Reporters found that human engineers did most of the work behind the curtain. The lesson is to inspect the machinery. Here is the checklist I would use on anyone. Use the checklist on us too. Check five things. First, ask to watch the AI work. A black-box build is a bad sign. Second, confirm the code lands in a repository you control. The framework should be a mainstream one. That way you can always leave. Third, confirm the product includes the unglamorous SaaS plumbing. Plumbing means secure logins, user roles, a relational database, backups, and subscription billing. Fourth, ask who fixes problems after launch. You want a named human on the hook. A support queue is a bad answer. Fifth, ask how the pricing works. A flat number you can budget beats a meter that spikes when things break. Here is how LlamaPress answers those five checks. Our AI coding agent is named Leonardo. You watch him build your product screen by screen in the browser. He writes Ruby on Rails. Rails is one of the most established web frameworks in the world. The code can sync to your own GitHub account. Every build ships with the plumbing included. The product runs on managed hosting. Our engineers step in behind the agent when a problem is genuinely hard. Start from a working spreadsheet and [Leonardo converts the spreadsheet into the first version of your product](https://llamapress.ai/excel-to-app). Founders who want the whole build handled can [have our services team scope and build the product with them](https://llamapress.ai/services). ### Build the product behind the login Describe the SaaS you want in plain English. Or upload the spreadsheet you validated with. Leonardo builds real database-backed software that you own. Human engineers stand behind him. There is no platform lock-in. [Describe Your Product](https://llamapress.ai/) [Start From Your Spreadsheet](https://llamapress.ai/excel-to-app) ## Frequently Asked Questions ### Can you really build a SaaS product without knowing how to code? Yes. No-code platforms like Bubble and Glide let you assemble a working product visually. AI coding agents can write a real codebase from a plain-English description or a spreadsheet. You cannot skip the product thinking. You must know your users, your data, and your workflow. Founders who validate by hand first succeed far more often on either route. ### Is a SaaS website builder enough to launch a SaaS? A website builder covers the marketing site. The marketing site means landing pages, a pricing page, a blog, and a signup form. The product behind the login needs more. Each customer needs an account that shows only their own records. The product also needs a relational database, workflow logic, and subscription billing. A website builder does not provide those parts. Most launches pair a no-code website builder for the site with a separate build for the product. ### What are the downsides of building a SaaS on a no-code platform? There are three main downsides. You pay the platform a subscription for the life of the product. The price scales with your usage. Most platforms let you export only your data as of this writing. A runnable app cannot leave the platform. Leaving means a rebuild from zero. Complex features also hit platform ceilings. Workarounds then grow more expensive as the product grows. The trade-offs are often worth it for a simple product and fast validation. ### How much does it cost to build a SaaS product without coding? The no-code route costs about $30 to a few hundred dollars a month in platform fees as of this writing. Usage charges come on top as traffic grows. Your own time is the main build cost. AI-built custom software from a service runs from low four figures to low five figures for a first working version. A traditional agency build runs $50,000 to $250,000. Exact numbers depend on scope. Be suspicious of any quote that arrives before someone understands your workflow. ### What should I look for in an AI SaaS development company? Look for five things. You can watch the build process. The code lands in a mainstream framework inside a repository you control. The product includes the full SaaS plumbing: secure logins, a database, backups, and billing. Named humans stay responsible after launch. The pricing is a flat number you can budget. The Builder.ai insolvency in 2025 showed why the checks matter. Verify the delivery machinery. Do not just trust the AI story. ============================================================================== # How to Create a Website With Ruby on Rails in 2026 Source: https://llamapress.ai/how-to-create-a-website-with-ruby-on-rails-from-first-command-to-live-site ============================================================================== # How to Create a Website With Ruby on Rails in 2026 > Yes, Ruby on Rails builds real websites. The exact commands from install to a live site, what rails new ships in 2026, hosting prices, and who should skip it. Source: https://llamapress.ai/how-to-create-a-website-with-ruby-on-rails-from-first-command-to-live-site | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) # Create a website with Ruby on Rails, from the first command to a live site Yes, Ruby on Rails builds real websites. The exact commands from install to a live site, what rails new ships in 2026, hosting prices, and who should skip it. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 Yes, you can create a website with Ruby on Rails, and the path is eight commands. Install Ruby, install the Rails gem, run rails new, create the database, start the server, generate a controller, set the root route, and run your first migration. That gets you a running site on your own machine in minutes. Rails is a web framework, meaning a toolkit for building web applications, so it fits a site with accounts, records and rules behind it. Hosting starts at about $4 a month on a server you run yourself, or $5 to $7 a month on a managed host, as of this writing. A five page brochure that never changes does not need Rails at all. In short - Eight commands take a clean machine to a running Rails site: install Ruby, gem install rails, rails new, db:create, server, generate a controller, set root, db:migrate. - Current stable Rails is the 8.1 series, and Ruby's current major series is 4.0. A guide that tells you Ruby 3.x is current is out of date. - A new Rails app already includes Propshaft, import maps, Hotwire, Solid Queue, a production Dockerfile, Kamal 2, Brakeman, RuboCop and a GitHub Actions workflow. - There is no drag and drop Rails website builder. The real options are Rails generators, a CMS gem, or an AI coding agent that writes the Rails for you. I write Rails for a living. Every customer app we ship runs on Ruby on Rails, and we operate a fleet of production Rails apps for our customers. Our AI agent, Leonardo, writes Rails code, and the people supervising it ship Rails daily. We also maintain an open-source Rails AI framework on GitHub, LlamaBot, with the llama\_bot\_rails gem. Every command below was checked against the official guides in September 2026. ## Can you build a website with Ruby on Rails? Yes, and large companies still run their main product on it. Rails builds what it calls an application, meaning a program that serves pages from a database. A Rails website is one of those applications with public pages on the front. The proof is in who pays to keep the framework alive. The [Rails Foundation's own member list](https://rubyonrails.org/foundation) names GitHub, Shopify, 37signals, Doximity, Cookpad, Procore, 1Password, Fleetio, Fin and Judge.me as core members, and Gusto, Clio, Chime and others as contributing members. GitHub's engineering blog describes GitHub.com as [a Ruby on Rails monolith since the beginning](https://github.blog/engineering/architecture-optimization/building-github-with-ruby-and-rails/). We go through those companies and what their stacks actually tell you on our page about [websites built with Ruby on Rails](https://llamapress.ai/websites-built-with-ruby-on-rails-and-what-they-tell-you). Rails is strongest where a site has state. User accounts, records people create and edit, forms, permissions, an admin area, email, file uploads, scheduled work. All of that ships with the framework or sits one gem away. The honest limits section below names the cases where Rails is the wrong pick. ## What do you need before you start? You need four things: Ruby, the Rails gem, a database, and a terminal with a text editor. Nothing else is required to reach a running site on your own machine. **Ruby.** Ruby's current major series is 4.0, not 3.x. Ruby 4.0.0 was released on 2025-12-25 and the latest patch is 4.0.6, released 2026-07-14. The 3.4 branch is maintained alongside it, with 3.4.10 released 2026-06-30. The dated table is on [Ruby's own releases page](https://www.ruby-lang.org/en/downloads/releases/). Rails 7.2 made Ruby 3.1 the minimum, so anything older will refuse to run. **Rails.** The current stable gem is 8.1.3.1, released 2026-07-29, per the [RubyGems API](https://rubygems.org/api/v1/gems/rails.json). Rails 8.1.0 shipped in October 2025, Rails 8.0 in November 2024 and Rails 7.2 in August 2024, per the [official release notes index](https://guides.rubyonrails.org/8_1_release_notes.html). Patch releases land roughly monthly, so check the current number. **A database.** A new app uses SQLite, and Rails 8 endorses SQLite for production rather than dev and test alone. The Rails 8 announcement says 37signals runs SQLite in production for ONCE, with thousands of Campfire and Writebook installations in the wild. Rails 8 hardened the adapter with WAL and IMMEDIATE mode defaults. PostgreSQL and MySQL suit apps where several servers touch the same data. **A terminal and an editor.** Any editor works. You can also skip installing Ruby on your laptop. Rails 7.2 added a generated .devcontainer folder and a rails devcontainer command, so the toolchain runs in a container. That detail is in the [Rails 7.2 release notes](https://guides.rubyonrails.org/7_2_release_notes.html). ![A laptop open on a desk running a terminal, where every Rails command in this guide is typed](https://images.unsplash.com/photo-1587620962725-abab7fe55159?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx0ZXJtaW5hbCUyMGNvbW1hbmQlMjBsaW5lJTIwbGFwdG9wJTIwZGV2ZWxvcGVyfGVufDB8fHx8MTc4ODU1NDQ5Mnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [James Harrison](https://unsplash.com/@jstrippa?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/black-laptop-computer-turned-on-on-table-vpOeXr5wmR4?utm_source=leonardo_rails_app&utm_medium=referral) ## How to create a Rails website step by step Run these eight commands in order and you end with a Rails site running at localhost:3000 with a home page you wrote and a database table you created. The sequence follows the [official Getting Started guide](https://guides.rubyonrails.org/getting_started.html), which states outright that you need no prior Rails experience to follow it. 1. **Install Ruby and check the version.** Ruby has to be on the machine before Rails can be. The command prints the version string, which is how you confirm the install worked. Terminal ``` ruby --version ``` 2. **Install Rails as a gem.** A gem is a packaged piece of Ruby code. The first command downloads Rails and its dependencies, and the second prints the Rails version you just installed. Terminal ``` gem install rails rails --version ``` 3. **Generate the application.** This writes the project skeleton into a new folder and installs its gems. You see a long list of created files, then you move into the folder. Name it after your site. Terminal ``` rails new store cd store ``` 4. **Create the database.** Rails reads the database settings the generator wrote and creates the development and test databases. You see one confirmation line per database. Terminal ``` bin/rails db:create ``` 5. **Start the development server.** This boots Puma, the web server that ships with Rails, and prints a banner with the Rails version and the port. Open http://localhost:3000 and you get the Rails welcome page. Terminal ``` bin/rails server ``` 6. **Generate a controller for your first page.** A controller decides what a URL does. This creates the controller, a view file for the index action, a helper and a test file, and skips routes so you write them yourself. Terminal ``` bin/rails generate controller Products index --skip-routes ``` 7. **Point the home page at that controller.** Open config/routes.rb and add a root line. Reload localhost:3000 and the Rails welcome page is replaced by your own page. config/routes.rb ``` root "products#index" resources :products ``` 8. **Add a model and run the migration.** A model is the Ruby class that owns one database table. The generator writes the model and a migration file, and the migrate command applies it. You see a migrating line and a migrated line with the elapsed time. Terminal ``` bin/rails generate model Product name:string price:decimal bin/rails db:migrate ``` One correction to advice you will see elsewhere. Plenty of tutorials say the official path is bin/rails generate scaffold, which writes a model, controller and a full set of views in one shot. That generator is real and it works. The current official guide does not lead with it. The guide builds the pieces as separate explained steps, then continues into validations, authentication, caching, Active Storage uploads, Action Mailer, background jobs with Solid Queue, RuboCop, security, CI and a production deploy. ## What does rails new give you in 2026? A new Rails app arrives with the big choices already made. The asset pipeline, the JavaScript approach, the job system, the cache, the deploy tool, the container image, the security scanner, the linter and the CI workflow are all wired for you. People underrate that when they compare frameworks. The list below comes from the [official Rails 8 announcement](https://rubyonrails.org/2024/11/7/rails-8-no-paas-required) and the [7.2 release notes](https://guides.rubyonrails.org/7_2_release_notes.html), and it carried forward into the current 8.1 line. - **Propshaft** is the default asset pipeline, replacing Sprockets, which the Rails 8 announcement dates back to 2009. - **Import maps** are the default JavaScript approach, so there is no build step. Teams that want esbuild, webpack or rollup opt in with jsbundling-rails. - **Hotwire**, meaning Turbo plus Stimulus, ships in the box. It gives you live page updates without writing a separate frontend app. - **Solid Queue, Solid Cache and Solid Cable** remove Redis as a required dependency. Solid Cache has run at Basecamp for over a year holding 10 terabytes. Solid Queue runs 20 million jobs a day for HEY alone. - **Kamal 2 and Thruster** are preconfigured for deployment. Thruster sits in front of Puma for asset caching and compression, so no Nginx is needed in front of it. - **A tuned production Dockerfile**, which 7.2 updated to set up jemalloc for memory allocation. - **Brakeman, RuboCop and GitHub Actions** are generated for you. Brakeman scans for common Rails security holes, RuboCop uses the omakase rule set, and the CI workflow runs Dependabot, Brakeman, RuboCop and your tests. - **Dev Containers** can be generated with the app, or added later with rails devcontainer. Those defaults are why a Rails site started today needs so few decisions. To see what a mature codebase does with them, read some real ones. We picked through the best public examples in [open-source Ruby on Rails apps worth reading](https://llamapress.ai/open-source-ruby-on-rails-apps-worth-reading-and-what-they-teach-you). ## How do you put a Rails website online? You either rent a server and deploy to it with Kamal, or you push the code to a managed platform that runs it for you. Kamal is the open-source deploy tool Rails 8 ships preconfigured with, and it turns a fresh Linux box into an application server with one setup command. The repo is [basecamp/kamal](https://github.com/basecamp/kamal), MIT licensed with 14,560 stars, read on 2026-09-04. Prices below are the published entry points as of this writing, read on 2026-09-04. Four vendors make that harder than it should be. Fly.io says on its pricing page that plans get complicated and it charges on usage, so the flat monthly figures live only in the docs. Render and Railway draw their price tables in the browser, so a plain fetch returns no numbers. Hetzner Cloud goes furthest. Its page loads and the price digits never appear to an automated read. This table gives it no figure rather than repeating one we could not confirm. | Option | What it is | Entry price, as of this writing | Who it suits | | --- | --- | --- | --- | | Kamal on a DigitalOcean Droplet | You rent a plain Linux server and Kamal deploys onto it. [Droplet pricing](https://www.digitalocean.com/pricing/droplets) | $4.00 a month for 512 MiB RAM, 1 vCPU, 10 GiB SSD, 500 GiB transfer | Cheapest real option, if you are willing to own the server | | Kamal on Hetzner Cloud | Same idea, a different server vendor. [Hetzner Cloud](https://www.hetzner.com/cloud/) | Hetzner markets a low cost shared vCPU tier. Its page did not show a price to our automated read, so check the site for the current figure | European hosting and larger machines for the money | | Render | Managed platform, you push code and it builds and runs it. [Render pricing](https://render.com/pricing) | Workspace $0 a month, cheapest paid compute $7 a month for under 1 CPU and 512 MB RAM. There is also a limited free compute tier | A first site where you do not want to touch a server | | Fly.io | Managed machines billed by usage. [Machine price table](https://fly.io/docs/about/pricing/) | shared-cpu-1x with 256 MB RAM is $1.94 a month, and with 1 GB RAM is $5.70 a month | Small apps and anyone comfortable reading a usage bill | | Heroku | The original Rails platform, still running. [Heroku pricing](https://www.heroku.com/pricing) | Eco dyno $5 a month, 0.5 GB RAM, sleeps after 30 minutes idle. Basic dyno $7 a month, 0.5 GB RAM, always on | Familiar tooling and the least new vocabulary to learn | | Railway | Managed platform with credit based billing. [Railway pricing](https://railway.com/pricing) | Hobby $5 a month minimum usage, including $5 of credit. Pro $20 a month minimum usage. A free trial gives $5 of credits for 30 days | Side projects that may grow into something bigger | Sleep is the detail that catches people. A Heroku Eco dyno sleeps after 30 minutes of no traffic, which is fine for a demo and wrong for a customer facing site. Add the database and file storage to whichever number you pick, because none of the figures above include them. ![A rack of servers in a dark room, the kind of machine a Rails site is deployed onto with Kamal](https://images.unsplash.com/photo-1680992046626-418f7e910589?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxzZXJ2ZXIlMjByb29tJTIwZGF0YSUyMGNlbnRlciUyMGRlcGxveW1lbnR8ZW58MHx8fHwxNzg4NTU0NDk5fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Tyler](https://unsplash.com/@tylergm?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-rack-of-electronic-equipment-in-a-dark-room-OnI_TNcIv9U?utm_source=leonardo_rails_app&utm_medium=referral) ## Is there a Ruby on Rails website builder? No, there is no drag and drop Rails website builder in the way Squarespace or WordPress means it. Rails is a framework, so the thing you build is code. Three real options sit behind that search, and they suit three different people. **The generators that ship with Rails.** bin/rails generate scaffold writes a model, a migration, a controller and a full set of views for one resource in a single command. That is the closest thing to a builder inside Rails, and it gives you working screens you then edit by hand. **A CMS or admin gem.** For editable pages, AlchemyCMS is a Rails CMS, BSD-3-Clause licensed with 906 stars. Publify describes itself as a self hosted web publishing platform on Rails, MIT licensed with 1,854 stars. For an admin area over your own tables, ActiveAdmin is MIT licensed with 9,708 stars, and Avo had 1,799 stars. GitHub's license detector could not classify Avo's license, so read that repo's LICENSE file. All four were pushed within the past week and all figures came from the GitHub API on 2026-09-04, so they drift. **An AI coding agent that writes the Rails for you.** This is the newest option and it is what we do. Our agent, Leonardo, writes Rails code, and the people supervising it are US-based engineers who ship Rails daily and review every change before it reaches you. The output is an ordinary Rails app any Rails developer can read. We describe that on our page about [the Ruby on Rails development company where AI writes the code](https://llamapress.ai/the-ruby-on-rails-development-company-where-ai-writes-the-code). The engineering side is on [building AI features into Rails apps](https://llamapress.ai/rails-ai-building-ai-features-into-ruby-on-rails-apps). None of the three change the shape of the work. A Rails site is code, a database and a server. A builder makes the first version faster, and the server still needs running. ## How long does it take, and what does it cost to keep running? No official Rails source states a number of hours or days, and I am not going to invent one. The answer depends entirely on whether you already write code. What is documented is scope: the official Getting Started guide takes a reader with no Rails experience through models, migrations, routing, CRUD, authentication, caching, file uploads, email, background jobs, CI and a production deploy. The running cost has three lines and only one is the hosting figure above. The second is the database and file storage. The third is the upgrade calendar, and it is the one people forget. The Rails [maintenance policy](https://guides.rubyonrails.org/maintenance_policy.html) gives each minor release bug fixes for one year and security fixes for two years after the first release in its series. A site left alone for three years is running unpatched code. Old Rails apps keep running when someone maintains them. One of the apps we operate is a 2019-era Rails 6.1 application with live paying users, and we keep that app patched and running in production right now. Staying current is a scheduled job rather than a rescue mission. We make that argument on [Rails upgrade and maintenance for apps you cannot afford to lose](https://llamapress.ai/rails-upgrade-and-maintenance-for-apps-you-cannot-afford-to-lose). ## When Rails is the wrong choice Rails is the wrong tool in four situations, and saying so costs me nothing. First, a brochure site of five pages that never reads or writes data. A static site generator or a hosted site builder is cheaper to run and easier to hand to a marketer. Second, a site whose point is a designer moving blocks around every week. Rails changes pages in code, and code changes go through a deploy. Third, a team with nobody who can read Ruby and no plan to hire one. Fourth, a product that is entirely a mobile app with a login screen on the web. Two limits apply even when Rails is right. You are responsible for a server, or for a platform bill that grows with traffic. And you own the security patching described above. Both are real work that a hosted site builder does for you. If you are still deciding what to build rather than how, we sorted the good and bad starting points in [Ruby on Rails project ideas worth building](https://llamapress.ai/ruby-on-rails-project-ideas-worth-building-and-the-ones-to-skip). ## When to write it yourself and when to have it built Follow this page yourself if you want to learn Rails, if the site is yours to maintain, or if you enjoy the work. That is a real reason and it is most of the traffic to a page like this. The guide is free, the framework is free, and the first month of hosting costs less than lunch. Have it built if the site is a business system rather than a hobby. The signals are consistent. Several people will use it every day. It replaces a spreadsheet or a manual process that already runs the company. It needs logins, permissions and an audit trail. Someone other than you has to keep it alive next year. The steel contractor RSB is the example I give. Their estimating workbook priced every job, and every estimator worked in a copy of it. We rebuilt it as a custom Rails app in 6 weeks from kickoff to deployment. Estimates now go out 62% faster and each one costs 40% less to produce. We have converted 400+ spreadsheets the same way. If your process lives in a spreadsheet, that spreadsheet is the fastest starting point. The tabs are your tables, the headers are your fields and the formulas are your rules. Leonardo reads all of it and builds a first working Rails app, and an engineer reviews the result. That route is shorter than typing rails new and it ends at the same kind of app. Our page on [MVP development that ships a working product in days](https://llamapress.ai/mvp-development-that-ships-a-working-product-in-days) covers how that goes. Rails, Without Learning Rails ### Skip the first eight commands. Upload the spreadsheet your process already runs on. Leonardo reads the tabs, headers and formulas and builds a first working Ruby on Rails app. A US-based engineer reviews every change before it reaches you. [Start From Your Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to an Engineer](https://llamapress.ai/contact) Building it yourself and stuck on a step? [Contact us](https://llamapress.ai/contact) and we will point you at the right part of the guide. ## Frequently Asked Questions ### Can you make a website with Ruby on Rails? Yes. Rails builds database-backed web applications, and a website with public pages is one of them. GitHub, Shopify, 37signals, Doximity and Procore are all Rails Foundation members, and GitHub's own engineering blog calls GitHub.com a Ruby on Rails monolith. Rails suits a site with accounts, records and rules. A static brochure page does not need it. ### How do I create a Ruby on Rails website? Install Ruby, then run gem install rails. Run rails new store and change into the folder. Run bin/rails db:create, then bin/rails server, and open localhost:3000. Generate a controller with bin/rails generate controller Products index --skip-routes, add a root line to config/routes.rb, then generate a model and run bin/rails db:migrate. ### Is Ruby on Rails good for websites in 2026? Yes. The current stable release is the 8.1 series, and 8.1.3.1 shipped on 2026-07-29. A new app includes Propshaft, import maps, Hotwire, Solid Queue, a production Dockerfile, Kamal 2, Brakeman, RuboCop and a GitHub Actions workflow. Rails Foundation core members including GitHub, Shopify and 37signals still run it in production. ### Do I need to know Ruby to build a Rails website? To build it yourself, yes. The official Getting Started guide states you need no prior Rails experience, but you will be reading and writing Ruby from the first page. To have a Rails site without learning Ruby, you hire a developer, or you use an AI coding agent that writes the Rails under human review. That is what we do at LlamaPress. ### Is there a Ruby on Rails website builder? Not in the drag and drop sense. Rails is a framework, so three options sit behind that search. Rails generators including bin/rails generate scaffold write working screens for you. CMS and admin gems such as AlchemyCMS, Publify, ActiveAdmin and Avo add editable pages and admin panels. An AI coding agent writes the Rails code itself, supervised by engineers. ### How much does it cost to host a Rails website? As of this writing, a DigitalOcean Droplet you deploy to with Kamal starts at $4.00 a month. Render's cheapest paid compute is $7 a month. Fly.io lists shared-cpu-1x with 256 MB RAM at $1.94 a month. Heroku's Eco dyno is $5 a month and sleeps after 30 minutes idle, and Basic is $7 and always on. Railway Hobby is $5 a month minimum usage. ### What is the difference between a Rails website and a Rails web application? There is no technical difference. Rails calls everything it builds an application, and a Rails website is a Rails web application whose pages are public. People say website when the pages are mostly for reading, and web app when users sign in and change data. The same commands, the same framework and the same hosting apply to both. ============================================================================== # How to Create Your Own Software Without Developers Source: https://llamapress.ai/how-to-create-your-own-software-without-a-development-team ============================================================================== # How to Create Your Own Software Without Developers > You do not need a development team to get software that fits your process. The four real routes in 2026, what each costs in time and money, and where to start. Source: https://llamapress.ai/how-to-create-your-own-software-without-a-development-team | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) You do not need a development team to get software that fits your process. The four real routes in 2026, what each costs in time and money, and where to start. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall, AI and software engineer at LlamaPress AI](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Kody Kendall AI & Software Engineer. Builds Leonardo, the AI coding agent behind LlamaPress AI. Your company runs a process that works only because one person maintains a spreadsheet. The spreadsheet prices your bids, tracks your orders, or guides client onboarding. You have looked at off-the-shelf software, and none of it matches how your team works. So how do you create your own software with no developers on staff? In 2026 there are four realistic ways to create your own software without a development team. First, learn to code. Most people need six months to two years before they can ship software a business can depend on. Second, hire developers or an agency. As of this writing, a multi-user business app commonly costs $50,000 to $250,000. Third, build on a no-code platform. A no-code build is fast. You rent the software forever. Fourth, have an AI coding agent build real, database-backed software from the process you already run. The agent usually starts from your spreadsheet. The fourth route is new. Only the fourth route fits a mid-market budget and a mid-market timeline. I have lived three of these routes. I learned to code the slow way. I have taken agency contracts. Today I build Leonardo, the AI agent that does route four. This page maps all four routes. The map shows what each route costs in time and money. The map shows where each route breaks. The map also shows why your spreadsheet is the best asset you bring to any route. ![Hands typing on a laptop that shows a spreadsheet, the process document most businesses already have](https://images.unsplash.com/photo-1783115259399-3a5a3e0e4592?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMG93bmVyJTIwbGFwdG9wJTIwc3ByZWFkc2hlZXQlMjBvZmZpY2V8ZW58MHx8fHwxNzg3ODc4MTM0fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Gorilla ROI Data Connector](https://unsplash.com/@gorillaroi?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/hands-typing-on-a-laptop-displaying-a-data-spreadsheet-9fZuqBYlV1w?utm_source=leonardo_rails_app&utm_medium=referral) ## What It Actually Takes to Develop Your Own Software A business app is five things. A database stores your records. Screens let people enter and find those records. Rules keep bad data out. Logins control who sees what. A server keeps the app running. When an estimating manager types "develop your own software" into a search bar, the manager wants those five things. A bid tracker needs jobs, line items, and labor rates as related tables. An order desk needs orders, customers, and status history. An onboarding tracker needs clients, checklist steps, and completion records. Every route below produces the same five things. The routes differ in four ways: who does the work, how long the work takes, what the work costs, and who owns the result. Those four columns are the whole decision. ## The Four Real Ways to Make Your Own Software Program | Route | Time to working software | Typical cost | Where it breaks | | --- | --- | --- | --- | | Learn to code | 6 to 24 months of evenings | Low in dollars, high in hours | You become the single point of failure | | Hire developers | 3 to 9 months | $50K to $250K+ as of this writing | The price, and each change adds an invoice | | No-code platform | Days to weeks | Per-user subscription, forever | Your process bends to fit the platform | | AI-built custom software | Days to a few weeks | A flat engagement, small next to agency quotes | You need a real process to start from | ### Route 1: Learn to code and build it yourself I took route one myself, so I can both defend the route and warn you about the route. You can learn how to make your own software from scratch. Free courses cover everything. Python, Ruby on Rails, and modern web frameworks are friendlier than ever. AI assistants now answer the questions that used to eat whole weekends. The honest cost is time. A real multi-user app needs logins, permissions, backups, and data you cannot afford to lose. That level of work sits far above tutorial level. Most people need six months to two years of steady practice to reach that level. If you run operations at a $10M distributor, you do not have 500 spare evenings. The finished app would also depend on you alone. Choose route one if you want a new career or a serious hobby. Do not choose route one just to fix your order tracking. ### Route 2: Hire a developer or an agency Route two is the traditional answer. You write requirements. You collect quotes. A team builds the app for you. Done well, you get exactly what you asked for, and you own the code. The problems are price and pace. As of this writing, established agencies commonly quote $50,000 to $250,000 for a custom business app. Projects run three to nine months from kickoff to launch. Freelancers cost less and carry more risk. One person holds your whole system in their head. The meter never stops after launch. Every new report is a change order. Every rule change is a change order. For a 15-person team that needs an estimating or onboarding app, the math rarely closes. Our [services page](https://llamapress.ai/services) shows how we structure this kind of engagement differently. ### Route 3: Build it on a no-code platform No-code platforms let you assemble an app from visual blocks. Airtable, Glide, and Bubble are examples. Simple internal apps work well on these platforms. Speed is a real virtue. You can have a clickable app this week. Three limits appear once your team depends on the app. First, your process bends to fit the platform. Say your bid approval flow needs a reviewed labor rate before totals unlock. If the platform has no concept of a reviewed rate, you drop the rule or fake a workaround. Second, the subscription grows. Most platforms charge per user per month, forever. As of this writing, the business tiers on popular platforms add up fast across a 20-person company. Third, you rent the app. Export options are limited. The day you outgrow the platform, you start over. I wrote a longer breakdown of this trade in [why an AI app builder beats a no-code skin on your spreadsheet](https://llamapress.ai/why-an-ai-app-builder-is-the-only-way-to-replace-your-spreadsheet-in-2025). ### Route 4: Have an AI coding agent build it as custom software Route four did not exist a few years ago. AI coding agents now write real code. You get an actual database, actual screens, and actual validation rules on a real server. At LlamaPress our agent is named Leonardo. Leonardo starts the build from your working spreadsheet. That spreadsheet describes your business better than any requirements meeting ever could. You [upload the spreadsheet that runs your process](https://llamapress.ai/excel-to-app). Leonardo reads the spreadsheet the way a senior engineer reads a spec. Columns become typed database fields. Tabs become related tables. The rules in your formulas become validation for every user on every device. The first working version appears in days. An AI agent does the heavy construction, so the price sits far below agency quotes. You pay a flat engagement instead of a six-figure project. We manage the hosting, with no per-message meter. You own the result, code included. An agency would hand you the same category of software. The economics are what changed. ## Your Spreadsheet Is Already the Best Spec You Will Ever Write Whichever route you pick, remember one fact. The hard part when you create your own software program was never the code. The hard part is describing what the software must do, with no unwritten rule missing. Agencies spend months of paid discovery trying to extract that description. Blank-prompt AI tools ask you to type that description from memory. You already own that description. The estimating spreadsheet with 14 tabs knows a bid cannot total without a reviewed labor rate. The order sheet knows which columns the warehouse touches and which belong to accounting. The onboarding tracker knows all 40 steps, including the six that always get skipped. That spreadsheet is a specification, refined over years, sitting on your shared drive right now. Start from the spreadsheet and you skip the most expensive phase of every software project. The [Excel to App master guide](https://llamapress.ai/excel-to-app-master-guide) shows how a spreadsheet becomes production software, tab by tab. ## How to Create Your Own Software: First Steps This Week Make four concrete moves this week. None of the moves requires a developer. First, pick one process. Pick the process that hurts most: one bad bid, one dropped order, one six-week onboarding. Depth beats breadth. Second, gather the spreadsheet that runs the process. Write down the rules that live only in someone's head. Third, list who touches the process and what each person should see. That list becomes your roles and permissions. Fourth, put a number on the pain. Count hours lost per week, or the cost of the last mistake. That number tells you what any of the four routes is worth paying. That number turns "we should fix this someday" into a decision. ### Your spreadsheet is the spec. Bring it. Upload the spreadsheet that already runs your estimates, orders, or onboarding. Leonardo builds database-backed software from it. You get a working version in days. We manage the hosting. You own the result. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Describe the App You Need](https://llamapress.ai/) ## Frequently Asked Questions ### How do you create your own software with no coding experience? Two routes need no code: a no-code platform, or AI-built custom software. Pick a no-code platform for a simple internal app you may throw away later. Pick AI-built software when the software must match a specific process. The AI agent writes real code from your description, or better, from your existing spreadsheet. You own the result. ### How do you make your own software without hiring developers? Start from what you already have. If your process lives in a spreadsheet, the spreadsheet already defines your tables, fields, rules, and workflow. Hand the spreadsheet to an AI coding agent. You get a database-backed app without writing code or hiring anyone. If your process lives in your head, write the process down as steps and rules first. Every route gets cheaper and faster once the process is on paper. ### How much does it cost to create your own software program? As of this writing, an agency build for a multi-user business app commonly runs $50,000 to $250,000. Freelancers quote less, with more variance. No-code platforms look cheap up front. Then the platforms charge per user per month, with no end date. AI-built custom software costs a small fraction of agency pricing, as a flat engagement. Compare the routes over five years of subscriptions and change orders. On that math, AI-built custom software usually wins for mid-market teams. ### How long does it take to make your own software program? Learning to code takes most people six months to two years before they can ship dependable multi-user software. An agency project runs three to nine months. A no-code build takes days to weeks. An AI-built app from a working spreadsheet shows a first version in days. A production-ready system takes a few weeks, depending on complexity. ### Can I create my own software for free? You can learn to code for free. Free tiers exist on most no-code platforms. Neither route is free in practice. Learning costs hundreds of evenings. Free platform tiers cap users and records below business use. For software a company depends on, plan to spend real time or real money. ### Is a spreadsheet good enough, or do I really need custom software? A spreadsheet works until several people need to edit at the same time. A spreadsheet also fails when dropped follow-ups start costing money, or when one person's exit would end the process. At that point the spreadsheet has done a full job: the spreadsheet documents your process. Custom database-backed software adds logins, guided workflows, an audit trail, and a single source of truth. ============================================================================== # How to Display an Excel Spreadsheet on a Web Page Source: https://llamapress.ai/how-to-display-an-excel-spreadsheet-on-a-web-page ============================================================================== # How to Display an Excel Spreadsheet on a Web Page > Five ways to get an Excel spreadsheet onto a web page, compared honestly: paste an HTML table, Excel's Save As Web Page, a live OneDrive embed, Google Sheets publishing, or a real web app. Source: https://llamapress.ai/how-to-display-an-excel-spreadsheet-on-a-web-page | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Five ways to get an Excel spreadsheet onto a web page, compared honestly: paste an HTML table, Excel's Save As Web Page, a live OneDrive embed, Google Sheets publishing, or a real web app. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Updated September 2026 There are five ways to put an Excel spreadsheet on a web page, and they answer different questions. Paste an HTML table when the numbers hold still. Use Excel's Save As Web Page when you want Excel to write the file for you. Embed the live workbook from OneDrive or SharePoint when viewers need to sort and filter. Publish from Google Sheets when the page must update itself for free. Build a web app when people need to edit the data or see different rows. Pick by asking one question first: does anyone need to change the numbers once they are on the page? In short - A pasted HTML table is the fastest option and the only one search engines read well. It is a snapshot, so you re-paste it when the numbers change. - A live embed keeps the page current, but it puts your data behind a Microsoft or Google viewer and its limits. - Published and embedded workbooks are public to anyone with the link. Google warns you to "be careful when publishing private or sensitive info". - None of the five display methods gives one person one set of rows. That needs an application with logins. I get asked this most often by operations managers who have been handed a job that sounds simple. The price list has to be on the website. The schedule has to be on the intranet. The board report has to be readable without a download. Those three jobs need three different answers, and picking the wrong one costs you an hour a week for the next two years. ## Method 1: paste an HTML table You convert the sheet to an HTML table, then paste that markup into your page. This is the cleanest result and it takes about ten seconds with our free [Excel to HTML converter](https://llamapress.ai/excel-to-html). The file is read in your own browser and never uploaded. The output is a plain table element with header cells and body rows. Your site's own CSS styles it, so it matches the rest of the page. Search engines read the values as text, which matters when the table itself is the reason people find you. A published price list or a specification table earns search traffic. The same numbers inside an embedded viewer earn none, because the viewer loads them after the page does. The cost is that it is a snapshot. Change the workbook and the page keeps showing yesterday's numbers until you convert and paste again. That is fine monthly. It is painful weekly. ## Method 2: Excel's own Save As Web Page Excel on Windows can write the file itself. Open the workbook, choose Save As, and pick **Web Page (.htm, .html)** or **Single File Web Page (.mht)**. Microsoft's guide to [saving all or part of a workbook to a static web page](https://support.microsoft.com/en-us/office/save-all-or-part-of-a-workbook-to-a-static-web-page-5ad26dee-8739-4d80-b9d9-cf0530ab1968) walks through it, and it also describes the useful part most people miss. In the Publish as Web Page dialog you can tick **AutoRepublish every time this workbook is saved**, so saving the workbook rewrites the web page. Two things to know before you rely on it. Microsoft states that when you save a workbook as a webpage, "fewer Excel features are maintained in the file", and recommends keeping the .xlsx as your master copy. And the markup Excel writes is very large, because it carries the formatting and Office metadata with it. If you already have one of those files and it broke your page layout, [here is what is inside it and how to clean it up](https://llamapress.ai/why-excel-save-as-web-page-produces-messy-html-and-how-to-clean-it-up). ## Method 3: embed the live workbook from OneDrive or SharePoint Microsoft lets you embed an Excel for the web workbook by [setting the SRC attribute of an iframe element on the web page](https://support.microsoft.com/en-us/excel/embed-your-excel-workbook-on-your-web-page-or-blog-from-sharepoint-or-onedrive-for-business). Viewers see the real workbook. Microsoft notes it "lets you interact with the data if your workbook has a table or PivotTable that can be sorted and filtered". The limits are published and they are firm. Workbook size is capped at 10 MB. Up to 1,000 people can view at once, and Microsoft warns that "heavy traffic on the embedded workbook might result in some viewers being throttled". The file has to live on OneDrive for Business or SharePoint Online, and for a public page you have to share it and clear the Require sign-in box. That last step is the one that goes wrong. Clearing it makes the whole workbook readable by anyone who finds the link, including the tabs you forgot were in there. One more limit worth knowing. Microsoft's own comparison of the browser and the desktop says that for macro enabled workbooks, "a workbook in this format can be opened but macros do not run in a browser window". An embedded workbook that depends on VBA will look right and do nothing. ## Method 4: publish from Google Sheets If the sheet already lives in Google Sheets, this is the least work. Open the file, then choose File, Share, and [Publish to web](https://support.google.com/docs/answer/183965). You get a link or an embed. Google states that "any changes you make to the original document will be updated in the published version", though "the automatic update might take a few minutes". You can switch that off by clearing Automatically republish when changes are made. Viewers get a version with no toolbar. Google notes that people with view permissions "can see charts, cell formatting, and the values of cells, but can't view or edit formulas", which is a real advantage when the formulas are the valuable part. Google's own warning applies with full force: "be careful when publishing private or sensitive info". Publishing is not sharing. It is broadcasting. ## Method 5: build a small web app The four methods above all display data. None of them lets a visitor change it, and none of them shows different rows to different people. Excel's protection feature does not close that gap either. Microsoft says plainly that "worksheet level protection isn't intended as a security feature". Google says the same about protected ranges: "this shouldn't be used as a security measure". So when the real requirement goes past showing numbers, the honest answer is software, and which kind depends on who is looking. If the audience is customers or the public, and they need to browse, search and send you something, that is a website built from the sheet. Our [Excel to website builder](https://llamapress.ai/excel-to-website) reads the workbook and builds one, with your columns as the search filters. If the audience is your own team, and a supplier updates their own line or a regional manager sees only their region, that is an internal tool with accounts and permissions. Our [Excel to app converter](https://llamapress.ai/excel-to-app) builds that, and there is a longer walkthrough in [how to convert an Excel spreadsheet to a web application](https://llamapress.ai/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch). ## Which method should you use? | Method | Updates itself | Visitors can edit | Per person permissions | Read by search engines | Needs an account | | --- | --- | --- | --- | --- | --- | | Pasted HTML table | No | No | No | Yes | None | | Excel Save As Web Page | On save, if AutoRepublish is on | No | No | Partly | Excel for Windows | | OneDrive or SharePoint embed | Yes | Sort and filter only | No | No | Microsoft 365 | | Google Sheets publish | Yes | No | No | Partly | Google account | | A web app | Yes | Yes | Yes | Yes | Your own logins | Read the table by starting at the right question. If nobody edits, stay in the top two rows and keep your life simple. If the page must be current and nobody edits, embed. If anyone edits, the bottom row is the only row that works, and the other four will cost you months of workarounds before you admit it. ## Is "convert Excel to a website" a different job? Usually it is the same job with bigger words. When people say website they normally mean one of two things. Either they want the numbers visible on a page they already have, which is method 1 or 4 above. Or they want a place where a team logs in and works, which is method 5 and is really an application with a login screen. The word that separates them is "enter". If anyone will enter data, you are building software. If everyone only reads, you are publishing a page. Deciding that in the first meeting saves a lot of rework. If it is the first kind, you can see it in about 60 seconds. Upload the workbook to the [Excel to website builder](https://llamapress.ai/excel-to-website) and it builds a live site from your rows, with a public form so visitors can send you an enquiry or a booking that lands with the right record. ## Three mistakes that cost the most The first is publishing the whole workbook to show one tab. Both the Microsoft embed and the Google publish flow can expose more than you meant. Copy the tab you want into a fresh file, then publish that file. The second is treating an embed as access control. A link that works without a sign-in works for everyone who ever receives it, forever. If the data should not be public, do not publish it. The third is choosing a static export for data that changes daily. You will hold that job manually for years. At about ten minutes a day, a weekly re-export costs more staff time in a year than an application costs to build. ## Frequently asked questions ### How do I display an Excel sheet in a web page without Microsoft 365? Convert the sheet to an HTML table and paste it into the page. That needs no account and no subscription. The [free Excel to HTML converter](https://llamapress.ai/excel-to-html) does it in your browser. ### Can I embed Excel in a web application? Yes, using the iframe method in Microsoft's embed documentation, within the 10 MB workbook and 1,000 concurrent viewer limits. Inside a real application it is usually the wrong choice, because the embedded workbook has no connection to your application's users, permissions or database. ### Will the embedded workbook show my formulas? A Microsoft embed shows the workbook as Excel for the web renders it, so a viewer can click a cell and see the formula. Google's published version hides formulas and shows values. Choose accordingly when the formula is your intellectual property. ### How do I put a spreadsheet on a web page so my team can edit it? You cannot, with any of the display methods. Editing by more than one person needs an application with accounts. See [how to add logins and permissions to a spreadsheet based process](https://llamapress.ai/how-to-add-user-logins-and-permissions-to-a-spreadsheet-based-process). ### What about very large sheets? A pasted HTML table of tens of thousands of rows will make the page slow. Publish a summary and let people search the detail in an application. The Microsoft embed has a hard 10 MB workbook limit, which arrives sooner than most people expect. ### Put the spreadsheet online properly Upload the file and AI builds a live website from your rows, searchable and on your own domain. Or take the ten second option and get a static HTML table. [Convert Excel to a website, free](https://llamapress.ai/excel-to-website) [Just give me the HTML table](https://llamapress.ai/excel-to-html) Want us to do it for you? [Contact us](https://llamapress.ai/contact). Build sprints start at $2,000. Sources: Microsoft, [Save all or part of a workbook to a static Web page](https://support.microsoft.com/en-us/office/save-all-or-part-of-a-workbook-to-a-static-web-page-5ad26dee-8739-4d80-b9d9-cf0530ab1968); Microsoft, [Embed your Excel workbook on your web page or blog](https://support.microsoft.com/en-us/excel/embed-your-excel-workbook-on-your-web-page-or-blog-from-sharepoint-or-onedrive-for-business); Microsoft, [Differences between using a workbook in the browser and in Excel](https://support.microsoft.com/en-us/office/differences-between-using-a-workbook-in-the-browser-and-in-excel-f0dc28ed-b85d-4e1d-be6d-5878005db3b6); Microsoft, [Protect a worksheet](https://support.microsoft.com/en-us/office/protect-a-worksheet-3179efdb-1285-4d49-a9c3-f4ca36276de6); Google, [Publish a file from Google Docs, Sheets, Slides, or Forms](https://support.google.com/docs/answer/183965); Google, [Protect a sheet or range](https://support.google.com/docs/answer/1218656). All checked September 2026. ============================================================================== # How to Download an Excel File: The Step-by-Step Guide Source: https://llamapress.ai/how-to-download-an-excel-file-and-escape-spreadsheet-purgatory ============================================================================== # How to Download an Excel File: The Step-by-Step Guide > Learn how to download an Excel file from Google Sheets, email, or websites. Plus, discover why manual downloads are a sign your business has outgrown spreadsheets. Source: https://llamapress.ai/how-to-download-an-excel-file-and-escape-spreadsheet-purgatory | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Learn how to download an Excel file from Google Sheets, email, or websites. Plus, discover why manual downloads are a sign your business has outgrown spreadsheets. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Excel Strategy Specialist In my years at McKinsey, I saw multi-billion dollar decisions made inside spreadsheets. But I also saw those same companies lose millions because of a single manual "download" that went stale. Whether you are trying to pull a sales report from your CRM or save a shared Google Sheet for offline work, knowing how to properly download an Excel file is a foundational skill. However, for a business operator, the "download" button is often a double-edged sword. ## The Quick Guide: How to Download an Excel File Depending on where your data lives, the steps vary slightly. Here is how to handle the most common scenarios: ### From Google Sheets 1. 1. Open your **Google Sheet**. 2. 2. Click **File** in the top menu. 3. 3. Hover over **Download**. 4. 4. Select **Microsoft Excel (.xlsx)**. ### From an Email (Outlook/Gmail) - 1. Find the **attachment** at the bottom of the email. - 2. Hover over the file icon. - 3. Click the **Download** (down arrow) icon. - 4. Save it to your **Downloads** folder. ## Choosing the Right Format: CSV vs. XLSX When you click that export button on a website, you are often given a choice. Choosing the wrong one can mess up your data before you even open the file. - **XLSX:** Use this if you need to preserve formatting, multi-sheet structures, or complex formulas. It is the standard "Excel" format. - **CSV (Comma Separated Values):** Use this for raw data. It is faster to download and works with every software on earth, but it strips away all your colors, bold text, and formulas. ![A business operator frustrated by spreadsheet limitations](https://images.unsplash.com/photo-1726649339367-c2577a28881b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxmcnVzdHJhdGVkJTIwb2ZmaWNlJTIwd29ya2VyJTIwY29tcHV0ZXJ8ZW58MHx8fHwxNzc1Nzc0NDY5fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Sebastian Herrmann](https://unsplash.com/@officestock?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## The "Download" Trap: Why Your Business is Stalling Now, let’s talk about the part they didn't teach you in business school. If you are an operations manager downloading an Excel file every Monday to track customer orders, or a project lead exporting a "Current Bids" sheet to update your team, you are living in **Spreadsheet Purgatory**. > "The moment you download an Excel file, it is already obsolete." In a high-growth business, data is alive. It changes every minute. When you download a static file, you are creating a "snapshot" that instantly detaches from reality. ### 1. The Version Chaos Nightmare You download `Order_Report_June.xlsx`. You make some changes. You email it to Sarah. Sarah makes changes and saves it as `Order_Report_June_v2_Sarah.xlsx`. By Wednesday, nobody knows which file has the actual truth. Someone ships an order based on the wrong version, and your customer gets the wrong product. That is a $500 mistake caused by a simple "download." ### 2. Formula Fragility Manual downloads often require manual "massaging." You copy-paste some rows, drag a few formulas, and hope you didn't accidentally delete a hidden cell. One broken VLOOKUP can hide a $50,000 estimating error until it is too late. ### 3. The Security Gap Where do these downloaded files go? They sit in "Downloads" folders on employee laptops. If a laptop is lost or an employee leaves, your sensitive client data and pricing strategies go with them. ![Abstract blue data network representing live database connectivity](https://images.unsplash.com/photo-1644325349124-d1756b79dd42?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkaWdpdGFsJTIwZGF0YSUyMG5ldHdvcmslMjBhYnN0cmFjdHxlbnwwfHx8fDE3NzU3NzQ0NzZ8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Conny Schneider](https://unsplash.com/@choys_?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## The Solution: Moving from "Files" to "Applications" You don't actually want an Excel file. You want **answers**. You want to know which orders are late, which bids are pending, and who is responsible for the next step. This is where LlamaPress AI changes the game. We take that spreadsheet workflow you keep downloading and turn it into a **custom, database-backed application**. ### Imagine a World Without the "Download" Button: - **Live Data:** Your whole team sees the same "Single Source of Truth" in real-time. No more versions. - **Guided Workflows:** Instead of "massaging" data, your team follows a clear, error-proof process built specifically for your business. - **Accountability:** See exactly who changed what and when. No more "I thought Sarah updated that." At LlamaPress, we use **Leonardo**, our AI coding agent, to build these apps in days, not months. You get the flexibility of your spreadsheet with the power and security of a professional database. #### How Leonardo Works His Magic Instead of just giving you another "cloud spreadsheet," Leonardo analyzes your existing Excel formulas, logic, and data relationships to build a custom Rails application from the ground up. 1 Upload your fragile .xlsx file 2 Leonardo architecting your database... ![Leonardo AI](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/3u2z1d4o32kaoy46bde8urbcs9uo) Generating models, controllers, and views... ## Ready to stop downloading and start scaling? If your business is currently held together by a web of downloaded Excel files, you are operating with a handbrake on. It is time to graduate to a system that grows with you — you can [turn your Excel spreadsheet into a web app](https://llamapress.ai/excel-to-app) and retire the download loop entirely. ![Leonardo AI](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/2gtjznpnqu2cd81nd0eow2nl3p7j) ### Convert Your Spreadsheet Workflow Today Stop living in the "Download" loop. Let Leonardo build you a custom database-backed app that eliminates version chaos and human error. [Get Started for Free](https://llamapress.ai/excel-to-app) [See How It Works](https://llamapress.ai/how-it-works) ============================================================================== # How to Get an App Made for Your Business Source: https://llamapress.ai/how-to-get-an-app-made-for-your-business ============================================================================== # How to Get an App Made for Your Business > Freelancer, agency, no-code, or AI-built? Honest price bands, the 7 questions to ask any app vendor, and how to avoid buying a mobile app you do not need. Source: https://llamapress.ai/how-to-get-an-app-made-for-your-business | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Freelancer, agency, no-code, or AI-built? Honest price bands, the 7 questions to ask any app vendor, and how to avoid buying a mobile app you do not need. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Search results for how to get an app made for your business split into two piles. One pile is agencies with beautiful portfolios and no prices. The other pile is advice for startup founders who chase app store millions. Neither pile helps the owner of a 40 person distribution company. That owner needs order tracking that works on a phone by next quarter. I have spent years helping business owners evaluate software vendors. I started at McKinsey and then worked with mid-market companies. This guide is the one I wanted to hand every one of them. You can get a business app made through four routes. A freelance developer builds a typical small business app for $5,000 to $30,000 as of this writing. An agency or startup app development company charges $30,000 to $150,000 or more. A no-code platform costs $30 to $300 per month, plus months of your own evenings. The fourth route is AI-built custom software created from the process you already run. AI-built projects usually land in the low thousands of dollars and produce a working version in days. Most small businesses need a web app. A web app opens in the browser, so your team does not need a native mobile app from the app stores. The web choice can cut the cost roughly in half. Whichever route you pick, get code ownership and data ownership in writing before you pay anyone. ![Business owner reviewing a project plan with notes and a laptop before hiring an app vendor](https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxzbWFsbCUyMGJ1c2luZXNzJTIwb3duZXIlMjBtZWV0aW5nJTIwbGFwdG9wJTIwcGxhbm5pbmd8ZW58MHx8fHwxNzg3ODc4MDc1fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Scott Graham](https://unsplash.com/@amstram?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-holding-pencil-near-laptop-computer-5fNmWej4tAA?utm_source=leonardo_rails_app&utm_medium=referral) ## The Four Ways to Get a Business App Built App development for small business has the widest price spread of anything a company buys. The same order tracking app can get a $4,000 quote and a $140,000 quote in the same week. Both quotes can be honest, because the vendors sell different things. Here is what each route costs and where each route fails. ### 1. Hire a freelance developer A solo developer from a marketplace or a local referral charges $30 to $150 an hour as of this writing. A small business app means logins, a few record types, forms, and a dashboard. A build like that usually lands between $5,000 and $30,000. The failure mode is fragility. You hire one person, so you inherit one person's calendar, health, and career plans. I have watched projects stall for months because the developer took a full-time job. You also become the project manager by default. You write the spec, test every screen, and chase progress. The route works when the scope is small, written down, and checked by someone who can judge code. ### 2. Hire an agency or startup app development company An agency sells a team: a project manager, designers, developers, and testers. Quotes for a real business app start near $30,000 and often pass $150,000. Timelines run three to nine months as of this writing. For that money you get process, and sometimes you need process. Compliance work, complex integrations, and consumer products at scale belong with an agency. Two failure modes repeat. First, the people who sell the project rarely build the project. Senior staff run the pitch, and junior developers write the code. Second, agency machinery is built for funded startups. A six week discovery phase makes sense when a founder spends investor money. For a business owner, that phase can cost more than a whole app built another way. Scope changes arrive as change orders, and the meter keeps running. ### 3. Build it yourself on a no-code platform No-code platforms let you build the app yourself by dragging screens together. Subscriptions run from about $30 to $300 per month as of this writing, and many platforms price per user. The larger cost is your time. Expect evenings and weekends for months while you learn the platform. The failure modes are the ceiling and the exit. You hit the ceiling when your process needs linked database tables, user roles, or an integration the platform lacks. The exit problem is worse. Most platforms cannot hand you working source code. The day you outgrow the platform, you start over from zero. A one-table tracker used by three people may never hit these limits, but a process that carries your revenue usually does. ### 4. Have AI-built custom software made from your process The fourth route is the newest, and the reason the price bands above are falling. An AI coding agent writes real application code in a standard web stack while engineers supervise the build. The agent works from documents you already have. The best starting spec is the spreadsheet your team uses to run the process today. Builds that used to be agency projects now land in the low thousands of dollars. The first working version arrives in days, as of this writing. The route still deserves scrutiny. Some vendors say AI-built and deliver a template with your logo on it. Ask to watch the agent work, and ask where the code lives. A good answer names your own GitHub account. A vague answer means you should apply the seven questions below with extra force. You can see how a build starts from a spreadsheet at [Excel to App](https://llamapress.ai/excel-to-app). ## Most Small Businesses Buy the Wrong Kind of App Many owners say mobile app when they mean software my team can use on a phone. The confusion moves tens of thousands of dollars. A native mobile app lives in the App Store and Google Play. Native means two codebases or a cross-platform framework, store review cycles, and forced updates forever. A web app runs in the browser on every device your team already owns. Your team can pin a web app to a phone's home screen, and one codebase covers everyone. You need a native mobile app in two cases: the app is your consumer product, or field crews need heavy offline use or deep hardware access. A web app covers almost everything else: order tracking, estimating, scheduling, client onboarding, reporting. Search for a web app agency instead of an app development company and the quotes drop at once. One codebase, no app store, same phones. ## The 7 Questions to Ask Any Vendor The pitch tells you almost nothing. The answers to these seven questions tell you nearly everything. 1. **Who owns the code?** The only good answer names your account. The repository should live in your GitHub from day one. Some vendors keep the code and license it back to you. With those vendors, leaving means starting over. 2. **What is the stack?** You want boring and common: Rails, Django, Laravel, Node. Thousands of developers can maintain those frameworks. A rare or proprietary framework ties you to the vendor. 3. **What happens when we part ways?** Listen for handoff documentation, a full data export, and hosting accounts in your name. A vendor who answers with ease is safer to hire. A vendor who bristles is telling you something. 4. **What will maintenance cost after launch?** Get a monthly number and a list of what the number covers: hosting, security patches, small changes, response times. Unquoted maintenance is where cheap builds get expensive. 5. **Where does my data live, and can I export it any time?** Your customer records are yours. The export should be a button or a standing offer, never a negotiation. 6. **What exactly does the quoted price include?** Ask what triggers a change order. Vague scope is how agency projects double in price. 7. **Can I watch the build?** Ask for weekly demos or a live staging link from the first week. Every troubled project I have reviewed shared one trait. The buyer saw nothing until the end. Do one more thing before you call anyone: write your requirements down. List the roles, records, and workflows in your process on a single page. That page saves real money in billed discovery time. I wrote a full walkthrough in [how to plan an app development project](https://llamapress.ai/how-to-plan-an-app-development-stages-requirements-and-what-to-skip). For deeper cost detail, read [the guide to custom apps for business](https://llamapress.ai/custom-apps-for-business-what-they-cost-and-when-you-need-one). The guide shows what each category should cost and when a custom build pays off. ## Where LlamaPress Fits LlamaPress is the fourth route. Our AI coding agent, Leonardo, builds database-backed web apps with guided workflows. Leonardo starts from the spreadsheet your team already runs. You watch the agent work in a live session. The code is standard Ruby on Rails, and the code lives in your own GitHub account. Your data sits in a real database you can export. Those are our answers to the seven questions, on the record. We build the apps this guide is about: order tracking, estimating, client onboarding, and scheduling. Our customers run 10 to 200 person companies. If your process lives in a spreadsheet today, that spreadsheet is your requirements document, and you have already written it. Our [services page](https://llamapress.ai/services) explains how an engagement runs from first call to launched app. The Fourth Route ### Bring the process. Skip the paperwork. Tell us what your team tracks and how you track it, or just bring the spreadsheet. We will show you a working app before you commit to anything. [Talk through your app](https://llamapress.ai/services) [Describe the app you need](https://llamapress.ai/) ## Frequently Asked Questions ### How do I get an app made for my business? Pick one of four routes: a freelance developer, a development agency, a no-code platform, or an AI-built custom software service. Write a one page requirements list first. Ask every vendor the seven ownership questions. Get code ownership and data ownership in writing before any money moves. ### How much does it cost to get an app made? As of this writing, freelance builds typically run $5,000 to $30,000. Agencies quote $30,000 to $150,000 or more. No-code platforms charge $30 to $300 per month plus months of your own time. AI-built custom apps usually land in the low thousands of dollars. A web app costs less than a native mobile app at every tier. ### Do I need a mobile app or a web app? Choose a web app unless the app is your consumer product or your team needs heavy offline use in the field. A web app works on every phone through the browser. A web app also skips the app stores and needs one codebase instead of two. Order tracking, estimating, scheduling, and onboarding all work well as web apps. ### How long does it take to build a business app? Agencies commonly quote three to nine months. Freelancers often deliver a small build in six to sixteen weeks, depending on scope. An AI-built approach produces a first working version in days. The vendor then refines the app with your team's feedback over the following weeks. ### Who owns the code when I pay someone to build my app? The contract decides, so ask before you sign. Insist that the repository lives in your own GitHub account from day one. Put the hosting accounts in your name too. Ownership that exists only as a promise tends to disappear the day you try to leave. ============================================================================== # How to Open XLS Files: Modernizing Legacy Excel Data Source: https://llamapress.ai/beyond-the-spreadsheet-how-to-open-xls-files-and-modernize-your-legacy-data ============================================================================== # How to Open XLS Files: Modernizing Legacy Excel Data > Struggling to open an old .xls file? Learn how to access legacy Excel data and why converting these files into a database-backed app is the ultimate solution. Source: https://llamapress.ai/beyond-the-spreadsheet-how-to-open-xls-files-and-modernize-your-legacy-data | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Struggling to open an old .xls file? Learn how to access legacy Excel data and why converting these files into a database-backed app is the ultimate solution. [Back to all articles](https://llamapress.ai/blog) We've all been there. You're digging through a shared drive or a dusty archive and you find it: `Project_Estimate_FINAL_2003.xls`. ![Legacy spreadsheet data and numbers](https://images.unsplash.com/photo-1529078155058-5d716f45d604?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHxsZWdhY3klMjBjb21wdXRlciUyMGRhdGElMjBzcHJlYWRzaGVldHxlbnwwfHx8fDE3NzU3NzQ0Nzh8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Mika Baumeister](https://unsplash.com/@kommumikation?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) If you're using a modern version of Microsoft 365, opening it might be as simple as a double-click. But for many business operators, that legacy file format is a source of frustration. Maybe Excel isn't installed, or perhaps the file is throwing "Protected View" warnings that feel like a digital roadblock. ## The Tactical Fix: How to Open .XLS Files Today If you just need the data out of that file *right now*, you have three primary paths: ### Google Sheets Upload to Drive and open. Google handles the legacy conversion server-side for you. ### LibreOffice The gold standard for open-source compatibility. It often opens files that Excel itself rejects. ### Excel for Web The free browser version of Microsoft Excel can often bridge the gap between legacy and modern. ## Why .XLS is a "Legacy Trap" for Your Business In my years at McKinsey, I saw multi-million dollar decisions being made on spreadsheets that were older than the associates running them. The `.xls` format (Excel 97-2003) is a **binary format**. Unlike the modern `.xlsx` (which is essentially a zipped folder of XML files), `.xls` is opaque, fragile, and dangerous. - **Macro Vulnerabilities:** Binary files are the favorite hiding spot for legacy malware. Most modern security firewalls treat them as a high-level threat. - **Data Corruption:** Because of its binary structure, a single byte out of place can render the entire workbook unreadable. There is no "open and repair" for many legacy files. - **No Single Source of Truth:** If you're still using files from 2003, your data is siloed. It isn't talking to your CRM, it isn't updating your inventory, and it definitely isn't searchable by your team. ### The Real Question: Why are you still opening files? If that .xls file contains critical business logic—like an estimation formula for home construction or a client onboarding checklist—it shouldn't be a "file" at all. It should be an **application**. ## From Legacy Binary to Live Database Opening the file is the tactical fix. Modernizing the workflow is the strategic win. ![Code and database architecture](https://images.unsplash.com/photo-1627398242454-45a1465c2479?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHxkYXRhYmFzZSUyMHNlcnZlciUyMGNvZGV8ZW58MHx8fHwxNzc1Nzc0NDg2fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Gabriel Heinzer](https://unsplash.com/@6heinz3r?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) At LlamaPress AI, we specialize in taking those dusty, fragile spreadsheets and turning them into secure, cloud-hosted database applications. ![Leonardo](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/2gtjznpnqu2cd81nd0eow2nl3p7j) Leonardo AI Active ### Meet Leonardo: Your Legacy Migration Architect Our AI coding agent doesn't just "read" your .xls file. Leonardo analyzes the underlying formulas, extracts the data structure, and builds a custom web app with a real database in minutes. - Instant conversion of legacy logic into modern Ruby on Rails code. - Multi-user access with roles and permissions (no more version chaos). - Secure, PostgreSQL-backed data that scales with your company. [Build Your App with Leonardo](https://llamapress.ai/users/sign_up) Don't let your business history get trapped in an unreadable file. Use that .xls file as the blueprint for the software your company deserves today. ============================================================================== # How to Redesign Your Website With AI Source: https://llamapress.ai/how-to-redesign-your-website-with-ai-a-practical-guide ============================================================================== # How to Redesign Your Website With AI > Your site looks dated and agency quotes are steep. The AI website redesign workflow: screenshot each page, regenerate clean HTML, and keep your copy and brand. Source: https://llamapress.ai/how-to-redesign-your-website-with-ai-a-practical-guide | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Your site looks dated and agency quotes are steep. The AI website redesign workflow: screenshot each page, regenerate clean HTML, and keep your copy and brand. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Kody Kendall AI & Software Engineer • Builder of Leonardo, the LlamaPress coding agent Your website was fine when it went up. Five years later it loads slowly, breaks on phones, and looks like the era it was built in. Agency rebuild quotes start around five thousand dollars and run past fifty thousand, as of this writing, with timelines in months. AI changed that math. I build AI coding tools for a living. A redesign is now one of the cleanest jobs you can hand to a machine, once you know which parts to hand over. Here is the whole process in one paragraph. To redesign a website using AI, take a full-page screenshot of each important page on your current site. Upload each screenshot to an AI tool that regenerates the layout as clean, modern HTML and CSS. Keep your copy and your brand colors, check every page on a phone, then publish the new files. A five-page site takes one afternoon instead of a six-week project. The AI regenerates from a picture of your site, so none of the old code's mess comes along. ![Laptop on a desk displaying a website, the starting point of an AI website redesign](https://images.unsplash.com/photo-1496181133206-80ce9b88a853?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx3ZWJzaXRlJTIwcmVkZXNpZ24lMjBsYXB0b3B8ZW58MHx8fHwxNzg3ODc4MDQyfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Kari Shea](https://unsplash.com/@karishea?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/macbook-pro-on-top-of-brown-table-1SAnrIxw5OY?utm_source=leonardo_rails_app&utm_medium=referral) ## The AI Website Redesign Workflow, Step by Step ### Step 1: Audit what you have and pick the pages that matter List every page on your site, then cut hard. Most ten-year-old small business sites have thirty URLs. Only five get visits: home, services or products, about, contact, and one or two pages that rank in search. Check your analytics if you have them. Redesign the pages people see, and redirect or retire the rest. Skip the audit and the AI turns thirty pages of clutter into thirty prettier pages of clutter. ### Step 2: Screenshot each page and regenerate it Take a full-page screenshot of each page you kept, at 100 percent browser zoom, so nothing below the fold is cut off. Feed each screenshot to an AI website redesign tool. Our free tool is [Picture to HTML](https://llamapress.ai/picture-to-html). Upload the image and add one sentence like "same content, modern clean design, mobile first." The regenerated page comes back live in about a minute. The guide [how to turn a screenshot into a working HTML page](https://llamapress.ai/how-to-turn-a-screenshot-into-a-working-html-page) covers what the AI reads reliably and what the AI must guess. Your old code is usually the problem. A 2014-era site carries table layouts, jQuery plugins, and stylesheets patched by four different people. The AI reads your content and structure from the picture, so none of the old code comes along. The output is fresh HTML and CSS written the way pages are written now: flexible layouts, relative units, one stylesheet. That clean break is the strongest reason to use AI for website redesign. ### Step 3: Keep your copy and your brand A redesign changes how the site looks, and nothing about who you are. Your copy comes through the screenshot as real text, so review the words instead of rewriting them. Then add the brand pieces the AI cannot know: your exact hex color values, your logo files, and your real typeface. The AI samples colors from the image, but image compression shifts them slightly. Paste in the true values from your brand guide. The pass takes minutes and separates "modernized" from "generic template." ### Step 4: Review on a phone, then check the basics Open every regenerated page at phone width, about 375 pixels, before you publish anything. AI tools output phone-ready layouts by default, so expect a large upgrade over the old site. Stacking order sometimes needs a correction, and one sentence of feedback fixes the order. Also confirm the basics for Google and screen readers: one h1 per page, descriptive alt text on images, and headings in order. Good tools produce these automatically. Verify each page anyway. ### Step 5: Publish and redirect Put the new pages live under the same URLs where possible. Give every retired page a 301 redirect, a permanent forwarding address, to its closest surviving page. Stable URLs protect the search rankings the old site earned. Publishing may be painful on your current host. That pain is a separate problem from the redesign. Consider a host you can edit in plain English instead of filing a ticket. ## What AI Redesign Tools Do Well Layout is the strong suit. The AI has seen millions of well-built pages. So the first pass has sensible modern structure: real navigation, hero sections, card grids, and footers that hold up on any screen. Speed is the second win: a page regenerates in about a minute, so you can try three visual directions before lunch. Consistency is the third win: ask for the same treatment across five pages and you get five pages that match. The machine does not get bored on page four. The long-term test is simple: the code that comes back must stay easy to edit. Markup built from semantic elements, HTML tags that describe content, with a small plain stylesheet stays editable for years. I listed what to look for in [turning an image into clean HTML and CSS you can actually maintain](https://llamapress.ai/turn-any-image-into-clean-html-and-css-you-can-actually-maintain). The checklist applies to any tool you pick, ours included. ## What AI Redesign Tools Do Badly Brand nuance does not survive automation. The AI can make your site look modern and professional. The AI cannot know that your customers are farm co-ops who distrust slick design. The AI cannot know that the photo of your first truck matters more than any stock image. You supply that judgment in review. Expect to. Information architecture, how site content is organized, is the larger blind spot. The AI redesigns the pages you give it. The AI will not tell you that your services page should be three pages. The AI will not tell you that your pricing is buried, or that the site skips the questions people call about. Decide what the site should say before you regenerate anything. A good agency earns its fee with that thinking, and no tool replaces the thinking. ## The Benefits of AI Web Design, Measured Honestly A page regenerates in minutes, so a full small-site redesign fits in one day, review included. The generation step is free or cheap across the category as of this writing, so your budget shifts from production to judgment. Phone-ready layouts come by default. Most local business traffic is on phones, so for older sites phone support is the largest practical upgrade. The markup starts from semantic elements, so screen readers and search engines can parse each page. You still owe the content basics: alt text, and link labels that say where each link goes. One more benefit surprises people: the new site loads faster. Old sites accumulate scripts. A regenerated page ships only what the page uses. Page speed feeds both search ranking and conversion. ### Redesign your first page right now. Screenshot any page of your current site and drop the image in. A modern regenerated version comes back in about a minute. The tool is free, with no credit card. You keep editing the result in plain English. [Try Picture to HTML](https://llamapress.ai/picture-to-html) [Have Our Team Do It](https://llamapress.ai/services) ## When a Redesign Should Become an App Instead A pattern shows up constantly in redesign projects. Halfway through, the real wish list surfaces. Customers should be able to request a quote and track its status. The contact form should feed a follow-up pipeline instead of an inbox. Clients should log in to see their project. Those are software features, and a prettier brochure site cannot deliver them. There is a specific category for that step up: database-backed custom software with guided workflows. AI agents now build that software at a small fraction of the old custom-development price. At LlamaPress, the same coding agent that regenerates your pages, Leonardo, can add a database, logins, and real business logic. Plenty of redesigns should stay redesigns, but a site that cannot do anything should become an application. Build the application once instead of repainting the brochure every five years. Our [services page](https://llamapress.ai/services) explains how those builds work and what they cost. ## Frequently Asked Questions ### Can AI redesign my existing website? Yes. The reliable method is visual regeneration. Screenshot each page, then have the AI regenerate each one as fresh modern HTML and CSS. Reapply your exact brand colors, fonts, and logo during review. Your copy survives because the AI reads the words from the screenshot as real text. The AI discards the old code on purpose, and losing the old code is usually a feature. ### What is the best AI website redesign tool? Match the tool to what happens after the redesign. Site-builder AIs regenerate your site inside their platform. Staying inside is convenient until you want to leave. Code-generation tools hand you files and end the relationship. Our free [Picture to HTML](https://llamapress.ai/picture-to-html) tool sits in a third category. The regenerated page stays editable in plain English through a coding agent, and the same agent can grow the site into a working application later. ### How much does it cost to redesign a website with AI? The generation step costs between zero and low double digits per month across the category, as of this writing. Your real costs are review time, any new photography or copy, and hosting. Traditional agency redesigns commonly start around five thousand dollars, as of this writing. Larger sites climb well past fifty thousand dollars. ### Will an AI redesign keep my branding and content? Your written content carries over accurately from screenshots. Branding needs one manual pass. The AI approximates colors and fonts from an image. So paste in exact hex values, upload your real logo files, and name your typeface. Budget about fifteen minutes per page for the pass. The result then reads as your brand, modernized. ### Do I need to know how to code to redesign a website using AI? No. The workflow in this guide is screenshot in, working page out. You type refinements in plain English, like "make the header sticky" or "stack these cards on mobile." Knowing HTML helps you audit the output. Knowing HTML is no longer the price of admission. ### How long does an AI website redesign take? Each page regenerates in about a minute. A realistic total for a five-page site is one working day. Plan an hour to audit and screenshot, then an hour to generate and pick a direction. The rest goes to review, brand touch-up, and publishing. Multi-week timelines on small sites are a relic of manual production. ============================================================================== # How to Turn a Screenshot Into a Working HTML Page Source: https://llamapress.ai/how-to-turn-a-screenshot-into-a-working-html-page ============================================================================== # How to Turn a Screenshot Into a Working HTML Page > Upload a screen capture and get real HTML back. What AI reads well from a screenshot, what it guesses at, and how to get a page you can keep editing. Free to try. Source: https://llamapress.ai/how-to-turn-a-screenshot-into-a-working-html-page | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Upload a screen capture and get real HTML back. What AI reads well from a screenshot, what it guesses at, and how to get a page you can keep editing. Free to try. [Back to all articles](https://llamapress.ai/blog) You have a screenshot. Maybe it is a competitor's pricing page, a dashboard from a tool you are replacing, a design someone sent as a PNG, or a page from your own site that nobody has the source for anymore. You want it as HTML. That job used to mean an afternoon in the browser inspector and a lot of guessing at padding values. It takes about a minute now. What has not changed is that a screenshot is a flat picture, and a web page is a set of behaviours. Understanding the gap between those two is the difference between a conversion that saves you a day and one that quietly costs you two. ![A web interface displayed on a monitor, the kind of screen capture people convert into HTML markup](https://images.unsplash.com/photo-1517180102446-f3ece451e9d8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&q=80&w=1080) Photo by [Luke Peters](https://unsplash.com/@lukepeters?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/black-flat-screen-tv-turned-on-near-white-wall-B6JINerWMz0?utm_source=leonardo_rails_app&utm_medium=referral) ## What Actually Happens When You Upload a Screenshot A vision model looks at the image and describes what it sees as structure. Not pixel positions, structure. It identifies that the band across the top is a navigation bar, that the three boxes below are a card grid rather than three unrelated rectangles, and that the heavy text at 32 pixels is a heading while the lighter text under it is body copy. Then a code model writes markup that would produce that arrangement. The important consequence is that the output is a reconstruction, not a trace. The model is not measuring your image and emitting absolute coordinates, which is exactly why the result is usable. A traced page is rigid and breaks on a phone. A reconstructed page uses flexbox, grid, and relative units, because that is how the model has seen a thousand similar layouts written. This is also why image quality matters more than image size. A crisp 1200-pixel-wide capture converts better than a blurry 3000-pixel one. Screenshots taken at browser zoom other than 100 percent produce odd type scales. If you can, capture the full page rather than the visible window, because anything below the fold does not exist as far as the model is concerned. ## What It Reads Reliably Layout and hierarchy are the strong suit. Columns, rows, nesting, and the relative importance of elements come through well. Spacing rhythm is usually close on the first pass, and where it is off it is off consistently, which makes it a two-second fix rather than a hunt. Colour is accurate because it can be sampled directly. Component recognition is good for anything conventional: navigation bars, hero sections, pricing tables, feature grids, footers, form fields, buttons, badges, cards, and tabs all get recognised as what they are and get sensible semantic markup rather than a pile of divs. Text comes across accurately as content. If your screenshot contains real copy, you get real copy back, which saves a retyping step that people forget to budget for. ## What It Has to Guess Anything that is not visible in a still image. This list is worth reading before you evaluate a result, because most disappointment with these tools comes from expecting something the input never contained. Interaction states are invisible. Hover, focus, active, disabled, and error styling are not in your picture, so they get reasonable defaults rather than your defaults. Responsive behaviour is inferred. A desktop screenshot tells the model nothing about what you want at 375 pixels wide, so it applies a sensible convention, which may not be your convention. Exact typefaces are a genuine limitation. A model can tell a geometric sans from a humanist one and will pick something close, but it cannot read the font file out of a picture. If brand typography matters, plan to set it yourself afterwards. The same applies to precise brand colour values when the screenshot has been through compression that shifted them slightly. Scroll and state are the two that surprise people most. Content below the fold, inside a collapsed accordion, behind a modal, or on the other tab is simply absent. And the model cannot tell a real data table from a placeholder one, so it will faithfully reproduce whatever rows were on screen as literal content unless you say otherwise. ### Try it with your screenshot. Drop in a PNG, JPG, WebP, or GIF and get a live, responsive HTML page back in about a minute. Free, no credit card, and you can keep editing the result in plain English. [Convert My Screenshot](https://llamapress.ai/picture-to-html) [Talk to a Human First](https://llamapress.ai/contact) ## Five Things That Improve the Output Capture the full page, not the viewport. Most browsers will do this from developer tools or with an extension, and it removes the single biggest source of missing content. Crop to one thing when you want one thing. A screenshot of an entire application converts into an entire application's worth of approximate markup. A screenshot of just the pricing table converts into a good pricing table. Say what the picture cannot. One sentence of context does more than a higher-resolution image. Telling the tool that the table rows are sample data, that it should be mobile-first, or that the brand font is Inter removes three rounds of correction. Convert light and dark separately if you have both. Asking a model to infer a second theme from a single screenshot is asking it to invent, and it will. Check the semantics before the pixels. Whether the markup uses a real heading order and real list elements matters more for anything you intend to ship than whether the gap is 22 pixels or 24. The visual gap takes seconds to close. Bad structure spreads. ## The First Pass Is the Cheap Part Getting HTML out of an image is close to solved, and a dozen tools will do it. The question worth asking is what happens on the second request. Most converters hand you a file and end the relationship. The moment you need the third card to link somewhere, or a working contact form, or the table to load from a database instead of hard-coded rows, you are back in a code editor. That is where the saved afternoon gets spent again. Our converter is the front door to a coding agent rather than a one-shot export. The page it produces stays editable in plain English, and the same agent can put a database, logins, and real logic behind it when the static page stops being enough. If your screenshot is of a tool you are trying to replace rather than a page you are trying to copy, that is usually where this ends up going, and you can read how that works in the [Excel-to-app master guide](https://llamapress.ai/excel-to-app-master-guide). ## Frequently Asked Questions ### How do I convert a screenshot to HTML? Upload the image to the [picture to HTML converter](https://llamapress.ai/picture-to-html), add a sentence about anything the picture cannot show, and the AI returns a live, responsive HTML page in about a minute. You then refine it by describing changes in plain English rather than editing markup by hand. ### Is there a free AI screenshot to HTML converter? Yes. Uploading a screenshot and generating the page is free and does not require a credit card. You would only pay if you want the result hosted as a real application with a database and users behind it. ### Does it produce the CSS as well as the HTML? It does. You get markup and styling together as a working page rather than an unstyled skeleton. If you specifically want the stylesheet structured for long-term maintenance, see [turning an image into clean HTML and CSS](https://llamapress.ai/turn-any-image-into-clean-html-and-css-you-can-actually-maintain). ### Will the converted page be responsive? Yes, though the model is inferring the small-screen layout rather than reading it, since a desktop screenshot contains no information about phone widths. The generated page uses flexible layout by default and holds up well. Check it at 375 pixels and ask for corrections where the stacking order is wrong. ### Can it copy any website from a screenshot? Technically it will reproduce what is in the image, but treat other people's designs as reference rather than as something to ship. Layout ideas are fair game. Copying a site's look wholesale, along with its logo, copy, and brand assets, is a trademark and copyright problem regardless of which tool produced the file. ### What image formats and sizes work best? PNG, JPG, WebP, and GIF all work. A sharp full-page capture around 1200 to 1600 pixels wide, taken at 100 percent browser zoom, gives the best results. Very large blurry images perform worse than smaller crisp ones. ============================================================================== # How to Turn an Excel Spreadsheet Into a Web App Source: https://llamapress.ai/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch ============================================================================== # How to Turn an Excel Spreadsheet Into a Web App > Seven plain steps to turn the workbook your team runs on into a web app: tabs to tables, columns to fields, color codes to a workflow, then a two-week cutover. Source: https://llamapress.ai/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Seven plain steps to turn the workbook your team runs on into a web app: tabs to tables, columns to fields, color codes to a workflow, then a two-week cutover. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Updated September 2026 You turn an Excel workbook into a web app in seven steps. Audit the tabs, then turn data tabs into tables, columns into typed fields, formulas into rules, and color codes into statuses. Add logins, pick a build route, and run the app beside the workbook for two weeks before you cut over. On the AI-built route nobody on your team writes code, because the uploaded workbook is the spec. A first working version usually exists within days. A build sprint starts at $2,000 as of this writing, against $10,000 to $50,000 for a freelancer and $40,000 to $250,000 for an agency. In short - Converting a workbook is a mapping job: tabs become tables, columns become fields, formulas become rules, and color codes become statuses. - No coding is needed on the AI-built route, because the workbook itself is the specification. - As of this writing, an AI-built sprint starts at $2,000, a freelancer runs $10,000 to $50,000, and an agency runs $40,000 to $250,000. - Run the app and the workbook side by side for two weeks, then cut over and keep an Excel export for the accountant. I spent years at McKinsey watching operations teams run on workbooks that had outgrown Excel. The steps below are the ones I run through at the table with business owners every week. Each step maps one thing in the workbook to one thing in the app. Once the mapping is done, the build is the easy part. ![Hands typing on a laptop that shows a data spreadsheet with rows of records, the kind of workbook this guide converts into a web app](https://images.unsplash.com/photo-1783115259399-3a5a3e0e4592?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxwZXJzb24lMjB3b3JraW5nJTIwb24lMjBzcHJlYWRzaGVldCUyMGxhcHRvcCUyMG9mZmljZXxlbnwwfHx8fDE3ODgzNjE4NTl8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Gorilla ROI Data Connector](https://unsplash.com/@gorillaroi?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/hands-typing-on-a-laptop-displaying-a-data-spreadsheet-9fZuqBYlV1w?utm_source=leonardo_rails_app&utm_medium=referral) ## How can I convert my Excel spreadsheet into a web app? You convert the workbook by mapping each part of the file onto a part of the app, in this order: 1. Audit the workbook for 20 minutes: list the tabs, count the users, find the owner. 2. Turn each data tab into a table. 3. Turn each column into a typed field. 4. Turn each formula into a rule. 5. Turn the color coding and the Status column into a workflow with owners. 6. Add logins and permissions. 7. Pick a build route, then run the app and the workbook in parallel for two weeks and cut over. The order matters, because a field lives inside a table and a status change often triggers a calculation. For the background, our [Excel to app master guide](https://llamapress.ai/excel-to-app-master-guide) covers the whole subject. ## Before you start: the 20-minute workbook audit Open the workbook and list every tab. Next to each tab, write one of three words: data, calculation, or archive. A data tab holds records, one row per thing (a job, an order, a customer). A calculation tab holds formulas that read from the data tabs. An archive tab is a copy of an old data tab, usually named with a year. Archive tabs are imported once, as history, and never converted. Then count users. Write down every person who opens the file in a normal month. Most workbooks have one person who edits and five who look. That ratio decides how many logins you need. Last, find the owner. Every workbook has one person who knows why column K is hidden and why row 200 is red. Book an hour of their time before you start. Ray Panko's research at the University of Hawaii found errors in [91% of the 54 operational spreadsheets audited](https://arxiv.org/abs/0802.3457) in field studies from 1997 onward. The audit is where you find your own. Fix the obvious ones now, because the app will copy whatever the workbook says. ## Step 1. Turn tabs into tables Every data tab becomes one database table, so the Jobs tab becomes a jobs table. Each row becomes one record. Lookup tabs become reference tables. A tab called Rates, Price List, or Codes, which other tabs read with VLOOKUP, is a reference table. One person should own each reference table. The summary tab is a report. Do not make a table from a dashboard tab. The app calculates the summary from the records each time someone opens the report. Watch for one trap. Some tabs hold two kinds of thing in one grid, such as orders with their line items listed underneath. That tab becomes two tables with a link between them. Line items get their own rows, and reports can add them up. ## Step 2. Turn columns into typed fields Each column becomes a field with a type, which tells the app what the field may hold. Excel lets you type "TBC" into a date cell. A date field refuses "TBC" and asks for a date. Dates become date fields. Money becomes a currency field with two decimals. Columns where people pick from a short list (status, region, supplier) become dropdown fields with the list fixed. Yes/No columns become checkboxes. Columns that name a row in another tab (Customer, Job Number) become links to that record. Then deal with the Notes column. Open 30 rows of Notes and read them. You will find three or four things people write there because no column exists for them: a delivery date, a discount reason, a contact name. Each of those gets its own field. Mark the required fields. In the workbook nothing is required, so rows go in half empty. In the app, customer and due date are usually required and notes are optional. ## Step 3. Turn formulas into rules Every formula becomes a rule the app runs on its own. A total column, =D2\*E2, becomes a calculated field the app updates the instant either input changes. A VLOOKUP against the Rates tab becomes a link to the rates table. An IF that sets a flag becomes a validation or a status rule. List each formula once, in plain words, before anyone builds anything. "Margin equals quoted price minus cost, divided by quoted price." That plain sentence is the rule. Macros need a separate decision. Some become buttons in the app. Some disappear, because the app does the job automatically. The full decision is in [can you keep your Excel formulas and VBA macros when you convert to a web app](https://llamapress.ai/can-you-keep-your-excel-formulas-and-vba-macros-when-you-convert-to-a-web-app). ## Step 4. How do I turn an Excel-based business process into software? You turn the business process into software by turning the color coding into a workflow. In the workbook, a yellow row means "waiting on the client" and a green row means "approved." A Status column holds words like Quoted, Won, and Invoiced. Those colors and words are the process, and nobody wrote the process down anywhere else. Write the statuses in order, as a list. Then, for each status, write two things: who moves a record into that status, and what must be true first. "Only the estimator moves a job to Quoted. The job needs a customer, a site address, and a price." That list is a workflow. The app enforces the list, so a job cannot reach Invoiced without a price. Add an owner to each status. In the workbook, a row sits yellow for three weeks because nobody is responsible for the row. In the app, every record in "waiting on client" carries a name and a date, so overdue records become a Monday morning report. This step is where the workbook stops being a filing cabinet and starts being a process. Some teams have a simpler pain: people typing into the wrong rows. For them, the form-first route in [convert your Excel spreadsheet into a web form your team actually fills in](https://llamapress.ai/convert-your-excel-spreadsheet-into-a-web-form-your-team-actually-fills-in) is a faster first move. ## Step 5. Add logins and permissions Give each user a login and a role. The roles usually match the audit count: a few editors, many viewers, and one admin who owns the reference tables. A field crew that only updates its own jobs gets a role that shows only those jobs. Excel cannot do this, and Microsoft says so. Microsoft's documentation states that [worksheet protection "isn't intended as a security feature"](https://support.microsoft.com/en-us/office/protect-a-worksheet-3179efdb-1285-4d49-a9c3-f4ca36276de6). A protected sheet cannot show one row to one person and hide that row from another. The app can. The detail, including clients who see only their own records, is in [how to add user logins and permissions to a spreadsheet-based process](https://llamapress.ai/how-to-add-user-logins-and-permissions-to-a-spreadsheet-based-process). ## Step 6. What is the easiest way to build an app from an existing Excel spreadsheet? The easiest route is to upload the workbook and let an AI coding agent build the first version from the file. No-code builders are the cheapest way to get a simple list onto a phone. Developers are the right call for large or unusual systems. Prices in the table are as of this writing. | | No-code builder | Freelance developer | Agency | AI-built custom app | | --- | --- | --- | --- | --- | | Time to a working app | Days to weeks, if you build it yourself | Two to four months | Three to nine months | First version within days. The RSB steel contractor build took six weeks from kickoff to deployment | | Cost band | From $5 per user per month (AppSheet Starter) or $25 per month (Glide Basic), rising with users and features | $10,000 to $50,000 | $40,000 to $250,000 | Free to try. Build sprints from $2,000. Hosting from $9.99 per month with no per-user fees | | Who does the work | You, inside the builder's editor | One contractor. Quality depends on the person | A project team, starting with discovery workshops | Leonardo builds from the workbook. A human engineer reviews every build | | What you own | A subscription. Neither pricing page offers code export or self-hosting | The code, if the contract says so | The code, if the contract says so | A Ruby on Rails app on PostgreSQL, in your own GitHub repository | The no-code figures come from the [AppSheet pricing page](https://about.appsheet.com/pricing/) and the [Glide pricing page](https://www.glideapps.com/pricing), both read in September 2026. Our own figures are on the [services page](https://llamapress.ai/services). For the tools by name, read [the best Excel to web app converters in 2026, compared honestly](https://llamapress.ai/the-best-excel-to-web-app-converters-in-2026-compared-honestly). For the price, driver by driver, read [how much it costs to replace a spreadsheet with a custom web app](https://llamapress.ai/how-much-does-it-cost-to-replace-a-spreadsheet-with-a-custom-web-app). ![Warehouse worker in a safety vest updating records on a tablet, the daily data entry a converted workbook app takes over](https://images.unsplash.com/photo-1781559818983-c32838ee3d55?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHx3YXJlaG91c2UlMjB3b3JrZXIlMjB0YWJsZXQlMjBjaGVja2xpc3R8ZW58MHx8fHwxNzg4MzYxODYzfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Rodrigo Rodrigues](https://unsplash.com/@wolfart32?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-in-vest-using-tablet-in-a-warehouse-4kjtbC-wMHs?utm_source=leonardo_rails_app&utm_medium=referral) ## Step 7. Run both in parallel for two weeks, then cut over Import the current data, then run the app and the workbook side by side for two weeks. Two people enter every new record in both places. At the end of each day, compare the totals. Any difference is a bug in the app or an error the audit missed. Both are worth finding before you switch. Set a cutover date and tell everyone. On that day, rename the workbook file to add "OLD" and make the file read-only. People will open the old file by habit for a week, and read-only stops them adding rows nobody will see. Keep an export. Your accountant, your bank, or a customer will still want a spreadsheet. A good app exports any list to .xlsx or .csv in one click. The workbook stops being the place where the truth lives. ## What you get at the end At the end you have a web app with one record for each row that used to live in the workbook. Each field has a type, so bad data cannot get in. Each formula runs on its own. Each status has an owner and a date. Each user sees only what their role allows, and nobody waits on a locked file. In the RSB steel contractor case, the estimating workbook went from kickoff to a deployed app in six weeks. Estimates came out 62% faster and cost 40% less each. The workbook already knew how to price steel; the app let more people use that knowledge with fewer mistakes. ## When you should keep the workbook Some workbooks should stay in Excel. A one-person analysis model that changes shape every time you use the model is a thinking tool, and an app would slow you down. A workbook that changes shape every week has no stable process to convert yet. Run the process by hand for three months, then look again. Convert the workbook that five or more people touch every day, where a wrong cell has a dollar figure attached. Unsure which side of that line you are on? [Should you rebuild your Excel workbook as software or keep using Excel](https://llamapress.ai/should-you-rebuild-your-excel-workbook-as-software-or-keep-using-excel) walks through the decision. ## Can I turn an Excel file into an app without coding? Yes. On the AI-built route nobody on your team writes code or learns a builder. You [upload the workbook](https://llamapress.ai/excel-to-app). Leonardo, our AI coding agent, reads the tabs, columns, and formulas as the spec. Tabs become tables, columns become typed fields, formulas become rules, and the Status column becomes a workflow. Leonardo then writes a standard Ruby on Rails app on a PostgreSQL database. The code lands in your own GitHub repository. A human engineer reviews every build before you rely on the app. The mapping in the seven steps above is the same mapping Leonardo makes, which is why the audit matters. We have converted more than 400 spreadsheets this way, and the [upload is free to try](https://llamapress.ai/excel-to-app) with no credit card. From Spreadsheet to Software ### Skip the seven steps. Upload the workbook. Leonardo reads your tabs, columns, and formulas as the spec and builds a database-backed app you own. Free to try, no credit card. [Upload My Spreadsheet](https://llamapress.ai/excel-to-app) [See Build Pricing](https://llamapress.ai/services) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your workbook with you. ## Frequently Asked Questions ### How can I convert my Excel spreadsheet into a web app? You convert an Excel spreadsheet into a web app by mapping each part of the workbook onto a part of the app. Data tabs become tables, columns become typed fields, formulas become rules, and the Status column becomes a workflow. Then you add logins, pick a build route, and run the app beside the workbook for two weeks before you cut over. ### Can I turn an Excel file into an app without coding? Yes, you can turn an Excel file into an app without writing any code. On the AI-built route you upload the workbook and the AI coding agent reads the tabs, columns, and formulas as the specification. The output is a standard Ruby on Rails app on a PostgreSQL database in your own GitHub repository, reviewed by a human engineer. ### What is the easiest way to build an app from an existing Excel spreadsheet? The easiest way to build an app from an existing Excel spreadsheet is to upload the workbook to an AI-built service. You review the first version within days. No-code builders such as AppSheet (from $5 per user per month) and Glide (from $25 per month) are cheapest for a simple phone list. You build the app yourself. A freelancer ($10,000 to $50,000) or an agency ($40,000 to $250,000) suits a large or unusual system. Prices are as of September 2026. ### How do I turn an Excel-based business process into a custom software application? You turn an Excel-based business process into a custom software application by writing down the statuses hidden in the workbook's color coding and Status column. For each status, name who moves a record into that status and what must be true first. Those statuses, owners, and conditions become a workflow the app enforces. Tabs, columns, and formulas map onto tables, fields, and rules around that workflow. ### How long does it take to turn a spreadsheet into a web app? Turning a spreadsheet into a web app takes days to weeks on the AI-built route and months with a developer. In the RSB steel contractor case, the estimating workbook went from kickoff to a deployed app in six weeks. A freelancer typically takes two to four months and an agency three to nine months. ### Do I lose my data when I convert Excel to an app? No, you do not lose your data when you convert Excel to an app. The rows in each data tab are imported into the matching table as records, and archive tabs are imported once as history. The original workbook stays on your drive, and the app exports any list back to .xlsx or .csv. The two-week parallel run in Step 7 is where you confirm the totals match before you switch. ============================================================================== # How to Upload an Excel File to ChatGPT (and Its Limits) Source: https://llamapress.ai/how-to-upload-an-excel-file-to-chatgpt-and-what-to-do-when-that-is-not-enough ============================================================================== # How to Upload an Excel File to ChatGPT (and Its Limits) > Yes, ChatGPT reads .xlsx and .csv files on Free and paid plans. The click path, the 50MB cap, the privacy setting, and what to do when a chat is not enough. Source: https://llamapress.ai/how-to-upload-an-excel-file-to-chatgpt-and-what-to-do-when-that-is-not-enough | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Yes, ChatGPT reads .xlsx and .csv files on Free and paid plans. The click path, the 50MB cap, the privacy setting, and what to do when a chat is not enough. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Updated September 2026 Yes, you can upload an Excel file to ChatGPT. Click the plus button in the message box, choose the .xlsx, .xls or .csv file, and type your question. Uploads work on the Free plan and every paid plan, with Free capped at 3 uploads a day. ChatGPT reads the data with Python in a sandbox, so it can chart and summarise, but macros do not run. Spreadsheets are capped at about 50MB, and consumer plans train on your uploads unless you turn that setting off. For a one-off analysis that is enough. For a workbook that ten people run the business on, upload it somewhere that builds you an app instead. In short - ChatGPT accepts .xlsx, .xls and .csv uploads on Free and paid plans. Free users get 3 uploads a day; paid users get up to 80 files every 3 hours. - A spreadsheet cannot exceed roughly 50MB, the hard cap for any file is 512MB, and uploads stay in your Library until you delete them. - Free, Plus and Pro train on your files by default. Turn off "Improve the model for everyone" under Data Controls, or use ChatGPT Business, which does not train on workspace data. - ChatGPT answers a question about the workbook; it does not replace the workbook. When the file is a business process, LlamaPress builds a database-backed app from it, with no per-user fees. I have run operating models in Excel for most of my career, first at McKinsey and now at LlamaPress. I upload workbooks to ChatGPT most weeks, and I think every operator who lives in Excel should. The steps below are the complete path, with the limits OpenAI publishes and the one privacy setting to check. The last two sections cover what a chat answer cannot do for a workbook that runs your company. ## Can you upload an Excel file to ChatGPT? Yes. OpenAI's help center states that file uploads "are available on Free and paid ChatGPT plans," on the web and in the mobile apps. The old belief that uploads need a Plus subscription is out of date. A Free account can upload a workbook today. The plans differ in volume. Free users are limited to 3 file uploads a day. Paid users can upload up to 80 files every 3 hours, and OpenAI may lower those limits during peak hours. As of this writing, ChatGPT Plus is $20 a month and Pro is $100 or $200 a month. ChatGPT Business (formerly Team) is $25 per user monthly or $20 per user on the annual plan, with a 2-seat minimum. The per-plan detail is in [OpenAI's File Uploads FAQ](https://help.openai.com/en/articles/8555545-file-uploads-faq). ChatGPT reads the common spreadsheet formats. OpenAI's data analysis page lists ".xls, .xlsx, and .csv files" alongside PDFs and text formats like .json and .txt. If your account has connectors, you can attach a workbook straight from Google Drive, OneDrive or SharePoint. ![A laptop on a glass desk showing a data dashboard, the kind of workbook an operator uploads to ChatGPT for a quick analysis](https://images.unsplash.com/photo-1460925895917-afdab827c52f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx1cGxvYWRpbmclMjBmaWxlJTIwbGFwdG9wJTIwc3ByZWFkc2hlZXR8ZW58MHx8fHwxNzg4NDgzNzc3fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Carlos Muza](https://unsplash.com/@kmuza?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/laptop-computer-on-glass-top-table-hpjSkU2UYSU?utm_source=leonardo_rails_app&utm_medium=referral) ## How do you upload an Excel file to ChatGPT? You upload an Excel file to ChatGPT from the message box, the same place you type a question. The path is identical on the web at chatgpt.com and in the desktop app for Windows and Mac. The mobile apps use the same plus button. 1. **Open a new chat.** Sign in at chatgpt.com or open the desktop app and start a fresh conversation. 2. **Click the plus button in the message box.** The button sits at the left edge of the box where you type. Older versions showed a paperclip icon in the same spot. A menu opens with an option to upload from your computer. 3. **Choose the workbook, or drag it in.** Pick the .xlsx, .xls or .csv file and confirm. You can also drag the file from a folder and drop it on the chat window. If Google Drive or OneDrive is connected, the same menu lets you attach the file from there. 4. **Wait for the attachment chip to finish.** The file name appears above the message box while it uploads. Failed uploads can count toward your rate cap, so give a large workbook a moment before retrying. 5. **Type the first prompt and send.** Say what the workbook is and what you want back. Vague prompts get vague answers. The first prompt matters more than the upload. Tell ChatGPT which tab to read, what each column means, and the form of the answer you want. Three prompts that work well: - "The Orders tab has one row per order. Summarise revenue by month and by salesperson, and list the five largest customers." - "Column H is the delivery date and column K is the promised date. Find every late order and show them in a table I can download." - "Explain the formula in cell F12 on the Pricing tab in plain English, and tell me if it has an error." OpenAI's own preparation advice is the advice I give clients. Put descriptive headers in the first row, keep one row per record, and avoid several unrelated tables on one sheet. Empty rows that split the data confuse the read. A large workbook can upload fine and still be read partially, so ask for a specific sheet or column if the answer looks incomplete. ## What does ChatGPT do with an Excel file once it is uploaded? ChatGPT writes and runs Python code against your workbook in a sandbox, then reports the results in the chat. OpenAI describes the sandbox as "a stateful Jupyter notebook environment" that can display pandas DataFrames as interactive tables. The feature launched in July 2023 as Code Interpreter, was renamed Advanced Data Analysis, and is now called data analysis. The full description is on [OpenAI's data analysis page](https://help.openai.com/en/articles/8437071-data-analysis-with-chatgpt). The output can be a summary, a table, a chart or a file. OpenAI lists the jobs it handles: summarising trends and outliers, building tables for row-by-row review, creating charts, running statistics, and explaining its assumptions. Bar, line, pie and scatter charts can be interactive. Other chart types come back as static images. Ask for a cleaned CSV or a new workbook and the sandbox produces a downloadable file. Three limits follow from the way the sandbox works. First, the sandbox has no internet. OpenAI states that the Python environment "cannot make external web requests or API calls," so a lookup to a live price feed will fail. Second, macros do not execute. The data in the sheets is what gets read; the VBA behind a button is ignored. OpenAI's own add-in page says features such as VBA and macros "may not be fully supported." Third, the sandbox reads values and text. Images inside documents are discarded on non-Enterprise plans, so a scanned table will not be read reliably. The uploaded workbook does not vanish after the chat. OpenAI saves files uploaded during a conversation to your Library and keeps them "until you delete them manually." Deleting the chat does not delete the file. Files inside a Project stay until the Project is deleted. Only Enterprise files that are not saved to Library expire, after 48 hours. Temporary Chat is the exception in the other direction: files uploaded there are not saved to your account at all. OpenAI also says to review the generated code, outputs and assumptions before relying on a result. Treat the first answer as a draft from a smart analyst and check it. ## What are the ChatGPT Excel upload limits? The limit that matters for a workbook is about 50MB. OpenAI's 2 million token cap per file applies to text and documents and "does not apply to spreadsheets." Spreadsheets and CSV files instead cannot exceed "approximately 50MB, depending on the size of each row." The hard ceiling for any file of any type is 512MB. The table lists every published limit, as of this writing, with one comparison row each for Microsoft Copilot in Excel and Claude. | Limit | ChatGPT (as of this writing) | Where it bites | | --- | --- | --- | | Spreadsheet or CSV size | Approximately 50MB, depending on the size of each row | A multi-year transaction export; split it by year | | Hard cap, any file | 512MB per file; the 2M token cap does not apply to spreadsheets | Rarely for a workbook; the 50MB spreadsheet cap hits first | | Uploads per period | Free: 3 file uploads per day. Paid: up to 80 files every 3 hours | A Free user who retries a failed upload twice is done for the day | | Files per conversation | No fixed number; varies by upload type, model, plan and remaining allowance | Joining six regional workbooks in one chat | | Files per Project | Free 5; Go and Plus 25; Pro, Business, Edu and Enterprise 40; only 10 at a time | A standing Project that holds every month's report | | Library storage | Free 500MB; Go 4GB; Plus and Business 20GB; Pro 100GB; 25GB per user and 100GB per organization shared cap | Free accounts fill 500MB after a handful of large workbooks | | Retention | Saved to Library until you delete it; permanent deletion within 30 days; Enterprise non-Library files expire after 48 hours | A payroll file you forgot is still in Library six months later | | Training default | Free, Plus and Pro: on unless you turn it off. Business and Enterprise: off by default | Customer lists and pricing uploaded from a personal account | | Plan price | Free $0; Plus $20/month; Pro $100 or $200/month; Business $25/user/month or $20/user/month annual, 2-seat minimum | No annual billing on Plus or Pro | | Microsoft Copilot in Excel | Microsoft 365 Copilot Business add-on from $18/user/month paid yearly (promotional, originally $21); Enterprise add-on $30/user/month paid yearly | Edits the workbook in place; needs an eligible Microsoft 365 plan first | | Claude (claude.ai chat) | 500MB per file; up to 20 files per chat; .xlsx needs code execution and file creation enabled | A larger single file than ChatGPT allows for a spreadsheet | Sources, checked September 2026: [the File Uploads FAQ](https://help.openai.com/en/articles/8555545-file-uploads-faq), [the Library storage page](https://help.openai.com/en/articles/20001052-file-storage-and-library-in-chatgpt), [Microsoft 365 Copilot Business pricing](https://www.microsoft.com/en-us/microsoft-365-copilot/business) and [Anthropic's upload files page](https://support.claude.com/en/articles/8241126-upload-files-to-claude). OpenAI does not show how much of your rolling upload quota remains. A Free user gets no warning before the third upload of the day. ## Is it safe to upload an Excel file to ChatGPT? Uploading an Excel file to ChatGPT is safe for most business data once you check one setting, and unsafe for some data on any setting. On Free, Plus and Pro, OpenAI may use "content such as images and files to improve model performance." That includes your uploaded workbook. The setting is on by default. Turn it off before you upload anything with customer names in it. Click your profile icon, open Settings, go to Data Controls, and turn off "Improve the model for everyone." The setting applies to your whole account. Two caveats from OpenAI's own pages. If you give feedback on a reply, the entire conversation attached to that feedback may still be used for training. And a limited number of authorized OpenAI staff may access content to investigate abuse, provide support or handle legal matters. The steps are in [OpenAI's Data Controls FAQ](https://help.openai.com/en/articles/7730893-data-controls-faq). A business account changes the default. OpenAI states that it does not train on inputs or outputs from ChatGPT Business, ChatGPT Enterprise or the API unless the organization opts in. The [ChatGPT Business overview](https://help.openai.com/en/articles/8792828-chatgpt-business-overview) puts it in one line: "OpenAI won't train on your workspace's data." For a 10 to 200 person company that uploads workbooks weekly, $20 to $25 per user per month buys the right default. Zero data retention and signed BAAs are Enterprise features, so a medical or legal practice should read that page first. Some data should stay off ChatGPT on any plan. OpenAI's own advice is "Please do not enter sensitive information that you would not want reviewed or used." Content is stored on OpenAI's systems and its providers' systems in the US and around the world. Keep payroll, bank details, health records and anything under a customer NDA out of a personal account. If you must analyse a file like that once, use Temporary Chat. Those chats are not used for training, and the files are not saved to your Library. ## What is ChatGPT good at with a spreadsheet, and what does it not fix? ChatGPT is excellent at questions about a workbook and useless at being the workbook. I will say that plainly because most pages that sell software pretend otherwise. If you need a one-off analysis, a cleaned export, a formula explained or a chart for tomorrow's meeting, ChatGPT is the right tool. ChatGPT is faster than a pivot table and it explains its reasoning. The ChatGPT for Excel add-in now brings the same help into a sidebar inside Excel, on Free and paid plans. Ask it to find late orders, reconcile two exports, spot outliers in a cost column, or turn a messy sheet into one row per record. Ask it to draft the SUMIFS you keep getting wrong. Ask it why the margin on the Pricing tab dropped in March. Those are analysis questions, and their answer lives happily in a chat. The problem starts when the workbook is a process rather than a dataset. An estimating workbook, an order tracker or an onboarding checklist is a system other people use every day. ChatGPT changes none of that. The file on the shared drive is exactly the same after the chat as before it. The answer you got is saved in your chat history and nowhere else. Nobody else on the team sees it unless you paste it into an email. Four things stay broken. There is still no shared live data, so the version on the drive and the copy you uploaded drift apart within a day. There are still no permissions, so the estimator, the bookkeeper and the new hire all see and edit every cell. Ten people still overwrite each other, the failure we covered in [why people keep overwriting each other in the inventory spreadsheet](https://llamapress.ai/people-keep-overwriting-each-other-in-our-inventory-spreadsheet-here-is-the-fix). And there is still no history, so nobody can say who changed the unit price on Tuesday. ChatGPT can create a new workbook for you, and we cover the limits in [whether ChatGPT can create Excel files](https://llamapress.ai/can-chatgpt-create-excel-files-and-the-limits-of-spreadsheet-automation). A new file has the same four gaps as the old one. ![Four people on laptops around a meeting table, the kind of team that all edits one shared workbook and needs an app instead](https://images.unsplash.com/photo-1622675363311-3e1904dc1885?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHx0ZWFtJTIwbWVldGluZyUyMHNoYXJlZCUyMHNwcmVhZHNoZWV0JTIwb2ZmaWNlfGVufDB8fHx8MTc4ODQ4Mzc4MHww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Mapbox](https://unsplash.com/@mapbox?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/four-people-all-on-laptops-two-men-and-two-women-listen-to-person-talking-in-a-board-meeting-ZT5v0puBjZI?utm_source=leonardo_rails_app&utm_medium=referral) ## When should you turn the spreadsheet into an app instead? Turn the workbook into an app when more than two people depend on it or when it holds a process with steps and approvals. A third signal: you have uploaded it to ChatGPT three times to answer the same question. The category you want is a custom database-backed app built from the spreadsheet you already run on. The tabs become tables, the formulas become rules that run the same way for everyone, and each person sees only their part. Our page on [what AI reads from an Excel workbook and what it asks](https://llamapress.ai/can-ai-build-a-web-app-from-your-excel-workbook-what-it-reads-and-what-it-asks) explains the conversion in detail. The macros ChatGPT ignores are covered in [keeping your Excel formulas and VBA macros in a web app](https://llamapress.ai/can-you-keep-your-excel-formulas-and-vba-macros-when-you-convert-to-a-web-app). LlamaPress is the way to get that app, and the first step is the same upload you just learned. Go to [the Excel to app page](https://llamapress.ai/excel-to-app) and upload the workbook, .xlsx, .xls, .xlsm or .csv, free and with no credit card. Leonardo, our AI coding agent, reads the tabs, headers, formulas and dropdowns and builds a first working app. A human engineer reviews every build. The result is a standard Ruby on Rails app on a PostgreSQL database, and the code lives in your own GitHub repository. Hosted plans start at $9.99 a month with no per-user fees, as of this writing, on our [pricing page](https://llamapress.ai/pricing). Done-for-you build sprints start at $2,000, and an ongoing build partnership starts at $1,500 a month. The steel contractor RSB is the case I point people to. Their estimating workbook priced every job, and every estimator worked in a copy of it. We rebuilt it as a custom app in 6 weeks from kickoff to deployment. Estimates now go out 62% faster and each one costs 40% less to produce. We have converted 400+ spreadsheets the same way. If you want to compare the analysis tools first, read [the best AI to analyze Excel data](https://llamapress.ai/the-best-ai-to-analyze-excel-data-isnt-what-you-think-scaling-beyond-spreadsheets-in-2025). If the workbook runs your business, upload it to [the Excel to app page](https://llamapress.ai/excel-to-app) instead of to a chat. From Spreadsheet to Software ### Same upload. A working app instead of an answer. Upload the workbook that runs your process. Leonardo reads the tabs, formulas and dropdowns and builds a first working app. An engineer reviews it with you. Free, no credit card. [Upload It Here Instead](https://llamapress.ai/excel-to-app) [Talk to an Engineer](https://llamapress.ai/contact) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your workbook with you. ## Frequently Asked Questions ### Can you upload Excel to ChatGPT? Yes. ChatGPT accepts .xlsx, .xls and .csv uploads on the Free plan and every paid plan. Free users are limited to 3 file uploads a day, and paid users can upload up to 80 files every 3 hours. ChatGPT reads the data in a Python sandbox and returns summaries, tables, charts or a downloadable file. ### How do I upload an Excel file to ChatGPT? Open a chat at chatgpt.com or in the desktop app, click the plus button in the message box, and choose the workbook from your computer. You can also drag the file onto the chat window or attach it from Google Drive or OneDrive. Then type a prompt that names the tab, the columns and the answer you want. ### What is the file size limit for uploading Excel to ChatGPT? A spreadsheet or CSV file cannot exceed approximately 50MB, depending on the size of each row, as of this writing. The hard cap for any file is 512MB, and the 2 million token cap that applies to documents does not apply to spreadsheets. If a workbook is too large, split it by year or by tab. ### Can ChatGPT run Excel macros? No. ChatGPT reads the data in your sheets and does not execute VBA. OpenAI's own ChatGPT for Excel page says features such as VBA and macros may not be fully supported. If a macro drives your process, ask ChatGPT to explain the code, or convert the workbook into an app that runs the same logic. ### Does ChatGPT train on my uploaded Excel file? On Free, Plus and Pro, yes by default. OpenAI may use prompts, responses and uploaded files to improve its models unless you turn off "Improve the model for everyone" under Data Controls. ChatGPT Business and Enterprise do not train on workspace data unless the organization opts in. ### Can ChatGPT turn my Excel file into an app? No. ChatGPT can analyse the workbook and write code snippets, but it does not build, host or maintain a working app for your team. LlamaPress does. Upload the same workbook at llamapress.ai/excel-to-app and Leonardo, our AI coding agent, builds a Ruby on Rails app. A human engineer reviews it, with no per-user fees. ============================================================================== # How to Use AI Tokens Efficiently and Avoid Limits Source: https://llamapress.ai/how-to-use-ai-tokens-efficiently-and-stop-hitting-your-daily-limit ============================================================================== # How to Use AI Tokens Efficiently and Avoid Limits > A message costs a message, however long it is. Nine habits that cut your AI token and daily message use in half, written for people watching the counter drop. Source: https://llamapress.ai/how-to-use-ai-tokens-efficiently-and-stop-hitting-your-daily-limit | Updated: 2026-09-05 --- [LlamaPress Blog](https://llamapress.ai/blog) A message costs a message, however long it is. Nine habits that cut your AI token and daily message use in half, written for people watching the counter drop. [Back to all articles](https://llamapress.ai/blog) You are mid-build, the app is nearly right, and the counter is getting low. Maybe you have a dozen messages left and three things still broken. If that is where you are right now, skip to [the nine habits](https://llamapress.ai/how-to-use-ai-tokens-efficiently-and-stop-hitting-your-daily-limit#habits) and start with number five, because rolling back a bad change costs you nothing and arguing with it costs you four messages. For everyone else, here is the part almost nobody explains properly. When people say "use tokens efficiently" they usually mean writing shorter prompts. On a platform like LlamaPress that advice is backwards, and following it is one of the fastest ways to burn a day's allowance before lunch. I want to show you why, and then give you the habits our heaviest users actually run. ![An hourglass with sand running through it, standing in for a daily AI message allowance draining as you build](https://images.unsplash.com/photo-1518281361980-b26bfd556770?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxob3VyZ2xhc3MlMjBzYW5kJTIwdGltZXIlMjBkZXNrfGVufDB8fHx8MTc4ODA3NjQyNXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Nathan Dumlao](https://unsplash.com/@nate_dumlao?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/clear-hour-glass-5Hl5reICevY?utm_source=leonardo_rails_app&utm_medium=referral) ## Two Meters Are Running, and Only One of Them Is Tokens Confusion about this costs people real money, so it is worth ninety seconds. ### Meter one: your daily message allowance Every time you hit send in the Leo chat, your daily count goes up by one. That is the meter that stops you. It resets each day, it is tied to your account rather than to a single app, and the size of it depends on your plan. The current numbers live on the [pricing page](https://llamapress.ai/pricing) because they change, and [the plans wiki](https://llamapress.ai/wiki/plans-and-pricing) explains how the allowance relates to workspaces, which is a separate thing that trips people up. Here is the fact that matters more than any other sentence on this page. That counter goes up by exactly one per send, no matter how long your message is. "make it blue" costs one. A four hundred word brief describing an entire invoicing feature, with the validation rules and the edge cases and a note about what not to touch, also costs one. ### Meter two: the context window, which is where tokens actually live Tokens are how the underlying AI model measures the text it is holding in mind: your messages, its replies, the parts of your codebase it has read, all of it. That pool has a ceiling. In Leo you can watch it directly. Open the gear icon in your workspace, switch on the **Token Wheel**, and a small dial appears above the chat box showing how full the current conversation's context is. As of this writing it fills toward roughly 100K tokens, and [the tools guide](https://llamapress.ai/wiki/leo-tools-and-features) covers where it sits and what the numbers mean. This meter does not cut you off. It does something sneakier. As a conversation fills up, the earliest parts get summarized to make room, and Leo's grip on what you agreed forty messages ago starts to slip. You ask for a change, you get a change that ignores a decision you already made, and you spend three messages putting it back. The context meter never stops you directly. It drains the message meter for you. ## The Rule That Changes How You Type Put those two facts together and the strategy falls out. > A message costs a message. So the cheapest possible instruction is the longest one you can write that still describes a single coherent piece of work. Most people do the opposite instinctively, because chat feels like texting. You fire off a thought, read the reply, fire off another. Six exchanges later you have the feature you wanted and you have spent six messages on something that could have cost one. Multiply that across a build day and the difference between a careful operator and a chatty one is not ten percent. It is closer to half. ![An open notebook and pen on a wooden desk, ready for the short brief you write before sending one well specified message](https://images.unsplash.com/photo-1772396867158-e26d9e6256b2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx3cml0aW5nJTIwY2hlY2tsaXN0JTIwbm90ZWJvb2slMjBwbGFubmluZyUyMGRlc2t8ZW58MHwwfHx8MTc4ODA3NjQzMXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Gabriel Cox](https://unsplash.com/@pendulumphotographs?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/an-open-notebook-with-a-pen-on-a-wooden-desk-6e7F96dBlAA?utm_source=leonardo_rails_app&utm_medium=referral) ## Nine Habits That Cut Your Message Use Roughly in Half ### 1. Batch the asks that belong together Before you send, ask yourself what else on this same page or this same table you already know you want. Bundle it. Three related changes to the bid screen belong in one message. Three unrelated changes across three parts of the app do not, because a scattered instruction produces scattered work and you pay for the cleanup. The test is whether a competent contractor could do all of it in one sitting without asking you a question in the middle. If yes, it is one message. ### 2. Stop spending messages on "yes" "yes", "thanks", "ok do that", "perfect" each cost a full message. Every one of them. If Leo proposes something and you approve, put the approval and your next instruction in the same send: "Yes, do that, and while you are in there also add the client name to the page header." Two things, one message. The same logic applies to the Auto, Plan and Ask setting next to the send button. Ask Before Edits pauses for your confirmation on every change, which is excellent when you are doing something delicate and expensive when you are not. Reach for it deliberately, not as a default. ### 3. Say what finished looks like Vague requests are the single most expensive thing you can send, because they guarantee a correction round. "Fix the totals" invites a guess. "The line item total should sum quantity times unit rate, then apply the markup percentage from the job settings, and it should show two decimal places and a dollar sign" cannot really be misread. This is the same discipline that makes a good scope of works. You are already fluent in it from your day job. Bring it to the chat box. ### 4. Show it instead of describing it Describing a visual problem in words takes three or four rounds. Showing it takes one. The chat toolbar has a screenshot button and a screen recorder, and dragging an image straight into the message works too. For anything broken rather than ugly, use the little bug icon: it captures your app's JavaScript console and Rails server logs over roughly a ten second window and drops them into your message box. Click it first, then reproduce the error while it records. One screenshot plus one sentence beats five attempts at "no, the button below that one, on the right". If your app has an element you can point at, use the element selector and Leo receives the exact markup instead of your description of it. ### 5. Roll back instead of arguing This is the biggest saver on the list and the one people discover last. When a change goes wrong, the instinct is to talk Leo out of it. "No, undo that." "That is still wrong." "Put the old version back." You have now spent three messages and you are further from where you started, because the conversation is full of a mistake nobody wants. Open the History panel with the clock icon and click Discard on the unsaved changes banner. Your app returns to its last checkpoint. That costs zero messages, because it is a button, not a conversation. Then send one clean, better specified instruction. Three messages and a mess become one message and a fix. This only works if you have been saving checkpoints, which is the whole argument for the habit. Save one whenever the app is in a good state, and always before you ask for something big or risky. [The checkpoints guide](https://llamapress.ai/wiki/checkpoints-and-version-history) walks through it, and the two minutes it takes to read will pay for themselves this week. ### 6. Plan the big stuff before you build it For anything substantial, a whole new module, a change to how your data is structured, a workflow with several stages, spending one message on planning is the best trade available. Switch the dropdown next to send to **Plan Mode** and Leo will research your app and write out what it intends to do before touching anything. You read it, correct the one assumption that is wrong, and then it builds the right thing the first time. Ticket Mode goes a step further and produces a written ticket covering current behavior, desired behavior, and the questions it has. The questions are the valuable part. Every one you answer up front is a correction round you do not pay for later. ### 7. Start a fresh chat when the subject changes You finished the color scheme and now you want to add a customer table. New conversation. Hamburger menu, top left, plus button. A conversation carries everything said in it. Asking about your database inside a chat that spent forty messages on layout means Leo is working with a head full of margins and hex codes. It gets vaguer, it hedges, and you pay in re-explanation. A fresh chat on a fresh topic is sharper immediately, and it is free. ### 8. Keep an eye on the Token Wheel Turn it on once, in settings, and leave it on. When it climbs past about ninety percent, finish the thought you are on and start a new chat. If you see it drop suddenly from a high number, that is the conversation auto summarizing itself, which is your warning that the earliest details are getting fuzzy. Anything you agreed at the start of that chat is now worth restating in your next message rather than assuming it survived. ### 9. Save the prompts you keep retyping If you find yourself typing a variation of the same instruction every few days, put it in the Prompt Library. Retyping from memory produces a slightly different, slightly vaguer version each time, and vaguer means another correction round. A saved prompt is the same good specification every time. ## The Same Job, Six Messages Versus One This is a real pattern from an estimating build. On the left, how it usually goes. On the right, the same work specified once. | Six messages | One message | | --- | --- | | "make the bid page look better" | "On the bid page: tighten the layout so twenty line items fit without scrolling, and reduce the button sizes to match the rest of the app. Add a Total row at the bottom that sums quantity times unit rate for every line, then applies the markup percentage from the job settings, formatted as currency with two decimals. Add a Print button that produces a clean one page PDF with our logo in the header and the client name and date under it. Do not change the price book page." | | "no, the buttons are too big now" | | | "can you add a total at the bottom" | | | "the total is wrong, it needs to include markup" | | | "yes" | | | "now make it printable" | | The message on the right took about ninety seconds to write and it landed correctly the first time. That is a five message saving on one feature. Do that four times in a day and you have effectively doubled your allowance without changing plans. ## Why a Long Chat Quietly Costs You More There is a second reason to work this way, and it has nothing to do with the counter. Every message you send carries the conversation so far along with it. A short chat is a focused agent. A very long chat is an agent holding a growing pile of half relevant history, some of it decisions you later reversed, some of it code that no longer exists. Quality drops. It hedges, it forgets a constraint, it reintroduces a bug you fixed at message twelve. Operators who work in tight, well scoped conversations get better software out of the same tool. The message savings are almost a side effect. If your experience of AI building has been that it starts brilliant and gets frustrating around the two hour mark, this is very likely what you were feeling. ## If You Hit the Limit Every Single Day Everything above is worth doing regardless. But be honest about which problem you have. If you burn through your allowance on twenty exchanges of "no, the other one", the habits will fix it. If you burn through it doing real work, shipping features your team is waiting on and turning a spreadsheet process into software people are actually logging into, then this is a plan question rather than a discipline question. That is a good problem. It usually means the thing you are building has started to matter. Two practical options. Higher plans carry larger daily allowances, and the current tiers are on the [pricing page](https://llamapress.ai/pricing). Or email [support@llamapress.ai](mailto:support@llamapress.ai) and tell us what you are building and when you need it done. We can add message credits to an account, and if you are up against a deadline on something real we would rather help you land it than watch you stall at four in the afternoon. ### Running out of messages because you are building something real? That is usually the sign a spreadsheet is turning into software. Check the plan tiers, or send us a sentence about what you are building and we will get you unblocked today. [See Plans & Allowances](https://llamapress.ai/pricing) [Talk to a Human](https://llamapress.ai/contact) New to all of this and wondering what the ceiling looks like, the [Excel to App master guide](https://llamapress.ai/excel-to-app-master-guide) covers the whole path from uploading a spreadsheet to your team logging in. If you are still deciding whether custom software is the right move at all, [the case for building rather than configuring](https://llamapress.ai/why-an-ai-app-builder-is-the-only-way-to-replace-your-spreadsheet-in-2025) is the honest version of that argument. ## Frequently Asked Questions ### Does a longer message use more of my daily limit? No. Your daily message count goes up by exactly one each time you hit send, whatever the length of what you sent. This is why bundling several related instructions into one well specified message is the single most effective way to stretch your allowance. ### What is the difference between messages and tokens? Messages are the meter that stops you, and they reset daily. Tokens measure how much text the model is holding in mind during one conversation, which is the context window. Tokens never cut you off directly. A conversation that fills its context starts forgetting earlier decisions, which costs you correction messages, so the two meters end up connected. ### Do rollbacks, checkpoints or discarding changes cost messages? No. Saving a checkpoint, discarding unsaved changes and restoring an earlier version are all buttons in the History panel rather than chat messages, so they cost nothing against your daily count. When a change goes wrong, discarding and re-asking is almost always cheaper than talking the agent back out of it. ### When does my daily message limit reset? It resets each day, and it is tied to your account rather than to one app or workspace. If you see a counter about how many Leos or workspaces you have remaining, that is a different thing entirely and it is explained in [the plans and pricing wiki](https://llamapress.ai/wiki/plans-and-pricing). ### Why does the AI seem to get worse the longer I chat? Because the conversation's context fills up and the earliest parts get summarized to make room. Constraints you set at the beginning start to fade. Switch on the Token Wheel in settings, and when it passes about ninety percent, start a new chat. Starting a fresh conversation for each new topic keeps the agent sharp and is free. ### Can I get more messages if I am in the middle of something urgent? Yes. Higher plans come with larger daily allowances, and message credits can be added to an account. Email support@llamapress.ai with what you are building and your deadline. If you are consistently hitting the limit doing productive work, a plan change is usually cheaper than the time you lose waiting for the reset. For the short version of this page, written for people already building in Leo, see [Use Your Messages Efficiently](https://llamapress.ai/wiki/using-your-messages-efficiently) in the wiki. It covers starting a new chat per topic and running Leo on your own ChatGPT plan. ============================================================================== # HTML to Excel: Get a Web Table Back Into a Spreadsheet Source: https://llamapress.ai/html-to-excel-how-to-get-a-web-table-back-into-a-spreadsheet ============================================================================== # HTML to Excel: Get a Web Table Back Into a Spreadsheet > Four ways to convert HTML to Excel: paste the table, open the .htm file in Excel, use Data then From Web with Power Query, or an online converter. Which one to use, and when the round trip is the real problem. Source: https://llamapress.ai/html-to-excel-how-to-get-a-web-table-back-into-a-spreadsheet | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Four ways to convert HTML to Excel: paste the table, open the .htm file in Excel, use Data then From Web with Power Query, or an online converter. Which one to use, and when the round trip is the real problem. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 You do not need an online HTML to Excel converter. Excel reads HTML tables itself in three ways. Copy the table on the page and paste it into a sheet. Open the .htm or .html file with File then Open. Or use Data then From Web, which is Power Query, when the table lives at a URL and you want to refresh it later. Use the third one if you do this more than once. Use an online converter only when the data is not confidential, because you are uploading it to a stranger's server. In short - Paste is fastest for a one off table. Excel keeps the rows and columns and usually keeps the formatting too. - Data then From Web builds a refreshable query. Microsoft's Navigator "highlights each of the tables that are detected on that site". - Numbers arriving as text is the usual problem. Fix it once inside Power Query rather than every week by hand. - If you convert the same table every week, the copying is the problem, not the format. ## Method 1: copy and paste the table Select the table in your browser, copy it, click a cell in Excel and paste. Excel recognises the table structure and lays it out across rows and columns. Use Paste Special and pick text if you want the values without the web page's colours and fonts, which is usually cleaner. This works for a table you need once. It does not work when the table is paginated across ten pages, and it goes wrong when the page uses layout divs instead of a real table element, because then there is no grid for Excel to find. ## Method 2: open the HTML file in Excel If somebody sent you a .htm or .html file, Excel can open it directly. In Excel, choose File then Open, set the file type filter to all files, and pick the .html file. Excel renders the tables into sheets. Save the result as .xlsx straight away. If you keep working in the .html file, Excel keeps writing HTML, and you lose features that only exist in a real workbook. ## Method 3: Data then From Web, using Power Query This is the one worth learning. In Excel, open the Data ribbon and choose **From Web**. Paste the URL of the page. Excel fetches the page and opens the [Power Query Navigator](https://learn.microsoft.com/en-us/power-query/connectors/web/web), where you pick which table you want. Microsoft describes the helpful part: the Web View tab "lets you see the entire contents of the web page, and highlights each of the tables that are detected on that site". You tick the one you want. You then choose Load to drop it into a sheet, or Transform Data to clean it first. Cleaning it first is almost always right. In the Power Query editor you set each column's type, remove the junk rows, split a combined column and rename the headers. Those steps are saved with the query, so the next refresh applies them again automatically. Two practical notes from Microsoft's documentation. If the page needs a login, pick the matching authentication method when Excel asks. And if the table is not a real HTML table, there is an **Add table using examples** button in the Navigator, where you type a couple of sample values and Excel works out the pattern. ## Method 4: an online HTML to Excel converter These work. The question is whether you should use one. You are uploading the table to somebody else's server, and the tables people most want to convert are the ones with prices, salaries, patient counts or customer names in them. My rule is simple. If you would not email the file to a stranger, do not paste it into a free converter. Excel's own three methods above cover almost every case without the data leaving your machine. We take the same position on the forward direction: our [Excel to HTML converter](https://llamapress.ai/excel-to-html) runs entirely in your browser so the workbook is never uploaded. ## The four things that go wrong **Numbers arrive as text.** This is the most common one. HTML has no types, so 1,240 arrives as a string with a comma in it. In Power Query, set the column type and the locale once. Pasting means fixing it by hand every time. **Dates flip.** A table written as 03/04/2026 is March 4th to a US locale and April 3rd to most of the rest of the world. Set the column's locale explicitly in Power Query rather than trusting the default. **Merged header cells become blanks.** A header that spans three columns lands in one cell and leaves two empty. Promote the correct row to headers and rename the blank columns. **The page is not a table.** Many modern pages build grids from div elements. Excel finds nothing to import. Add table using examples is the way through, or ask whoever owns the system for a CSV export. ## If you do this every week, the format is not the problem Here is the pattern I see most. A system produces a report as a web page. Somebody copies it into Excel. They add three columns of their own. They send it around. Next week they do it again, and the three extra columns get re-typed. That loop is expensive in a way that does not show up anywhere. Nobody bills for it. It also breaks quietly, because the manual re-typing is where the errors enter. Ray Panko's audits of real operational spreadsheets at the University of Hawaii found errors in at least 86% of those examined, and the ones built by repeated copying are exactly the kind he was looking at. His review is at [arXiv 0802.3457](https://arxiv.org/abs/0802.3457). The fix is to stop moving the data. Put the extra columns in the same place the report comes from, so the report already has them. That usually means a small application rather than a spreadsheet. Our [Excel to app converter](https://llamapress.ai/excel-to-app) reads the workbook you have been maintaining and builds one, and [this piece on overwriting in shared files](https://llamapress.ai/people-keep-overwriting-each-other-in-our-inventory-spreadsheet-here-is-the-fix) covers the version of the problem where several people copy at once. ## Frequently asked questions ### What is the best HTM to Excel converter? Excel itself. File then Open reads a .htm or .html file directly, and Data then From Web reads one from a URL and can refresh it. A third party converter adds an upload step and a privacy question without adding capability. ### How do I use HTML in Excel? Excel does not render HTML inside a cell. A cell holding markup shows the markup as text. To display formatted content you import the table so it becomes rows and columns, using one of the three methods above. ### Can Excel refresh a web table automatically? A Power Query connection can be refreshed, which re-reads the page and re-applies your cleaning steps. You can refresh it manually or set the workbook to refresh on open. It needs the page to stay at the same URL with the same table structure. ### How do I go the other way, from Excel to HTML? Use our free [Excel to HTML converter](https://llamapress.ai/excel-to-html) for a clean table, [convert the spreadsheet into a website](https://llamapress.ai/excel-to-website) if it should be live and searchable, or read [why Excel's own Save As Web Page output is so large](https://llamapress.ai/why-excel-save-as-web-page-produces-messy-html-and-how-to-clean-it-up). ### Does Power Query work in Excel for the web? The full From Web experience described here is the desktop one. Microsoft's connector documentation lists prerequisites that are desktop components, so plan on using Excel for Windows or Mac for this. ### Stop moving the same table every week Upload the workbook you keep rebuilding. Our AI reads its tabs, columns and formulas and builds a working web app in about 60 seconds. Free to try. [Turn my spreadsheet into an app](https://llamapress.ai/excel-to-app) [Or into a public website](https://llamapress.ai/excel-to-website) Want us to build it for you? [Contact us](https://llamapress.ai/contact). Build sprints start at $2,000. Sources: Microsoft, [Power Query Web connector](https://learn.microsoft.com/en-us/power-query/connectors/web/web); R. Panko, [Spreadsheet Errors: What We Know. What We Think We Can Do](https://arxiv.org/abs/0802.3457), arXiv 0802.3457. Both checked September 2026. ============================================================================== # Inventory Spreadsheet Overwrites: The Real Fix Source: https://llamapress.ai/people-keep-overwriting-each-other-in-our-inventory-spreadsheet-here-is-the-fix ============================================================================== # Inventory Spreadsheet Overwrites: The Real Fix > Excel saves the whole file, so the last save wins and stock counts vanish. Four fixes you can do this week, and the inventory app that ends the problem. Source: https://llamapress.ai/people-keep-overwriting-each-other-in-our-inventory-spreadsheet-here-is-the-fix | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Excel saves the whole file, so the last save wins and stock counts vanish. Four fixes you can do this week, and the inventory app that ends the problem. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 Excel saves the whole file, so two people saving the same inventory spreadsheet cannot both win. The last save replaces the other person's counts, or the file locks and one person waits. Quick fixes buy you a few months. Move the file to OneDrive and turn on co-authoring, or move stock entry into a form that appends rows. The real fix is a database that saves one stock movement at a time and records who made the change. An inventory app built from your spreadsheet does exactly that, and Leonardo can build one from the file you already run. In short - Excel overwrites changes because every save writes the entire file, so the last person to save wins. - Co-authoring only works when the file lives on OneDrive or SharePoint Online, uses .xlsx, .xlsm or .xlsb, and everyone runs a supported version of Excel. - A form that appends rows stops most overwrites for stock-in and stock-out, but nobody can correct a row from the form. - Past about five users, no Excel fix gives you row-level locks, an audit trail, or a rule that blocks negative stock. - An inventory app stores each stock movement as a record and calculates quantity on hand, so nothing gets typed over. I build the software that turns spreadsheets into apps, and I created Leonardo, the coding agent we use to do it. Inventory spreadsheets cross my desk more than any other kind of file. The complaint is nearly always the same. Two people edited the file on the same afternoon, and one person's counts disappeared. I know where the overwrite happens and what stops it. ![Brown cardboard boxes stacked on white metal warehouse racks, the kind of stock a shared inventory spreadsheet tries to count](https://images.unsplash.com/photo-1587293852726-70cdb56c2866?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx3YXJlaG91c2UlMjBpbnZlbnRvcnklMjBzaGVsdmVzfGVufDB8fHx8MTc4ODM2MTg3Nnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [CHUTTERSNAP](https://unsplash.com/@chuttersnap?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/brown-cardboard-boxes-on-white-metal-rack-BNBA1h-NgdY?utm_source=leonardo_rails_app&utm_medium=referral) ## Why does Excel overwrite other people's changes? Excel treats your inventory spreadsheet as one file. When you press save, Excel writes the entire file to disk, every tab and every cell. If a coworker saved 30 seconds earlier, your save replaces their version. Neither of you gets a warning about the cells that changed. Every problem on this page follows from that one fact. The overwrite shows up in three ways. The first is the shared network drive. Someone opens Inventory.xlsx from \\\\server\\shared, and the next person sees "locked for editing by another user". Microsoft's documentation states that server paths like \\\\server\\folder do not support co-authoring, and the fix is to [put the file on OneDrive or SharePoint](https://support.microsoft.com/en-us/office/excel-file-is-locked-for-editing-6fa93887-2c2c-45f0-abcc-31b04aed68b3). The same page admits that the "another user" is sometimes you. An Excel session left open on a second computer locks everyone out. The second way is the emailed copy. Someone sends Inventory\_v7\_FINAL.xlsx to the warehouse lead on Monday. By Wednesday there are three versions with different counts in column F, and nobody can prove which count was right. The third way is co-authoring that does not work. Co-authoring lets several people edit one spreadsheet at once, under strict conditions. The file must sit on OneDrive, OneDrive for Business, or a SharePoint Online library. The format must be .xlsx, .xlsm, or .xlsb. AutoSave must be on. Every person must use Excel for Microsoft 365, Excel for the web, or the mobile apps. Microsoft's [co-authoring documentation](https://support.microsoft.com/en-us/office/collaborate-on-excel-workbooks-at-the-same-time-with-co-authoring-7152aa8b-b791-414c-a3bb-3024e46fb104) lists those conditions. If just one person uses an older version of Excel, everyone else gets the locked error. Some teams still turn on the old Shared Workbook feature. Microsoft describes Shared Workbooks as "an older feature" with "many limitations" that [has been replaced by co-authoring](https://support.microsoft.com/en-us/office/about-the-shared-workbook-feature-49b833c0-873b-48d8-8bf2-c1c59a628534). In a legacy shared workbook you cannot create tables, add data validation, or protect worksheets. Skip that feature for an inventory file. ## Four fixes you can do this week inside Excel These four changes take a day or less. Each one removes one cause of overwrites, and I list the limit of each. **1. Move the file to OneDrive or SharePoint and turn on co-authoring.** Delete the copy on the network drive. Put the spreadsheet in a SharePoint library the whole team can reach. Turn AutoSave on so changes appear within seconds. Check that every person opens the file in Excel for Microsoft 365 or in the browser. The limit: two people typing in the same cell still produce one value. There is no record of who changed the count in F14 from 40 to 4. **2. Move stock-in and stock-out entry to a form.** Build a Microsoft Form or a Google Form with four fields: SKU, quantity, direction, and reason. Microsoft Forms can open results in an Excel workbook on OneDrive with a live connection. Google Forms writes responses into a linked Google Sheet. Nobody edits shared cells anymore. Each movement becomes a new row with a timestamp. The limit: forms are one-way. A respondent cannot view or fix an existing row from the form. A wrong quantity stays wrong until someone opens the sheet. Quantity on hand still comes from a SUMIF formula in a cell someone can overwrite. **3. Protect the formula ranges.** Lock the cells that hold the SUMIF, the reorder math, and the SKU list. Leave the entry cells open for typing. Microsoft's [protect-a-worksheet page](https://support.microsoft.com/en-us/office/protect-a-worksheet-3179efdb-1285-4d49-a9c3-f4ca36276de6) is direct about the limit: "Worksheet level protection isn't intended as a security feature." Protection does not stop a person with the password, and the same lock applies to everyone. There is no way to give the warehouse team their rows and the sales team theirs. **4. One owner per tab, with a change-log column.** The warehouse lead owns the Movements tab. Purchasing owns the Reorder tab. Sales gets a read-only copy. Add two columns to every tab, "Changed by" and "Changed on", and ask people to fill them in. The limit: the log depends on discipline. The person making the change also writes the log entry. People who overwrite counts rarely remember doing it. The table below compares the four fixes with an inventory app on the five questions operators ask me. Prices are as of this writing. | | OneDrive co-authoring | Form intake | Protected ranges | One owner per tab | Inventory app | | --- | --- | --- | --- | --- | --- | | Stops overwrites? | Mostly. Same-cell edits still collide | Yes for new movements. Corrections still happen in the sheet | Only for locked cells | Only if people follow the rule | Yes. Each movement is its own record | | Audit trail? | No per-cell log of who changed a count | Partial. New rows carry a timestamp, later edits do not | No | Typed by hand, so incomplete | Yes. Who, when, why, on every change | | Works on phones? | Yes, with the Excel app and a Microsoft 365 subscription | Yes. Forms are phone friendly | Same as the file | Same as the file | Yes. Browser page with a scan button | | Stops negative stock? | No | No | No | No | Yes. The rule rejects the movement | | Cost | Included with Microsoft 365 | Included with Microsoft 365, or free with Google Forms | Free | Free, plus one person's time | Hosting from $9.99/mo, no per-user fees. Done-for-you builds from $2,000 | Co-authoring requirements come from [Microsoft's co-authoring page](https://support.microsoft.com/en-us/office/collaborate-on-excel-workbooks-at-the-same-time-with-co-authoring-7152aa8b-b791-414c-a3bb-3024e46fb104). LlamaPress prices are on our [pricing page](https://llamapress.ai/pricing) and [services page](https://llamapress.ai/services). ## Why do those fixes stop working at five or more users? Past about five people, the problem changes from overwrites to trust. The counts in the sheet stop matching the shelves, and nobody can say when the two drifted apart. Five things cause the drift, and no Excel fix addresses any of them. There is no row-level lock. Excel and Google Sheets protect ranges, and Google can restrict a range to named people. Neither tool can say "the warehouse team may edit rows for their location only." There is no audit trail. An old version of the file shows the sheet changed. An old version does not show that Sam changed SKU 4410 from 120 to 12 at 3:40 pm. There is no rule that stops negative stock. A cell will happily hold negative 8. There is no phone workflow. Excel mobile edits go through the same whole-file model. There are no reorder alerts unless someone opens the sheet and looks for red cells. The symptom that tells me a team has hit this wall is the monthly full count. The team closes for half a day, counts every shelf, and retypes the whole quantity column. The count resets the spreadsheet to the truth for about a week. Then the drift starts again. If you recognize that cycle, the older post on [the basic inventory spreadsheet trap](https://llamapress.ai/the-basic-inventory-spreadsheet-trap-scaling-your-operations-in-2025) covers the wider set of problems. ## What does an inventory app do differently? An inventory app never stores quantity on hand as a typed number. The app stores each stock movement as a record: the SKU, the quantity, the direction, the person, the time, and the reason. Quantity on hand is calculated from the movements every time someone looks. When two people receive stock at the same second, the database writes two rows. Both survive. The reasons are a fixed list: receipt, sale, transfer, return, adjustment, damage. An adjustment above a set quantity can require an approval from the owner. The app rejects any movement that would take a SKU below zero. The message shows the person what the app thinks is on the shelf. The rule runs in the database, so the rule applies from every screen. Roles replace the honor system. The warehouse team can record movements and adjust counts at their own location. Sales can look up quantity on hand and cannot change a value. Each person signs in with their own login, so the audit trail names a person. The [guide to adding logins and permissions to a spreadsheet process](https://llamapress.ai/how-to-add-user-logins-and-permissions-to-a-spreadsheet-based-process) shows how those roles get defined. Reorder points live on each SKU. The app compares quantity on hand to the minimum every night and emails purchasing a list. On the floor, the receiving page is a browser page with a big quantity field and a camera button that reads the barcode. The [phone-first version of this build](https://llamapress.ai/how-to-turn-an-excel-spreadsheet-into-an-app-your-field-team-can-use-on-their-phones) covers what that page needs for gloves and bad lighting. If your inventory feeds customer orders, the same movements model powers [custom order tracking software](https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth), so one build can cover both. ## How to move without a big project Three steps get most teams over without a long rollout. First, export the current sheet as opening balances. The SKU list becomes the products table. The quantity column becomes one opening movement per SKU, dated the day you cut over. Nobody has to clean up the old history, because the opening movement is the starting point. Second, run both for two weeks. The warehouse records every movement in the app and in the sheet. At the end of each day, compare the two totals. Every difference is a bug in the app or a habit in the sheet, so find both before the cutover. Third, cut over on a Monday morning. Make the spreadsheet read-only that day and never edit the file again. ## When a three-person team should keep co-authoring Some teams should stop at fix number one. If three people touch the file, at one location, with a few hundred SKUs, co-authoring on OneDrive is enough. If nobody needs to enter stock from a phone, and a wrong count costs you an hour instead of a lost order, keep the spreadsheet. If you are on the fence, the [rebuild or keep Excel decision guide](https://llamapress.ai/should-you-rebuild-your-excel-workbook-as-software-or-keep-using-excel) gives you the thresholds I use. ## How Leonardo builds the inventory app from your spreadsheet Your spreadsheet already describes the app. The SKU tab is the products table. The Movements or Log tab, if you have one, is the stock movements table. The quantity column with the SUMIF is the calculation the app runs. The reorder tab is the alert rule. When you [upload your inventory spreadsheet](https://llamapress.ai/excel-to-app), Leonardo reads those tabs and proposes the data model. Leonardo then asks about the parts a sheet cannot express, such as who may adjust and what happens below zero. The output is a standard Ruby on Rails app on a PostgreSQL database. The code lands in your own GitHub repository from the first commit. A human engineer reviews every build before you rely on it. We have converted more than 400 spreadsheets into apps this way. The first upload at [/excel-to-app](https://llamapress.ai/excel-to-app) is free and needs no credit card, so you see the proposed model before you decide anything. From Spreadsheet to Software ### Stop losing counts to the last save. Upload the inventory spreadsheet your team fights over. Leonardo turns it into an app where every movement is a record and every change has a name on it. [Convert My Inventory Sheet](https://llamapress.ai/excel-to-app) [See Order Tracking Apps](https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your workbook with you. ## Frequently Asked Questions ### We run our whole inventory on an Excel file and people keep overwriting each other. What should we do? This week, move the Excel file to OneDrive or SharePoint, turn on AutoSave, and move stock entry into a form that appends rows. Those two steps stop most overwrites for a team of three to five. Past that size, replace the Excel file with an inventory app that stores each stock movement as a record and calculates quantity on hand. You can upload the Excel file at /excel-to-app and see the proposed app before you commit. ### Why does Excel say the file is locked for editing by another user? Excel shows the locked-for-editing message when the file sits in a location that cannot co-author, such as a network drive path like \\\\server\\folder. Excel also shows the message when one person on the team uses an older version of Excel that does not support co-authoring. Microsoft notes the "another user" is sometimes you, through a second open session. Moving the file to OneDrive or SharePoint Online removes the lock for most teams. ### Can multiple people edit an Excel inventory file at the same time? Multiple people can edit an Excel inventory file at once through co-authoring. Co-authoring requires the file to be on OneDrive, OneDrive for Business, or SharePoint Online, saved as .xlsx, .xlsm, or .xlsb. AutoSave must be on and every user must be on Excel for Microsoft 365 or the web. Co-authoring still treats the inventory file as one document, so two people editing the same cell produce one value with no record of the change. ### Is Google Sheets better than Excel for a shared inventory? Google Sheets handles simultaneous editing well and lets you restrict a protected range to named people, which Excel worksheet protection cannot do. Google Sheets still has no per-user row permissions, and Google states that sheet protection should not be used as a security measure. For a shared inventory, Google Sheets removes the file-lock problem and keeps the audit-trail and negative-stock problems. ### How do I track who changed what in a spreadsheet? In a spreadsheet, the practical options are a change-log column that people fill in by hand, or a form that stamps each new row. Neither method records edits made after the row exists, and neither records the old value next to the new one. An inventory app records who, when, why, the old quantity, and the new quantity on every movement without anyone typing a log entry. ### What is the best way to manage inventory without a spreadsheet? The best way to manage inventory without a spreadsheet is a database-backed app built on a stock movements model. Each receipt, sale, transfer, and adjustment is a record with a person and a time attached, and quantity on hand is calculated from those records. Add roles so warehouse staff adjust and sales staff view, plus reorder points per SKU. LlamaPress builds that app from the inventory spreadsheet you already use. ============================================================================== # Invoice Fraud: When the Vendor Email Is Real Source: https://llamapress.ai/the-invoice-email-that-passed-every-security-check ============================================================================== # Invoice Fraud: When the Vendor Email Is Real > A supplier's real accounting mailbox sent us a malicious PDF. SPF, DKIM and DMARC all passed. Here is the full teardown and how to check the next one. Source: https://llamapress.ai/the-invoice-email-that-passed-every-security-check | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) A supplier's real accounting mailbox sent us a malicious PDF. SPF, DKIM and DMARC all passed. Here is the full teardown and how to check the next one. [Back to all articles](https://llamapress.ai/blog) On 24 August 2026 we received an email from a supplier's accounting department. It announced a payment and attached a statement. It was malicious. Every automated check that is supposed to catch this passed it. This page is the full teardown: what the email was, what the attachment did, what the attacker wanted, and the four checks that actually work. We have removed the supplier's name. They are a victim here, and we told them before we told anyone else. ## The Email Five sentences, no attachment name in the body, no amount, no invoice number, and a reference code in the subject line that looks official and means nothing. Subject: Processing Update- [Company] 82RC94B9 "Greetings, The ach request was submitted for processing on 08/24/2026. The applicable statement have also been included with this message for recordkeeping. Thank you." Two things in that text are wrong, and both are the kind of wrong that a spam filter cannot see. The sender is French. The message announces an "ACH" payment. ACH is the United States bank clearing network. A French supplier sends a SEPA transfer, and their accounting software says "virement". The word is evidence that whoever typed this was not the person whose name is on the mailbox. The grammar is also broken. "The applicable statement have also been included" is not a sentence a native speaker writes, and it is not a sentence an accounting system generates either. ## Why Every Automated Check Passed It Standard advice for spotting a fake invoice is to check the sender's address for a lookalike domain. That advice did nothing here. The address was correct, because the email came from the real mailbox. The three email authentication standards agreed: spf=pass dkim=pass dmarc=pass Received: from ...FRAP264.PROD.OUTLOOK.COM with mapi id 15.21.0339.012 SPF, DKIM and DMARC all answer one question: did this message really come from the domain it claims? Here the honest answer was yes. They are not designed to answer the question that mattered, which is whether the person at the keyboard was supposed to be there. The last line is the one that settles it. The message left through Microsoft's France South relay, and the internal hop records `with mapi id`. MAPI is the protocol an Outlook client uses when a signed-in user presses send. Nobody forged this. Somebody logged in to the supplier's accounting mailbox and sent it. One more detail told us how big the send was. The "To" field was empty. We were blind-copied. That is what a bulk send to a stolen address book looks like. ## What Was Actually in the PDF The attachment was named after the company and weighed 22,912 bytes. We pulled it out of the mailbox without opening it and inflated every compressed stream inside it. It contained no JavaScript. No `/OpenAction`, no `/Launch`, no embedded file, no auto-run behaviour of any kind. Modern readers block most of that anyway, and this attacker did not bother trying. What it contained was one link annotation, pointing at an Amazon S3 bucket named after the supplier: hxxps://[company][.]s3[.]us-east-2[.]amazonaws[.]com/[Company] SHA-256 of the PDF: bea2c5206eae278b1a3a29ca5c98235c 2fd799ce55a479b9baa545e1de89d33d The PDF was a door, not a weapon. Attackers put the link inside a document because a link in the body of an email gets scanned and a link buried in an attachment often does not. The choice of Amazon S3 is deliberate for the same reason. Mail gateways and web filters score a URL partly on the reputation of its domain, and `amazonaws.com` has about as much reputation as a domain can have. A bucket costs nothing, takes a minute to create, and is disposable. ## Reading the Takedown By the time we checked, the link was dead. The exact error matters: AllAccessDisabled All access to this object has been disabled A bucket with the wrong permissions returns `AccessDenied`. `AllAccessDisabled` is different. It is what Amazon returns after its abuse team suspends a bucket. The page was not misconfigured. It was taken down. ## What Was Behind the Link We cannot prove what that page served, and we will not pretend otherwise. It was gone before anyone scanned it. There is no record of it on urlscan.io and none in the Internet Archive. The shape of the campaign says what it almost certainly was. The attacker already controlled one Microsoft 365 mailbox and was using it to reach that mailbox's contacts. That is a self-propagating credential campaign. Every mailbox you steal becomes the next sender, and the link is how you recruit the next one. Worth knowing: S3 cannot receive a password. Static hosting serves files and accepts no form submissions. So the page either sent typed credentials onward to a different server, or redirected straight to the real phishing kit somewhere else. S3 was the doorway a second time. ## Multi-Factor Authentication Would Probably Not Have Stopped It This is the part most security training still gets wrong, so it is worth being precise. Current phishing kits are adversary-in-the-middle. The kit sits between you and the genuine Microsoft login page and relays every request live. The login screens you see are real Microsoft screens, because they are real Microsoft screens, passed through the attacker's server. You type your password. You approve the push notification on your phone. Microsoft, seeing a correct password and a correct second factor, issues a valid session cookie. The kit copies that cookie on its way past. The attacker then replays your session cookie and is inside the mailbox with no password prompt and no second factor, because they are reusing a session that already passed both. This is, in all likelihood, exactly how the supplier's own mailbox was taken. Codes and push prompts do not stop this. Passkeys and hardware security keys do, because the credential is cryptographically bound to the real domain, and a proxy in the middle cannot present that domain. ## The Part That Costs Money A stolen mailbox is not the goal. It is the tool. Once inside, the sequence is consistent: 1. Add a hidden inbox rule that deletes replies and security warnings, so the real owner never sees the complaints piling up. 2. Register an additional authentication method, so a password reset does not evict them. 3. Copy the address book and send the next wave. That wave is what reached us. 4. Wait inside a genuine invoice thread. When a real invoice goes out, resend it with the bank details changed. Step four is where the loss happens, and it is why this attack targets the operations and finance side of a 10 to 200 person company rather than its IT department. The message arrives inside a thread you started, from the address you have always used, about an invoice you were already expecting. There is nothing to notice. ## Four Checks That Actually Work Sender address and spelling are not enough on their own. These are. 1. **Does the payment language match the country?** A European supplier writing "ACH", or a US supplier writing "BACS", is writing about a banking system they do not use. 2. **Is the "To" field empty?** Real remittance advice is addressed to you. A blind-copied blast is addressed to a list. 3. **Does it name the specific transaction?** Genuine accounting mail carries your company name, an invoice number and an amount, because it is generated from a record. Vagueness is the tell. 4. **Have the bank details changed?** Treat any change to payment details as hostile until a human at the supplier confirms it on a phone number you already had. Not a number from the email. ## What We Did About It We did not reply to the sender. An attacker reads that mailbox, and a reply confirms the address is live. We found the supplier's public contact address and their managing director's name from company records, and wrote to them the same morning with the Message-ID, the file hash, the defanged link, and a containment checklist for their IT provider: reset the password, revoke every active session, enforce multi-factor authentication, inspect the inbox rules, pull the sign-in audit log, and warn their own customers about invoice fraud. We offered them the original message and attachment, and we did not attach the malicious PDF, because their mail filter would have quarantined the whole warning. We are not naming them. They were breached, they did nothing careless that we can see, and publishing the name of a small family business during an active incident helps nobody except the next person searching for a reason not to trust them. ## Why Email Is the Wrong Place to Approve a Payment Every step of this attack depends on the same underlying condition. The payment decision lives in an inbox and a spreadsheet. When supplier bank details live in a column of a shared workbook, nothing records who changed one, or when, or what it was before. When approval is a reply saying "yes, pay it", there is no second pair of eyes and no trail. When the vendor list is a tab that three people edit, a changed account number looks exactly like every other edit. Software with a real workflow removes most of the attack surface without anyone having to be vigilant. Vendor bank details become a locked field with a change history. A change requires a second approver. Any payment above a threshold routes to someone who did not enter it. None of that is exotic. It is the ordinary shape of a system of record, and it is the difference between an attack that has to fool one distracted person and an attack that has to fool a process. This is the work we do at [LlamaPress](https://llamapress.ai/custom-business-software-overview): taking the spreadsheet a business already runs on and turning it into a database-backed application with the approvals, permissions and history the spreadsheet never had. If you want a wider look at where the manual steps and the risk sit in your own operation first, that is what an [AI audit](https://llamapress.ai/ai-audit-playbook) produces. ### Move the Approval Out of the Inbox If your vendor list, payment approvals or invoice tracking live in a spreadsheet, we can show you what the same process looks like with a change history and a second approver built in. [Talk to us](https://llamapress.ai/contact) Written by Kody Kendall. Published 24 August 2026. The indicators on this page are shared so other recipients of the same campaign can match them. The affected supplier was notified before publication. ============================================================================== # Keep Excel Formulas and VBA Macros in a Web App? Source: https://llamapress.ai/can-you-keep-your-excel-formulas-and-vba-macros-when-you-convert-to-a-web-app ============================================================================== # Keep Excel Formulas and VBA Macros in a Web App? > Formulas survive as database rules with one answer for everyone. VBA does not run in a browser, so macros become app actions and jobs. A formula-by-formula map. Source: https://llamapress.ai/can-you-keep-your-excel-formulas-and-vba-macros-when-you-convert-to-a-web-app | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Formulas survive as database rules with one answer for everyone. VBA does not run in a browser, so macros become app actions and jobs. A formula-by-formula map. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 Your Excel formulas survive the move to a web app. What your VBA macros do survives too, though the VBA code itself does not. A web app rewrites each formula as a database rule or a calculation in code, so the result is the same for every user. VBA does not run in a web app, and Microsoft's own Excel for the web does not run VBA either. So each macro is rebuilt as an app action, a form screen, or a background job that does the same work. You keep the behavior and drop the fragile code. In short - Every common Excel formula has a web app equivalent: a VLOOKUP becomes a link between two tables, and a SUMIFS becomes a report. - VBA never runs in a browser. Microsoft's Excel for the web opens .xlsm files but does not run the macros inside them. - Each macro is rebuilt as a button, a form, a scheduled job, or a notification that does the same work in tested code. - Circular references, Goal Seek, and formulas that point at other open workbooks do not translate and need a redesign. - The rebuilt logic runs on the server, so nobody can overwrite a formula by accident, and every rule has a test. I build the software behind LlamaPress, and I created Leonardo, the coding agent that reads the workbooks people upload. A large part of my week is spent reading formulas and macro modules that someone else wrote years ago. The same twenty or so patterns show up in almost every file. This page lists those patterns and says what each one becomes. The older argument for why teams leave VBA at all lives on our page about [converting Excel VBA to web applications](https://llamapress.ai/beyond-the-spreadsheet-converting-excel-vba-to-web-applications). This page is the map. ![Laptop screen showing a spreadsheet with formulas and charts, the kind of workbook a web app rebuilds as database rules](https://images.unsplash.com/photo-1504868584819-f8e8b4b6d7e3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzcHJlYWRzaGVldCUyMGZvcm11bGFzJTIwbGFwdG9wfGVufDB8fHx8MTc4ODM2MTg5OHww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Lukas Blazek](https://unsplash.com/@goumbik?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/turned-on-black-and-grey-laptop-computer-mcSDtbWXUZU?utm_source=leonardo_rails_app&utm_medium=referral) Rebuilding a workbook whose whole point is one calculated number? That is a narrower job with its own traps, covered in [converting an Excel calculator to a web page](https://llamapress.ai/convert-an-excel-calculator-to-a-web-page). ## Do Excel formulas work in a web app? No formula runs as a formula inside a web app. Every formula becomes code or a database rule that produces the same answer. The move is a translation, and most of the translations are routine. A VLOOKUP asks a question: which row in another table matches this key? A database answers that question with a relationship between two tables. A SUMIFS asks a different question: what is the total of the rows that match these conditions? A database answers with an aggregate query and shows the total on a report. The table below maps the formulas I see most often to what they become. | Excel formula | What it becomes in a web app | What changes for your team | | --- | --- | --- | | VLOOKUP, XLOOKUP, INDEX/MATCH | A relationship between two tables (a job belongs to a customer) | The lookup cannot return #N/A. The app stores the link and blocks deleting a customer that still has jobs. | | SUMIFS, COUNTIFS, AVERAGEIFS | An aggregate query shown on a report or dashboard screen | Totals update the moment a row changes and can be filtered by any field. No helper columns. | | IF, IFS, nested IF | A validation rule or a status rule on the record | IF(margin<0.15,"Review","OK") becomes a status the app sets and a rule that blocks saving below the floor. | | EDATE, NETWORKDAYS, DATEDIF, TODAY | Date functions in code, plus a holiday table you can edit | Weekend and holiday rules live in one place instead of in every cell that needs a due date. | | Named ranges and rate tables | A settings or rates table with its own admin screen | An admin edits a rate on a screen. The change applies everywhere and is logged with a name and a time. | | Data validation dropdown lists | Dropdowns backed by a table | Adding an option is a new row. Old records keep the option they were saved with. | | Conditional formatting | Status badges and row colors set by a rule | Red rows for overdue items look the same on a phone as on a desktop. | | Pivot tables | Saved reports with filters and grouping | The report runs on live data every time. Nobody has to press Refresh. | | Dynamic arrays, LET, LAMBDA | Functions in code with automated tests | A test proves the function returns the right answer for known inputs before anyone uses it. | | INDIRECT, OFFSET, volatile tricks | A redesign | These usually exist to fake a database feature. The app has the real feature, so the trick goes away. | Formula errors are the quiet reason this translation is worth doing. Ray Panko's research at the University of Hawaii is summarized in his 2008 paper [Spreadsheet Errors: What We Know](https://arxiv.org/abs/0802.3457). Field audits since 1997 found errors in 91% of the operational spreadsheets they checked. Panko also reports cell error rates of 1% to 2% in whole spreadsheets. A rule in code runs once, in one place, with a test. A formula runs in every cell someone copied it into, and one of those copies is usually wrong. ## How to convert Excel VBA to a web application You do not port the VBA. You list what each macro does, then rebuild each one as an app feature that does the same work. Microsoft's documentation on [using a workbook in the browser](https://support.microsoft.com/en-us/office/differences-between-using-a-workbook-in-the-browser-and-in-excel-f0dc28ed-b85d-4e1d-be6d-5878005db3b6) says a macro-enabled workbook "can be opened but macros do not run in a browser window." A web app is a browser program, so the same rule applies to any app you build. Microsoft's own answer for browser automation is [Office Scripts](https://learn.microsoft.com/en-us/office/dev/scripts/overview/excel), written in TypeScript. The documentation describes a recorder that turns "manual steps into reusable scripts." You run a script "with a button in Excel or combine it with Power Automate." As of this writing, the same page says script scheduling is temporarily disabled inside Office Scripts, and it points you to Power Automate for schedules. Office Scripts is a fair choice if the goal is one button inside one shared workbook. A script still lives inside a file that many people open, so the overwrite and sharing problems stay. The table below maps the macro patterns I see most often to the app features that replace them. | VBA macro pattern | What it becomes in a web app | What changes for your team | | --- | --- | --- | | Button macro (a Sub tied to a form control) | An action button on the record screen | "Generate Quote" runs on the server and logs who pressed it and when. | | Loop over rows (For Each cell In range) | A background job | A 10,000-row loop finishes on the server in seconds. Nobody watches an hourglass or loses a frozen Excel window. | | Workbook\_Open, Auto\_Open | A scheduled job | The job runs at 6:00 am whether or not anyone opens a file that day. | | UserForm | A form screen with validation | Required fields, dropdowns, and error messages are built in. The form works on a phone. | | Outlook automation (CreateObject Outlook.Application) | Email and SMS notifications sent by the app | Messages send from the server. Nothing depends on one person's Outlook being open. | | Export to PDF or CSV | An export feature | One click, one template, and the file is stored with the record it came from. | | Copy between workbooks | An import screen or an integration | The app imports the supplier file or calls the other system directly. No paste step. | Two things change when a macro becomes an app feature. First, the logic runs on the server, so a user cannot break the feature by deleting a column or renaming a tab. Second, the feature has a test. When we rebuild a "Generate Quote" button, we write a test that feeds in a known job and checks the quote total. That test runs every time the code changes. A macro has no equivalent. Our page on [the hidden cost of Excel macros](https://llamapress.ai/the-hidden-cost-of-excel-macros-why-automation-is-stalling-your-growth) covers the business case for removing them in the first place. ## What does not translate, and what to do instead Five patterns need a redesign rather than a translation. Plan for them before the build starts. **Circular references with iterative calculation.** An app computes values in a defined order. A circular formula has no order. The fix is to make the loop explicit in code: repeat the calculation until the change is below a tolerance, then stop. In most workbooks I read, the circle was an accident, and the math can be restructured to remove it. **Goal Seek and Solver.** These are interactive tools a person drives by hand. The app rebuilds the one or two inputs people vary as a "what if" screen with sliders or fields. A true optimization model with dozens of constraints should stay in Excel, at least for the first version. **Hidden helper columns.** A hidden column is logic nobody wrote down. Unhide every column before you inventory the workbook. Most helper columns become a named calculation in code. Many disappear because the database can filter and join without them. **Formulas that reference other open workbooks.** A reference like [Rates2024.xlsx]Sheet1!B7 breaks the day someone moves the file. In an app, that link becomes a rates table or a scheduled import from the other file. **Macros in PERSONAL.XLSB.** These live on one PC and run only for one person. Nobody else can see them. Copy them out of that machine before the conversion starts, or the logic is lost when the PC is replaced. ![Computer screen showing lines of program code, where rebuilt spreadsheet formulas and macros end up running](https://images.unsplash.com/photo-1515879218367-8466d910aaa4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxwcm9ncmFtbWVyJTIwY29kZSUyMHNjcmVlbnxlbnwwfHx8fDE3ODgzNjE5MDF8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Chris Ried](https://unsplash.com/@cdr6934?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-computer-screen-with-a-bunch-of-code-on-it-ieic5Tq8YMk?utm_source=leonardo_rails_app&utm_medium=referral) ## How do I inventory my formulas and macros before I convert? Spend one afternoon and produce two lists: every rule the workbook enforces and every macro it runs. The inventory takes four steps, and none of them need a developer. First, press Ctrl+\` on each tab to show formulas instead of values. Screenshot or print each tab in that view. Second, open the Name Manager with Ctrl+F3 and copy every named range and what it points to. Named ranges are where rate tables hide. Third, press Alt+F11 to open the VBA editor and expand each module in the Project pane. Write one line per module that says what the module does and what starts it. A line like "Module2: builds the quote PDF, runs from the Print button on Quote tab" is enough. Fourth, use File, Info, Inspect Workbook to find hidden sheets and hidden names, then Data, Edit Links to find every external workbook. That inventory is the first thing to hand over in a conversion. Our page on [how to turn an Excel spreadsheet into a web app step by step](https://llamapress.ai/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch) shows where the inventory fits in the full process. Our page on [what the AI reads and what it asks](https://llamapress.ai/can-ai-build-a-web-app-from-your-excel-workbook-what-it-reads-and-what-it-asks) says which parts of that inventory an AI can find on its own. ## Can I keep the model in Excel and move only the process? Yes, and for some teams that is the right call. A pricing model that one expert owns, reviews, and changes every quarter can stay in Excel. The app then imports the model's outputs, a rates table or a price list, and runs the daily process around them. Quotes, approvals, job tracking, and reports live in the app. The expert keeps a tool they trust. Nobody else touches the model. Panko's 91% figure is an argument for moving the calculations that many people touch every day. The figure is a weaker argument for moving a model one careful person owns. Leave the model in Excel when the math changes often and one expert is the only user. A model whose outputs are a short list of numbers can stay there as well. Move the logic into the app when several people run the same calculation many times a day, or when a wrong answer costs real money. Our page on [whether to rebuild your workbook as software or keep using Excel](https://llamapress.ai/should-you-rebuild-your-excel-workbook-as-software-or-keep-using-excel) walks through that decision in full. ## How does Leonardo handle formulas and macros? Leonardo, our AI coding agent, reads the formulas as the spec. When you [upload a workbook](https://llamapress.ai/excel-to-app), Leonardo reads every tab, every formula, every named range, and every data validation list. A VLOOKUP into a Customers tab becomes a customers table and a link from each job. A SUMIFS on a Jobs tab becomes a report. An IF chain on a margin cell becomes a validation rule with a test. VBA modules are read the same way. Leonardo writes down what each macro does. Then Leonardo rebuilds each one as a button, a form, a job, or a notification. The code is Ruby on Rails on a PostgreSQL database, and the code lands in your own GitHub repository. A human engineer reviews every build and checks the rules with you before anyone relies on the app. We then run the app and the workbook side by side for a period you choose. You enter the same job in both and compare the totals. Any gap gets fixed before the workbook is retired. We have converted more than 400 spreadsheets this way. For a steel contractor's estimating workbook, that process took six weeks from kickoff to deployment. The team's estimates came out 62% faster at a 40% lower cost per estimate. The formulas in that workbook were the hard part, and every one of them survived. [Upload your workbook](https://llamapress.ai/excel-to-app) and Leonardo will show you the first tables and rules within minutes, free, with no card required. From Spreadsheet to Software ### Keep the logic. Lose the fragile file. Upload the workbook with the formulas and macros you rely on. Leonardo rebuilds the rules as tested code in an app you own outright. [Convert My Workbook](https://llamapress.ai/excel-to-app) [Ask About My Macros](https://llamapress.ai/contact) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your workbook with you. ## Frequently Asked Questions ### Can I keep my Excel formulas and VBA macros if I convert to a web app? You keep the logic behind both. Excel formulas are rewritten as database rules and calculations in code that give every user the same answer. VBA macros do not run in a web app. Each macro is rebuilt as an app action, a form screen, or a background job that does the same work. The behavior survives and the fragile code is retired. ### Do Excel formulas work in a web app? Excel formulas do not run as formulas in a web app. Each formula becomes an equivalent in code or in the database. A VLOOKUP becomes a relationship between two tables, a SUMIFS becomes a report, and an IF chain becomes a validation rule. The results match the workbook, and the rule runs in one place instead of in every copied cell. ### Can VBA run in a web browser? VBA cannot run in a web browser. Microsoft's own documentation states that a macro-enabled workbook can be opened in the browser but the macros do not run. Microsoft's browser automation is Office Scripts, written in TypeScript, which runs from a button in Excel or through Power Automate. A web app rebuilds each macro as a feature in server-side code. ### How do you convert Excel VBA to a web application? You inventory every macro first, with one line per module that says what the module does and what starts it. Then each macro pattern is rebuilt as an app feature. A button macro becomes an action button and a row loop becomes a background job. A UserForm becomes a form screen, and Outlook automation becomes an email or SMS notification. Each feature gets a test that proves the output matches the workbook. ### Will the numbers match my spreadsheet after conversion? The numbers should match to the cent, and the parallel run proves it. The app and the workbook run side by side for a period you choose. Your team enters the same job in both and compares the totals. Any gap is a bug that gets fixed before the workbook is retired, and a test is added so the gap cannot come back. ### What happens to my pivot tables? Pivot tables become saved reports in the app. Each report groups and filters live data the same way the pivot did, and the report is current every time someone opens it. Nobody needs to press Refresh or rebuild the pivot after adding rows. Reports can also be limited to the users who should see them. ### Can you convert an Excel spreadsheet with macros to a web application? Yes. An Excel spreadsheet with macros converts to a web application in two passes. The tables, formulas and validation lists become the database and its rules. Each macro is then rebuilt as an app feature that does the same job: a button action, a form screen, a scheduled job or a notification. The workbook stays available for the parallel run until every total matches. ============================================================================== # Legacy Application Modernization Without a Rewrite Source: https://llamapress.ai/legacy-application-modernization-without-a-yearlong-rewrite ============================================================================== # Legacy Application Modernization Without a Rewrite > What legacy application modernization costs in risk: rehost, wrap, or rebuild one workflow at a time. Why the yearlong rewrite fails and what to do instead. Source: https://llamapress.ai/legacy-application-modernization-without-a-yearlong-rewrite | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) What legacy application modernization costs in risk: rehost, wrap, or rebuild one workflow at a time. Why the yearlong rewrite fails and what to do instead. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Application modernization means updating old software so your business can change it again. You have four strategies, ranked here from lowest risk to highest. Rehost the application on current servers. Wrap it with integrations so other tools can reach its data. Rebuild it one workflow at a time while the old system keeps running. Rewrite the whole thing from scratch. The full rewrite belongs at the bottom of the list, and most companies never need it. The word legacy scares owners into overbuying. A legacy system is any software your business depends on but can no longer safely change. Vendors hear that phrase and quote a yearlong rewrite. I spent years at McKinsey watching large companies fund exactly those programs. The pattern repeats at every size: the rewrite runs long, the old system runs on, and the business pays for both. This guide covers legacy application modernization for companies of 10 to 200 people, where the stakes are your own money. ![An old desktop computer on a desk, the kind of aging system legacy modernization replaces](https://images.unsplash.com/photo-1711346105258-bbb9136592d7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHxvbGQlMjBvZmZpY2UlMjBjb21wdXRlciUyMGxlZ2FjeSUyMHNvZnR3YXJlfGVufDB8fHx8MTc4Nzg5NjcyOHww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Yuheng Ouyang](https://unsplash.com/@govizlora?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/an-old-computer-sitting-on-top-of-a-desk-okgMMgpliIk?utm_source=leonardo_rails_app&utm_medium=referral) ## Your Legacy System Is Probably Not a Mainframe Most writing about legacy systems describes banks and airlines. That is why the advice feels useless. In mid-market companies, legacy looks ordinary. It is the Rails or PHP app a vendor built in 2014 and then abandoned. It is the Access database on one office PC that three departments query. It is the VBA workbook only one employee can edit. Often it is a plain spreadsheet that quietly became the company database. That last one is the most common legacy system we modernize. The test for legacy status has nothing to do with age. Ask two questions of any system. Can we change it without fear? Can more than one person maintain it? Two nos mean you have a legacy system, even if the software is five years old. The cost shows up as workarounds: retyping data between tools, exporting to Excel for every report, and telling customers a feature is impossible. ## An Application Modernization Strategy, Ranked by Risk Legacy modernization has four standard strategies. Consultants dress them up with framework names. The useful version is a risk ladder. Start at the top, and only climb down when the cheaper rung fails a specific test. A written application modernization strategy can be one page: the rung you chose, the test it passed, and the first workflow you will touch. ### 1. Rehost: move it, do not touch it Rehosting moves the application to current servers without changing the code. This fixes exactly one class of problem: the hardware or hosting is dying. An app on an office PC, an expired server contract, or an operating system past its support date all qualify. Rehosting takes days, and the risk is low. It buys time. It does nothing about the software itself, so treat it as the first step, never the plan. ### 2. Wrap it with integrations Wrapping leaves the old system in place and connects it to the tools around it. A small integration reads its data on a schedule and pushes records where they need to go. The old app keeps doing its job. Your team stops retyping. This works when the system's core logic is still correct and the pain is isolation. It fails when the system itself blocks the business, because a wrapper cannot add features the core lacks. ### 3. Rebuild one workflow at a time This is the strangler-fig pattern: build the replacement in pieces alongside the old system. Pick the single most painful workflow. Build a small database-backed app for that workflow alone, sync the data both need, and move the team over. The old system keeps handling everything else. Each following month, another workflow moves. The old system shrinks until switching it off is boring. Every step is small enough to reverse, which is what makes this the default choice for legacy system modernization. ### 4. Full rewrite, last and rarely A full rewrite replaces the whole system in one project and one cutover. It is the highest-risk rung, and the one vendors quote first because it bills the most. A rewrite makes sense in narrow cases: the old data model is wrong at the foundation, or a compliance deadline forces a hard date. Even then, insist on staged delivery. If a vendor proposes a rewrite before mapping your workflows, get a second opinion. ## Why the Yearlong Rewrite Fails The big-bang rewrite fails for reasons that have nothing to do with the vendor's talent. The spec is written from memory instead of from the running system, so it misses the edge cases the old system quietly handles. The business keeps changing during the year, so the target moves. Nothing ships until everything ships, so nobody catches mistakes until month ten. Then comes cutover weekend, when every user moves at once and every surprise arrives at once. Meanwhile the old system still runs, because the business cannot stop. You pay to maintain the legacy system and to build its replacement at the same time. As of this writing, traditional rewrite quotes for a real business application commonly reach six figures. The rebuild-one-workflow route exists precisely to break that shape: something useful ships in the first weeks, and the spec for each piece is the old system's actual behavior. The same rule applies to platform programmes; see [what a digital transformation platform is and whether a mid-market business needs one](https://llamapress.ai/what-is-a-digital-transformation-platform-and-does-a-mid-market-business-need-one). ## What Application Modernization Services Should Include Application modernization services vary wildly in what they actually deliver. Whether the label says legacy modernization services or app modernization consulting, the engagement should include five concrete things. First, an assessment that maps your workflows and data before anyone quotes a strategy. Second, a data migration plan with a rehearsal run, because your history is the asset being protected. Third, a period where old and new run side by side with data kept in sync. Fourth, code and data ownership in your name, in writing. Fifth, a maintenance quote for after launch, so the new system does not become the next legacy system. One more filter saves the most money. Ask the vendor which rung of the risk ladder they recommend and why. A firm that only sells rewrites will find that every problem needs one. Legacy software modernization done well usually means a smaller project than the one you were quoted. ## How AI-Built Modernization Changes the Math The strangler-fig route was always the safest strategy. It used to be the slowest, because rebuilding each workflow meant weeks of hand-written code. AI-built development changes that step. An AI coding agent, supervised by engineers, rebuilds a single workflow as a database-backed web app in days. The spec is whatever your legacy system already is: for a VBA workbook or a spreadsheet, the file itself is the requirements document. That is our approach at LlamaPress, and the economics land in the low thousands of dollars per workflow, working software in days. This is how it works in practice. We keep one field-service company's 2019-era Rails application running in production, with its live paying users, while newer tools are built alongside it. Nobody paused the business. Nobody scheduled a cutover weekend. The old app does less each quarter, and the new tools do more. Honesty about the boundaries: if your problem is dying hardware, a rehost by your IT provider is enough, and you do not need us. If a mainstream SaaS tool matches your process closely, buy it. Our work starts where the process is yours and the system holding it has stopped moving. If the legacy system is an Excel or VBA workbook, start with our guide to [converting Excel VBA to web applications](https://llamapress.ai/beyond-the-spreadsheet-converting-excel-vba-to-web-applications) or upload the file at [Excel to App](https://llamapress.ai/excel-to-app). If you are weighing a modernization against buying new software outright, read [when off-the-shelf stops fitting](https://llamapress.ai/custom-software-development-when-off-the-shelf-stops-fitting). And our [services page](https://llamapress.ai/services) explains how an engagement runs. One Workflow at a Time ### Modernize without stopping the business. Tell us what system you run today and where it hurts. We will map it to a rung on the risk ladder and show you a working replacement for the first workflow before you commit to anything. [Assess your system](https://llamapress.ai/services) [See how a build starts](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What is application modernization? Application modernization is the work of updating old software so a business can safely change it again. The four standard strategies, from lowest risk to highest, are rehosting it on current servers, wrapping it with integrations, rebuilding it one workflow at a time, and rewriting it from scratch. The right strategy depends on whether the pain is the hosting, the isolation, or the system itself. ### What counts as a legacy system? A legacy system is any software a business depends on but can no longer safely change. Age alone does not decide it. An abandoned web app, an Access database, a VBA workbook, and a spreadsheet used as the company database all qualify. The tests are simple: can you change it without fear, and can more than one person maintain it. ### Do I have to rewrite my legacy application from scratch? Usually not. A full rewrite is the highest-risk strategy and should be the last one considered. Most mid-market systems respond better to a staged rebuild: replace the most painful workflow first, keep the old system running for everything else, and repeat. Reserve the full rewrite for a broken data model or a hard compliance deadline. ### How long does legacy application modernization take? Traditional rewrite projects commonly run a year or more, as of this writing. A staged, AI-built approach delivers the first working workflow in days and moves the rest over a period of weeks to months, at the pace your team can absorb. The old system keeps running throughout, so there is no cutover weekend. ### How much does application modernization cost? The strategy sets the price. A rehost is a small IT project. Traditional full rewrites of a real business application commonly reach six figures, as of this writing. AI-built staged rebuilds usually land in the low thousands of dollars per workflow, because an AI coding agent writes the code while engineers supervise. Always get the maintenance cost quoted alongside the build cost. ============================================================================== # MVP Development That Ships a Working Product in Days Source: https://llamapress.ai/mvp-development-that-ships-a-working-product-in-days ============================================================================== # MVP Development That Ships a Working Product in Days > MVP development used to take months and a $50,000 quote. See what MVP services deliver now: working software in days, a real database, and code you own. Source: https://llamapress.ai/mvp-development-that-ships-a-working-product-in-days | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) MVP development used to take months and a $50,000 quote. See what MVP services deliver now: working software in days, a real database, and code you own. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent An MVP, short for minimum viable product, is the smallest version of a product that real users can actually use. MVP development is the work of building that first version. For years the standard offer was a three to six month agency project, often quoted at $50,000 or more as of this writing. That standard is gone. AI coding agents now produce working, database-backed software in days. So the bar for any MVP today is simple: real screens, a real database, real logins, and code in a repository you own, within the first week. I build AI coding agents for a living, and I watch our agent Leonardo build first versions every week. This guide covers what changed, what MVP development services should hand you now, how the process works with an AI agent, and how to scope a first version that teaches you something. It also covers the cases where you should not pay anyone at all yet. ## What an MVP Is, in One Paragraph The point of an MVP is learning per dollar. You have a guess: a certain kind of user will use a certain workflow and pay for the result. The MVP is the cheapest artifact that tests the guess with real behavior. That framing settles most scoping arguments before they start. MVP product development is a race to the first honest signal from a real user. Anything that delays the signal, a settings page, a second user role, a reporting module, is not part of version one. ## Why the 3-to-6-Month, $50k MVP Model Is Dead Traditional MVP software development follows a fixed script. Discovery workshops, then wireframes, then polished design mockups, then sprint-by-sprint coding, then a launch. Agencies still sell the script. As of this writing, typical quotes for that kind of build run from $50,000 well into six figures, over three to six months. The price was defensible when human hands typed every line. Human coding time was the scarce input, so process grew around protecting it. The script has a deeper flaw than cost. Learning starts when a real user touches the product. In the old model, that moment sits at the very end, behind every expensive step. You spend months and most of your budget before the first honest signal arrives. If the signal says your guess was wrong, the money is already gone. An MVP that ships in days inverts the order. You learn first, while changes are still cheap. AI coding agents removed the scarce input. An agent writes application code in minutes, against a real database, in a mainstream framework. The expensive part of MVP development is now the thinking: which workflow, which data, which user. The typing is nearly free. Any pricing model that still bills months of typing is billing you for a constraint that no longer exists. I wrote a longer, framework-by-framework version of this argument in [our honest answer to how hard it is to build an app](https://llamapress.ai/how-hard-is-it-to-build-an-app-an-honest-answer). ## What MVP Development Services Should Deliver Now The label on the service does not matter much. MVP development services, MVP software development services, and product studios all compete for the same job. Judge them on the deliverable. In 2026 a first version should include five things. First, working software in days. A calendar full of workshops before any build is a warning sign. Second, a real relational database, meaning tables that link together, holding real records from day one. A prototype that stores nothing teaches you less than a spreadsheet. Third, real logins and hosting, so an actual user outside your team can sign in this week. Fourth, code in a mainstream framework, synced to a repository you control. Your first engineer, or your next vendor, should inherit a normal codebase. Fifth, a named human behind the AI. Agents get stuck. Someone accountable should be on the hook when one does. Here is how LlamaPress answers the same checklist. Leonardo, our AI coding agent, builds your product screen by screen while you watch in the browser. He writes Ruby on Rails against a real Postgres database, with logins and hosting included. The code can sync to your own GitHub account. Our engineers stand behind him on the genuinely hard problems. If your product idea already lives in a spreadsheet, [Leonardo converts that spreadsheet into the first working version](https://llamapress.ai/excel-to-app), because every tab is a table in waiting. ## Working Software Beats Mockups Mockups answer one question: does the screen look right. Working software answers the question that decides your company: will anyone use this. The two feel similar in a demo and behave nothing alike in the field. A user clicking a mockup performs politeness. A user typing a real customer record into a real form performs a decision. Even a proof of concept, one step short of a database-backed MVP, changes the conversation. A COO at an agency we work with saw the difference the first time he prototyped with Leonardo: > "I really experienced the power of a POC... it actually spits out real HTML files and behaves like it's tied to a database when it's really not." That prototype took a conversation from abstract to concrete in an afternoon. The next step made the database real, so records persist and multiple users share them. This is the honest ladder of MVP development: a proof of concept earns belief, the database-backed version earns usage, and usage earns your next decision. Skipping to a six-month build skips both rungs of learning. ![Team scopes the first version of an MVP at a whiteboard](https://images.unsplash.com/photo-1557804506-669a67965ba0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzdGFydHVwJTIwdGVhbSUyMHdoaXRlYm9hcmQlMjBwcm9kdWN0JTIwcGxhbm5pbmd8ZW58MHx8fHwxNzg3ODk2NzI2fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Austin Distel](https://unsplash.com/@austindistel?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/three-men-sitting-while-using-laptops-and-watching-man-beside-whiteboard-wD1LRb9OeEo?utm_source=leonardo_rails_app&utm_medium=referral) ## The MVP Development Process With an AI Agent The MVP development process with an agent has five steps. The steps are the same ones agencies use. The clock on each step is different. Step one: start from the workflow you already run. The best spec is the spreadsheet, checklist, or email chain your process lives in today. Bring the artifact, not a feature list. Step two: the agent builds real screens against a real database while you watch. The first working version of a single workflow usually appears the same day. Step three: you correct in plain English. You say the quote needs a margin column, or the status should have four stages. A correction round takes minutes, so you run dozens of rounds instead of three formal revisions. Step four: real users sign in, on managed hosting, with the code syncing to your repository. Days after the start, someone outside your team is creating real records. Step five: you iterate from usage. The next build list comes from what users did, and from what they quietly refused to do. Notice what is missing. There is no mockup phase, because the working screen is cheaper than the picture of the screen. There is no handoff, because nothing gets thrown away between prototype and product. The prototype grows up in place. ## Scoping Version One: One Workflow, Not Ten Features The most common MVP mistake is scoping by feature list. Ten features, each shallow, none finished, nothing anyone can adopt. Scope by workflow instead. Pick the single loop that hurts most: quote goes out, order comes in, client gets onboarded. Build that loop end to end, with real data, until one person can run their day inside it. The cut rule is strict. If a feature does not help your first ten users complete that one workflow, it waits. Reporting waits. The admin panel waits. The second user role usually waits. This feels uncomfortable and works. A finished single workflow gets adopted, and adoption gives you the evidence to fund everything you cut. Speed makes the discipline cheaper too. When the next feature is days away instead of a quarter away, deferring it costs you little. ## When a No-Code Prototype Is Enough Sometimes you should not hire anyone yet, including us. If you are testing pure demand, a landing page with a signup form is the correct MVP. If you need to convince stakeholders that a screen flow makes sense, a Figma clickthrough or a no-code prototype is fast and cheap, and it is enough. If your product is one static calculator or a simple form, a no-code tool will carry you for a long time. The line is shared data. The moment two or more users must work from the same records, with logins, roles, and history, you need a database-backed build. That moment is where prototypes stall and where the platform-versus-code decision starts to matter. I compared the no-code route and the AI-built route in detail in [our guide to building a SaaS product without coding](https://llamapress.ai/how-to-build-a-saas-product-without-coding). And when you are ready to scope, [our services team will scope the first version with you](https://llamapress.ai/services) and quote a flat number before anything is built. ### Get a working first version this week Bring the workflow, the spreadsheet, or the idea. Leonardo builds a database-backed first version you can put in front of real users in days. The code lands in your repo, and human engineers stand behind the build. [Scope Your MVP](https://llamapress.ai/services) [Watch Leonardo Build](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What does MVP mean in software development? MVP stands for minimum viable product. In software development, an MVP is the smallest version of a product that real users can use for a real task. The purpose is learning. You ship the leanest working version, watch what real users do with it, and let their behavior decide what gets built next. An MVP is working software with a database and logins. A mockup or a slide deck is not an MVP, because nobody can use it. ### How much does MVP development cost in 2026? Traditional agencies still quote roughly $50,000 to $150,000 or more for an MVP as of this writing. AI-built MVP development runs from low four figures to low five figures for a working first version, depending on scope. No-code platforms cost less up front and charge a subscription for the life of the product. Be suspicious of any exact quote that arrives before someone has understood your workflow. ### How long should it take to build an MVP? With an AI coding agent, a single-workflow first version typically takes days, and real users can sign in within the first week. With a traditional agency process, plan on three to six months. The timeline gap matters more than the price gap. Learning starts when a real user touches the product, so a shorter build means the evidence arrives while your budget is still intact. ### Do I need an MVP development consultant? Usually no. The core scoping decision is picking one workflow and cutting everything that does not serve it. A good build partner does that scoping with you as part of the engagement, in a conversation measured in hours. A standalone MVP development consultant makes sense in special cases, such as a regulated industry or a complex integration landscape. If a consultant proposes a long strategy phase before any working software exists, that is the old model wearing a new badge. ### Should my MVP be a mobile app or a web app? Start with a web app in almost every case. A web app runs on every phone through the browser, ships in days, and updates instantly for every user. Native MVP app development for the iOS and Android app stores costs more, adds review delays, and slows the learning loop that the MVP exists to run. We build web-first for exactly that reason. Prove the workflow on the web. Consider native apps later, once real usage justifies them. ============================================================================== # Open Source Ruby on Rails Apps Worth Reading Source: https://llamapress.ai/open-source-ruby-on-rails-apps-worth-reading-and-what-they-teach-you ============================================================================== # Open Source Ruby on Rails Apps Worth Reading > Discourse, Mastodon, Huginn and Chatwoot are the open source Rails apps worth reading. Seventeen repos with license, star count, activity and one lesson each. Source: https://llamapress.ai/open-source-ruby-on-rails-apps-worth-reading-and-what-they-teach-you | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) # Open source Ruby on Rails apps worth reading, and what each one teaches Discourse, Mastodon, Huginn and Chatwoot are the open source Rails apps worth reading. Seventeen repos with license, star count, activity and one lesson each. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 The open source Ruby on Rails apps worth reading are Mastodon, Huginn, Discourse and Chatwoot at the large end, and Lobsters, Publify and Alchemy CMS at the small end. All seven pushed code within days of 2026-09-04, the date every number here was read from the GitHub API. Licenses vary more than most lists admit. Huginn is MIT, Discourse is GPL-2.0, Mastodon is AGPL-3.0, and Chatwoot carries a license GitHub could not classify. Two projects still on old lists are finished: hotwire-rails is archived, and Sharetribe calls itself unmaintained. In short - Four large, active Rails codebases: Mastodon (AGPL-3.0, 50,265 stars), Huginn (MIT, 49,895), Discourse (GPL-2.0, 47,790) and Chatwoot (36,497). Counts read on 2026-09-04. - Two projects on most list pages are finished. hotwired/hotwire-rails is archived, last pushed 2021-12-20. Sharetribe Go calls itself unmaintained. - The license decides what a fork costs. MIT and BSD-3-Clause let your changes stay private. GPL-2.0 and AGPL-3.0 do not, and AGPL-3.0 reaches software you run as a service. - Reading a Rails app teaches you the shape of one. Running one for your business is a standing job. LlamaPress does that part. I read other people's Rails code most weeks. Every customer app we ship runs on Ruby on Rails, and we operate a fleet of production Rails apps for our customers. We also maintain LlamaBot, an open source Ruby on Rails AI framework, with the llama\_bot\_rails gem. The list below carries license and activity date, because a list without those columns is how people clone a dead repo. ## What are the best open source Ruby on Rails apps? The best open source Ruby on Rails apps to read are Mastodon, Huginn, Discourse and Chatwoot, in that order by GitHub stars on 2026-09-04. All four pushed code that day. Each is a complete product rather than a demo, which is the reason to read them. The bugs, migrations and compromises are real. The largest Rails codebase on GitHub is Rails itself: [rails/rails](https://github.com/rails/rails), MIT licensed, 58,752 stars on 2026-09-04. Reading the framework is a different exercise from reading an app built on it. Scale is also a poor guide to where to start, because a 47,000-star product is a hard first clone. ![A screen full of source code, the kind of open source Ruby on Rails repository a developer clones and reads](https://images.unsplash.com/photo-1505685296765-3a2736de412f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxvcGVuJTIwc291cmNlJTIwY29kZSUyMHJlcG9zaXRvcnklMjBzY3JlZW58ZW58MHx8fHwxNzg4NTU0NTA5fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Nick Karvounis](https://unsplash.com/@nickkarvounis?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-computer-screen-with-a-bunch-of-text-on-it-TkZYCXmrKK4?utm_source=leonardo_rails_app&utm_medium=referral) ## Which open source Rails projects should you bookmark? Every value below was read from the GitHub API on 2026-09-04. Counts and push dates drift, so treat them as a dated snapshot. Two rows are marked because those projects are finished. Five say "read the LICENSE file" because GitHub's detector could not classify what it found. | Project | What it is | License | Stars | Last push | Repo | | --- | --- | --- | --- | --- | --- | | Mastodon | Self-hosted, federated microblogging community | AGPL-3.0 | 50,265 | 2026-09-04 | [mastodon/mastodon](https://github.com/mastodon/mastodon) | | Huginn | Agents that monitor and act on your behalf | MIT | 49,895 | 2026-09-04 | [huginn/huginn](https://github.com/huginn/huginn) | | Discourse | Platform for community discussion | GPL-2.0 | 47,790 | 2026-09-04 | [discourse/discourse](https://github.com/discourse/discourse) | | Chatwoot | Live chat, email support and omni-channel desk | Read the LICENSE file | 36,497 | 2026-09-04 | [chatwoot/chatwoot](https://github.com/chatwoot/chatwoot) | | Forem | Community platform, the software behind dev.to | AGPL-3.0 | 22,774 | 2026-09-04 | [forem/forem](https://github.com/forem/forem) | | Spree | Ecommerce platform for B2B, marketplace and enterprise | BSD-3-Clause | 15,666 | 2026-09-04 | [spree/spree](https://github.com/spree/spree) | | Diaspora | Privacy-aware, distributed social network | AGPL-3.0 | 13,650 | 2026-07-28 | [diaspora/diaspora](https://github.com/diaspora/diaspora) | | Canvas LMS | Learning management system by Instructure | AGPL-3.0 | 6,794 | 2026-04-30 | [instructure/canvas-lms](https://github.com/instructure/canvas-lms) | | Redmine | Project management and issue tracking. The GitHub repo is a mirror of the official SVN source | Read the LICENSE file | 6,029 | 2026-09-04 | [redmine/redmine](https://github.com/redmine/redmine) | | Solidus | Ecommerce framework | BSD-3-Clause | 5,324 | 2026-09-04 | [solidusio/solidus](https://github.com/solidusio/solidus) | | Lobsters | Link aggregation and discussion community software | Read the LICENSE file | 4,822 | 2026-09-04 | [lobsters/lobsters](https://github.com/lobsters/lobsters) | | Publify | Self-hosted web publishing platform | MIT | 1,854 | 2026-08-31 | [publify/publify](https://github.com/publify/publify) | | Open Food Network | Connects suppliers, distributors and consumers trading local produce | AGPL-3.0 | 1,278 | 2026-09-04 | [openfoodfoundation/openfoodnetwork](https://github.com/openfoodfoundation/openfoodnetwork) | | Alchemy CMS | Content management system built on Rails | BSD-3-Clause | 906 | 2026-09-04 | [AlchemyCMS/alchemy\_cms](https://github.com/AlchemyCMS/alchemy_cms) | | LlamaBot | Our own open source Rails AI framework, paired with the llama\_bot\_rails gem | AGPL-3.0 on GitHub | 240 | 2026-09-01 | [KodyKendall/LlamaBot](https://github.com/KodyKendall/LlamaBot) | | Sharetribe Go (dormant) | Marketplace software. The repo's own description says it is no longer actively maintained | Read the LICENSE file | 2,445 | 2026-05-11 | [sharetribe/sharetribe](https://github.com/sharetribe/sharetribe) | | hotwire-rails (archived) | Bridge gem for adding Hotwire to older Rails apps. Modern Rails ships Turbo and Stimulus without it | MIT | 963 | 2021-12-20 | [hotwired/hotwire-rails](https://github.com/hotwired/hotwire-rails) | Source for every row: the GitHub REST API, read 2026-09-04. The LlamaBot row carries a nuance worth copying. The llama\_bot\_rails gem is MIT on [RubyGems](https://rubygems.org/gems/llama_bot_rails), while the repo it ships from is AGPL-3.0. A package and its repo can differ. ## What does each of the big Rails codebases teach you? Each project below teaches one thing a tutorial cannot. Open the repo in your browser, go to the file named, and read it before cloning. Every path here is a Rails convention. ### Discourse: read config/routes.rb first Discourse is GPL-2.0, had 47,790 stars on 2026-09-04, and pushed code that day. Open `config/routes.rb` first. In an app that size the routes file is the product map: every screen, every API endpoint, every admin surface, in one list. Ten minutes there tells you more about scope than an hour in the models. ### Mastodon: read db/schema.rb, then read the license twice Mastodon is AGPL-3.0, had 50,265 stars, and pushed code on 2026-09-04. Open `db/schema.rb` and count the tables. The schema is the honest version of the feature list. The license lesson matters more to a business. AGPL-3.0 extends copyleft to network use, so hosting a modified copy for other people can trigger obligations GPL-2.0 would not. ### Huginn: read the Gemfile Huginn is MIT, had 49,895 stars, and pushed code on 2026-09-04. It exists to "create agents that monitor and act on your behalf." Most of its work runs on a schedule rather than in a web request. Open the `Gemfile` and find the job-processing gem. A Gemfile is a bill of materials, and it predicts your operations burden before you run a migration. ### Chatwoot: read the LICENSE file before you plan anything Chatwoot had 36,497 stars on 2026-09-04 and pushed code that day, so it is very much alive. GitHub's license detector could not classify its LICENSE file, which is why this page names no license for it. Popularity is not evidence of a permissive license. A star count says nothing about whether you may ship a modified copy. ### Redmine: check where the real source lives Redmine had 6,029 stars on 2026-09-04, and its GitHub repo describes itself as a mirror of the official Redmine SVN source. Before you plan a patch or a tracked fork, find out where the project's source of truth lives. A mirror accepts your clone and ignores your pull request. The rest of the table rewards narrower reading. Spree and Solidus are BSD-3-Clause ecommerce projects that both pushed code on 2026-09-04. Read their models back to back to see how much of that domain every store shares. Forem, at 22,774 stars, is the software behind dev.to. ## Which small Rails codebases should you read first? Start with a codebase you can hold in your head, which rules out all four big apps above. Discourse, Mastodon, Chatwoot and Forem show how a Rails app is organised at scale. They make poor first clones, because your first day goes on setup. Four smaller full apps are better first reads. Alchemy CMS (BSD-3-Clause, 906 stars), Open Food Network (AGPL-3.0, 1,278), Publify (MIT, 1,854) and Lobsters (4,822, license unclassified) all pushed code within a week of 2026-09-04. Two libraries are worth reading even sooner. Devise (MIT, 24,357 stars, pushed 2026-06-22) is the authentication solution most Rails apps use. Pundit (MIT, 8,521 stars, pushed 2026-08-28) calls itself "minimal authorization through OO design and pure Ruby classes," and reads end to end in an evening. Calling those good first reads is my assessment, not their claim. ## How do you run one of these Rails apps locally? Clone the repo and follow its README, because the setup command differs by project and guessing wastes an afternoon. 1. **Read the README end to end.** Setup lives there, and so do the parts that will stop you, such as a required search engine or an API key. 2. **Check the Ruby version the project pins.** Ruby's current major series is 4.0, with 4.0.6 released 2026-07-14. The 3.4 branch is maintained in parallel, and 3.3 and 3.2 get security-only patches, per the [Ruby releases page](https://www.ruby-lang.org/en/downloads/releases/). 3. **Check the Rails version in the Gemfile.** Current stable is the 8.1 series, with 8.1.3.1 released 2026-07-29. Rails 7.2, from August 2024, made Ruby 3.1 the minimum. 4. **Use the project's Docker or dev container setup if it ships one.** Rails 7.2 added dev container files to new apps by default, so a recent project likely has one. 5. **Expect a database and possibly Redis.** Rails 8 ships Solid Cache, Solid Queue and Solid Cable, designed to drop Redis as a required dependency. Older apps here predate that. 6. **Point it at throwaway data.** Never run an unfamiliar codebase against a database you care about. Starting from zero instead of someone else's repo? Our companion page walks the path in order: [how to create a website with Ruby on Rails](https://llamapress.ai/how-to-create-a-website-with-ruby-on-rails-from-first-command-to-live-site). ## What do MIT, AGPL and a dual CE and EE license mean for a business? The license controls whether you may keep your changes private. None of what follows is legal advice, and a commercial fork deserves a lawyer. - **MIT.** Do almost anything, including selling a modified version, as long as you keep the copyright notice. Your changes stay private. - **BSD-3-Clause.** The same permissive deal, plus a clause saying you may not use the project's name to endorse your product. MIT with a marketing restriction. - **GPL-2.0.** If you distribute a modified version, you must offer its source under the same terms. Running a modified copy for your own staff is generally not distribution. - **AGPL-3.0.** Extends that obligation to people who use the software over a network, closing the hosting gap GPL-2.0 leaves open. Offering a modified copy as a service is the case it targets. - **Unclassified, shown by GitHub as NOASSERTION.** GitHub found a LICENSE file and could not match it to a standard license. The project is not unlicensed. Read the file. - **Dual Community Edition and Enterprise Edition.** GitLab is the example most people know. Its Community Edition is open source and its Enterprise Edition adds proprietary features, so "GitLab is open source" is true of one edition only. Its [engineering handbook](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/modular_monolith/) calls the product a "large monolithic application, using Ruby on Rails framework." A permissive license makes a fork cheap on day one. It says nothing about day four hundred, when your copy and upstream have drifted and every patch is merged by hand. ## What is the Rails sample method? There is no Rails method called sample. `Array#sample` is plain Ruby, and it returns one random element from an array, or several with `sample(n)`. Docs: the [Ruby core docs for Array](https://docs.ruby-lang.org/en/3.4/Array.html#method-i-sample). Pulling a random database record is a different job, and Rails has no named method for it. The standard idiom wraps the raw SQL in `Arel.sql`, which marks it known-safe: ``` Model.order(Arel.sql("RANDOM()")).first # PostgreSQL or SQLite Model.order(Arel.sql("RAND()")).first # MySQL or MariaDB Model.offset(rand(Model.count)).first # database-agnostic ``` All three get slow on a large table. The first two force a full-table sort. The third runs a full count then skips, and can race with inserts. On a big table, sample from a random primary-key range instead. ## Where reading an open source Rails app stops helping Reading these codebases teaches you how a Rails app is shaped. It does not hand you one that runs your business. **A fork is a permanent job.** The day you change a line, you own the merge. Each Rails minor release gets bug fixes for one year, and security fixes for two years, after the first release in its series. That is the official [Rails Maintenance Policy](https://guides.rubyonrails.org/maintenance_policy.html). Longer version: [Rails upgrade and maintenance](https://llamapress.ai/rails-upgrade-and-maintenance-for-apps-you-cannot-afford-to-lose). **A dormant project transfers the whole burden to you.** Sharetribe Go and hotwire-rails are in the table so you can see what that looks like. **Some of this page is the wrong advice for you.** If you want to learn Rails, read the code and ignore the rest. If you have a Rails developer on staff, you do not need a vendor. If a project in the table does the job, install it unmodified. **Most business software is not on this list at all.** Nobody has open-sourced your estimating process, your job tracker or your onboarding checklist, because those are specific to how you work. ![A team working together on laptops, the kind of small business that needs its own Rails app rather than a forked open source project](https://images.unsplash.com/photo-1522071820081-009f0129c71c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkZXZlbG9wZXJzJTIwcmVhZGluZyUyMGNvZGUlMjB0b2dldGhlcnxlbnwwfHx8fDE3ODg1NTQ1MTd8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Annie Spratt](https://unsplash.com/@anniespratt?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/group-of-people-using-laptop-computer-QckxruozjRg?utm_source=leonardo_rails_app&utm_medium=referral) ## Reading a Rails app and owning one are different problems Some readers came here to learn Rails. Clone Alchemy CMS or Publify and read for a weekend. Two pages carry that further: [websites built with Ruby on Rails](https://llamapress.ai/websites-built-with-ruby-on-rails-and-what-they-tell-you) and [Rails project ideas worth building](https://llamapress.ai/ruby-on-rails-project-ideas-worth-building-and-the-ones-to-skip). Other readers came here because someone said "just fork an open source Rails app." Doing that means hiring or becoming a Rails developer. LlamaPress is the other option. Our AI agent, Leonardo, writes the Rails code, supervised by US-based engineers who ship Rails daily. You get a standard Rails app on PostgreSQL, with no upstream fork to merge. The fastest starting point is the spreadsheet you already run the process in, because it holds your tables, fields and rules. Upload it at [the Excel to app page](https://llamapress.ai/excel-to-app). For AI features in an existing Rails app, read [Rails AI](https://llamapress.ai/rails-ai-building-ai-features-into-ruby-on-rails-apps). For how we work, read [a Rails development company where AI writes the code](https://llamapress.ai/the-ruby-on-rails-development-company-where-ai-writes-the-code). Plans: [pricing](https://llamapress.ai/pricing). Your Repo, Not Someone Else's Fork ### Get a Rails app built for your process Upload the spreadsheet your team already runs on. Leonardo builds a first working Rails app from it. A US-based engineer reviews every change. Free, no credit card. [Start With Your Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to an Engineer](https://llamapress.ai/contact) Already have a Rails app? [Contact us](https://llamapress.ai/contact) and we will read it with you. ## Frequently Asked Questions ### What are the best open source Ruby on Rails apps? Mastodon, Huginn, Discourse and Chatwoot are the largest active ones, with 50,265, 49,895, 47,790 and 36,497 GitHub stars read on 2026-09-04. All four pushed code that day. For smaller reading, Alchemy CMS, Open Food Network, Publify and Lobsters are active and easier to hold in your head. ### Where can I find open source Rails projects to learn from? GitHub is the practical answer, and the table on this page lists seventeen repos with license, star count and last push date, read on 2026-09-04. Check the push date before you clone. A dead repo still shows a large star count, and hotwired/hotwire-rails is the example: archived, last pushed 2021-12-20. ### Is GitLab open source and written in Ruby on Rails? GitLab is built on Ruby on Rails, and only part of it is open source. Its engineering handbook calls the product a "large monolithic application, using Ruby on Rails framework." The Community Edition is open source and the Enterprise Edition adds proprietary features. Its source is hosted on GitLab.com, so no GitHub star count exists for it. ### Can I use an open source Rails app for my business? Yes, if you check two things first. The license decides whether you may keep changes private, and MIT and BSD-3-Clause allow it while GPL-2.0 and AGPL-3.0 do not. The maintenance cost is bigger: once you fork, every upstream security patch becomes a merge your team owns. Installing an unmodified project is far cheaper. ### What is the Rails sample method? There is no Rails method called sample. Array#sample is plain Ruby and returns one random element from an array, or several with sample(n). For a random database record, the common idiom is Model.order(Arel.sql("RANDOM()")).first on PostgreSQL or SQLite, and RAND() on MySQL. Both get slow on large tables. ### What is a good Rails sample project for a beginner? Pick a small active app rather than a large one. Alchemy CMS (906 stars), Open Food Network (1,278) and Publify (1,854) all pushed code within a week of 2026-09-04 and are small enough to read. Devise and Pundit are good library reads too. That ranking is our assessment, not a claim by the maintainers. ============================================================================== # OpenAI Codex for Business: Who Builds Your App? Source: https://llamapress.ai/openai-codex-writes-code-but-who-turns-it-into-your-business-app ============================================================================== # OpenAI Codex for Business: Who Builds Your App? > OpenAI Codex writes real code for engineering teams. What that means for a business run on Excel, and the simpler path from spreadsheet to working software. Source: https://llamapress.ai/openai-codex-writes-code-but-who-turns-it-into-your-business-app | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) OpenAI Codex writes real code for engineering teams. What that means for a business run on Excel, and the simpler path from spreadsheet to working software. [Back to all articles](https://llamapress.ai/blog) A client of mine runs a $7M distribution business on eleven spreadsheets. Last month he forwarded me an article about OpenAI Codex with one line attached: "Does this mean I can finally get my order tracker built?" It is a fair question, and the honest answer takes more than a headline. Codex really does write software. It fixes bugs, builds features, and works unattended for hours. Whether it can build an app for a business owner who has never written a line of code is a different question, and the answer lives in the details of what Codex was designed to plug into. I am going to give Codex its full due here, because it deserves it. Then I want to show you the part the headlines skip: the workflow it assumes you already have, and what the same class of AI actually looks like when it is packaged for someone running estimates, orders, or client onboarding out of Excel. ## What OpenAI Codex Actually Is Codex is OpenAI's agentic coding system, and as of this writing it comes bundled with ChatGPT plans. You can reach it three ways: a command-line tool developers run in a terminal, an extension that lives inside code editors like VS Code, and a cloud agent inside ChatGPT that takes on longer tasks in the background. Give it work and it clones a copy of your code repository into an isolated environment, reads the codebase, edits files, runs the test suite, and comes back with a set of proposed changes plus logs you can trace step by step. The GitHub integration is genuinely impressive. Connect a repository and the cloud agent can pick up a task, do the work, and open a pull request, which is the formal package developers use to propose changes for a teammate to review. Engineers can even tag the agent on an issue and it starts working without anyone leaving GitHub. Teams report handing it routine refactors and migrations and getting back days of work overnight. None of that is hype. For a software engineering team, this is the biggest productivity shift in a generation. My client's instinct was correct: the technology to build his order tracker absolutely exists now, and it is not even expensive. ![Operations manager in a warehouse holding a tablet, the kind of business that runs on spreadsheets rather than code repositories](https://images.unsplash.com/photo-1781559818983-4180d744416a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxidXNpbmVzcyUyMG9wZXJhdGlvbnMlMjBtYW5hZ2VyJTIwd2FyZWhvdXNlJTIwdGFibGV0fGVufDB8fHx8MTc4MzkwNDg4OXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Rodrigo Rodrigues | WOLF Λ R T](https://unsplash.com/@wolfart32?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-in-a-warehouse-looking-up-while-holding-a-tablet-DvUy7qVOJRE?utm_source=leonardo_rails_app&utm_medium=referral) ## Look at the Units Codex Thinks In Read the last section again and notice the vocabulary. Repository. Branch. Pull request. Code review. Test suite. Terminal. Every one of those words names a piece of an engineering workflow, and Codex is brilliant precisely because it slots into that workflow so cleanly. It behaves like a tireless new engineer who joined your existing team and follows your existing process. Now ask the question that matters for your business: which existing team? Which process? When my distribution client asked whether Codex could build his order tracker, here is what the unassisted path would actually require of him. Create a code repository, an account and a structure he has never touched. Describe the app well enough, in software terms, for the agent to start. Then receive the output, which arrives as a pull request full of code, and review it, because the agent's whole design assumes a qualified human checks the work before it ships. Then stand up hosting, a database, backups, user accounts, and security. Then keep all of it patched and running, forever, including the morning it breaks while forty orders are in flight. He runs a warehouse. He is exceptional at it. Every hour he spends learning what a branch is comes out of the business that pays for everything else. The tool is not the barrier. The workflow around the tool is, and that workflow exists for good reason: professional software teams need coordination, review, and version control. A twelve-person distributor does not need any of that. He needs his spreadsheet to become software, and he needs someone accountable for keeping that software alive. ## What a Spreadsheet-Run Business Actually Needs I have sat with dozens of operators at this exact decision point, and the requirement list is remarkably consistent. The orders tab needs to become a real database so two people can update it at once without silently overwriting each other. The lookup formulas need to become screens a new hire can use on day one. The rules everyone honors on good days, credit check before the order ships, deposit before the crew is scheduled, need to become gates the system enforces on bad days too. If your workbook already is the company database, see how to [turn your Excel database into a web app](https://llamapress.ai/excel-to-app). Notice that nothing on that list is a pull request. The operator's requirement is an outcome: working software, hosted somewhere reliable, that keeps matching the business as the business changes. The engineering workflow that Codex serves so well is a means to that outcome for companies that employ engineers. For everyone else it is a wall between them and the outcome. ## Codex Alone vs. the LlamaPress Path Here is the side-by-side I drew for my client. This is a comparison of packaging, and I want to stress that, because under the hood both paths use the same class of technology: a frontier AI coding agent doing real software work. | | OpenAI Codex, Used Directly | LlamaPress + Leonardo | | --- | --- | --- | | Designed for | Engineering teams with an existing codebase and review process | Operators whose process lives in Excel or Google Sheets today | | Starting point | A code repository you set up and connect | The spreadsheet you already run the business on | | How you request work | Task prompts framed in software terms, via terminal, editor, or ChatGPT | Plain English, the way you would brief a contractor | | What you review | Pull requests: diffs, logs, and test results a developer signs off on | The working app itself; you click through screens, not code | | Hosting & upkeep | Yours to arrange: servers, database, backups, security, patching | Managed hosting included; humans on call when something breaks | | Skill assumed | Someone on staff who can read code and own an engineering workflow | You know your own process; that is the whole requirement | ## When Codex Is the Right Tool Plenty of readers should close this tab and go set up Codex, and I would rather say so plainly than pretend otherwise. Use Codex directly if you employ developers, even one or two, because it will multiply them. Use it if you already have a codebase, since an agent that lives in your repository and opens pull requests against it is exactly what an existing product needs. And use it if you have, or want to build, a real engineering workflow with version control and code review, because that discipline is what makes unattended AI coding safe at scale. A software company of any size that skips Codex or a tool like it in 2026 is leaving money on the table. The dividing line is honest and simple. Codex assumes the engineering context already exists. If it does, the tool is superb. If your company's entire technical footprint is a shared drive and some very hard-working spreadsheets, then adopting Codex means first building an engineering function to wrap around it, and that was never your job. ![Business operator walking a facility hallway, focused on operations rather than software engineering](https://images.unsplash.com/photo-1592228533283-d78f7c1cf453?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMG9wZXJhdGlvbnMlMjBtYW5hZ2VyJTIwd2FyZWhvdXNlJTIwdGFibGV0fGVufDB8fHx8MTc4MzkwNDg4OXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Mauricio Gutiérrez](https://unsplash.com/@mauriciogutierreztello?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-in-black-jacket-and-black-pants-walking-on-hallway-SoiVEdJKzhY?utm_source=leonardo_rails_app&utm_medium=referral) ## The Same Class of Agent, Packaged for Your Business This is exactly the gap LlamaPress was built to close. Our AI coding agent is named Leonardo, and it does the same kind of work the headlines describe: it writes real code, builds real database-backed applications, and iterates for as long as the job takes. The difference is everything wrapped around it. You [upload the Excel file that runs your process](https://llamapress.ai/excel-to-app), and Leonardo reads the tabs, columns, and formulas as the specification. Your customer sheet becomes a customers table in a genuine relational database. Your quoting logic becomes tested code. Your follow-up column becomes a queue that will not let an order fall through the cracks. The app arrives on managed hosting, already running, with backups and security handled. When the business changes, and it will, you describe the change in plain English: "add a rush flag to orders and put rush jobs at the top of the picker's screen." Leonardo makes the change. Humans at LlamaPress stay on call for the moments that need judgment. You review the result the way you review any contractor's work, by using it, and your job title never has to include code reviewer. For the full picture of how a spreadsheet becomes an application, step by step, the [Excel to app master guide](https://llamapress.ai/excel-to-app-master-guide) walks the entire journey. If you are weighing this path against the low-code platforms, I have covered that ground too, in [the Power Apps alternative for businesses without an IT department](https://llamapress.ai/the-power-apps-alternative-for-businesses-without-an-it-department) and in [why an AI app builder is the only way to replace your spreadsheet](https://llamapress.ai/why-an-ai-app-builder-is-the-only-way-to-replace-your-spreadsheet-in-2025). The AI Writes the Code. You Run the Business. ### Your spreadsheet is the spec. Leonardo does the rest. Upload the Excel file that runs your orders, estimates, or onboarding. Get back a database-backed app on managed hosting, with changes made in plain English and humans on call. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Read the Master Guide First](https://llamapress.ai/excel-to-app-master-guide) ## Frequently Asked Questions ### Can I use OpenAI Codex to build an app without knowing how to code? Realistically, no, and the limitation is the workflow rather than the AI. Codex delivers its work as code changes inside a repository, packaged as pull requests meant for a developer to review, and it leaves hosting, databases, and maintenance to you. A non-developer can get fragments working, but shipping and running a real multi-user business app that way requires engineering skills at several steps. ### What is OpenAI Codex for, then? Codex is built to make software engineering teams dramatically faster. As of this writing it works through a command-line tool, editor extensions, and a cloud agent in ChatGPT, and it shines at tasks like building features in an existing codebase, fixing bugs, refactoring, and opening pull requests on GitHub for engineers to review. ### Is there a Codex alternative for non-developers? The practical alternative is the same class of AI coding agent delivered as a service instead of a tool. With LlamaPress, the agent Leonardo builds your application from your uploaded spreadsheet, the app runs on managed hosting, you request changes in plain English, and humans stay on call. You never touch a repository or review code. ### Can AI really replace my order-tracking spreadsheet? Yes, and this is precisely the job AI coding agents are suited for. Your spreadsheet already encodes the process: the columns are your data model and the formulas are your business rules. An agent reads that as a specification and produces a database-backed app with real user accounts, enforced workflow rules, and a single source of truth your whole team shares. ### Do I need GitHub or ChatGPT to use LlamaPress? No. The LlamaPress flow starts with the spreadsheet you already have. You upload it, Leonardo builds the application, and everything after that happens in plain English inside your app. There is no repository to create, no plan to subscribe to on another platform, and no pull request will ever be waiting for your sign-off. ============================================================================== # Practical AI Consulting for Small Businesses Source: https://llamapress.ai/ai-consulting-for-small-businesses-the-practical-path-to-automation ============================================================================== # Practical AI Consulting for Small Businesses > Stop letting manual spreadsheets throttle your growth. Learn how AI consulting for small businesses can bridge the gap between chaos and automated clarity. Source: https://llamapress.ai/ai-consulting-for-small-businesses-the-practical-path-to-automation | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Stop letting manual spreadsheets throttle your growth. Learn how AI consulting for small businesses can bridge the gap between chaos and automated clarity. [Back to all articles](https://llamapress.ai/blog) ![Spreadsheet Chaos](https://images.unsplash.com/photo-1776267068213-d184cedc7786?auto=format&fit=crop&q=80&w=1000) The Reality Check ## The Spreadsheet Trap Photo by [Alexander Mass](https://unsplash.com/@alexandermass?utm_source=llamapress&utm_medium=referral) ## Escape the "Spreadsheet Trap" throttled by manual entry If your business operations rely on a dozen "Mission Critical" spreadsheets, you don't have an automated business. You have a fragile house of cards. "Mid-market firms often mistake 'digitization' for 'automation'. Putting data into a Google Sheet is just step one. True growth requires a system that thinks, acts, and scales without manual intervention." For businesses with 10 to 200 employees, the bottleneck isn't the talent: it's the friction of data silos. AI consulting for small businesses isn't about shiny new toys; it's about connecting your existing data to intelligent execution. ## Why You Need a System, Not Just a Chatbot Generic LLMs are great for writing emails. They are terrible for managing your complex inventory, pricing engines, or customer lifecycles. We build systemic AI. ### Integrated Logic Stop pasting data into ChatGPT. We embed AI logic directly into your operational workflow, so the machine knows your business context as well as you do. ### Actionable Automation Information is useless without action. Our AI systems don't just report on data; they trigger invoices, update schedules, and alert staff automatically. ### Data Sovereignty Security isn't an afterthought. We ensure your proprietary business data stays yours, leveraging private API instances and robust security protocols. ## From Spreadsheet Chaos to AI Clarity Our consulting process is designed for speed and ROI. We move from identifying your "bottleneck spreadsheet" to a functional AI system in weeks, not months. 1 ### Process Audit We map your manual touchpoints and identify where human repetitive labor is creating a growth ceiling. 2 ### Data Structuring We migrate your fragile Excel files into robust, relational databases that AI can actually understand and query. 3 ### Leonardo Deployment We deploy custom AI agents that monitor your data and execute business logic 24/7 without fatigue. ![Technical AI Implementation](https://images.unsplash.com/photo-1581091226507-ca552def2daf?auto=format&fit=crop&q=80&w=1000) Photo by [ThisisEngineering](https://unsplash.com/@thisisengineering?utm_source=llamapress&utm_medium=referral) ![Logic Pattern](https://images.unsplash.com/photo-1664526937033-fe2c11f1be25?auto=format&fit=crop&q=80&w=2000) ## Ready for Systemic Automation? Stop guessing and start automating. We offer a free 1-hour AI strategy consultation to mid-market businesses looking to move beyond spreadsheets. [Book Your Free Consultation](https://llamapress.ai/contact) Limited availability for Q3 consulting slots. ## Continue Your Transformation Journey [### Spreadsheet to Web App The step-by-step guide to converting fragile Excel files into secure, scalable web applications.](https://llamapress.ai/pages/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch) [### The Future of App Building Why legacy development is too slow and how AI-powered builders are the only way to escape Excel in 2025.](https://llamapress.ai/pages/why-an-ai-app-builder-is-the-only-way-to-replace-your-spreadsheet-in-2025) ## What Our Clients Say Join hundreds of mid-market businesses that have escaped the spreadsheet trap. "The AI consulting team didn't just give us advice; they gave us a system. We've reclaimed 40 hours a week from manual data entry in our logistics department." ![Client](https://i.pravatar.cc/150?u=techcorp) Marcus Thorne Director of Ops, TechCorp "Moving our estimation engine from Excel to a custom AI application was the best investment we made this year. Accuracy is up 100% and training time for new staff is down to zero." ![Client](https://i.pravatar.cc/150?u=innovate) Sarah Jenkins CEO, Innovate Build "LlamaPress AI transformed our 'messy middle.' We finally have one source of truth and an AI system that actually understands our business rules." ![Client](https://i.pravatar.cc/150?u=digital) Robert Chen COO, Digital Logistics ============================================================================== # Product Updates Source: https://llamapress.ai/updates ============================================================================== # Product Updates > A concise running log of what's new in LlamaPress and Leo — new features, fixes, and improvements, in plain English. Source: https://llamapress.ai/updates | Updated: 2026-09-08 --- What's new in LlamaPress and Leo. Short, plain-English notes — newest first. ## September 8, 2026 [v0.7.7](https://llamapress.ai/updates#v0-7-7) - Leo can build your app's stylesheet again. Since September 1 the build tool failed with a "watcher" error, and Leo blamed the hosting environment. - Leo's automatic save-points work again, so your work is committed as you go instead of silently going unsaved. - When the AI stops mid-answer, Leo switches to a different model instead of retrying the one that just stalled. - When one AI model stops working, Leo automatically switches to another one instead of showing you an error. - Sending a picture keeps working even when the image model has a problem. - The model you pick now sticks after you reload the page and after Leo starts a new chat, instead of jumping back to the standard one. - Long chats stay usable for longer. Leo now measures the conversation the way the AI model does, and sums it up using the model you are chatting with. - New AI models can be added without waiting for a software update. - Saving a recipe to your personal cookbook works again. - Leo no longer treats errors from your own browser extensions, such as password managers, as problems in your app. - Leo's building screen now suggests starting a new chat for a new topic, and tells you that you can connect your own ChatGPT account. - The "out of messages" card no longer says "free messages" to customers who are paying, and it tells you the real time your messages come back. - Clicking "Ask Leo to fix this" on an error page no longer sends the same fix request twice. ## September 1, 2026 [v0.7.6](https://llamapress.ai/updates#v0-7-6) - Your app now restarts itself when it stops responding, not only when it crashes outright. - Leo can run JavaScript in your page again, instead of failing silently. - Per-task backups no longer skip your databases because one file could not be read. - Visitors who are not signed in can leave feedback, when you turn that setting on. - Sending feedback with no title is now refused cleanly instead of showing an error page. - Browser-based tests can start Chromium again inside your workspace. - A retired AI model now reroutes to a working one instead of failing your turn. ## August 31, 2026 [v0.7.5](https://llamapress.ai/updates#v0-7-5) - Three new model choices, all of which can read images: DeepSeek V4 Flash at roughly a fifth of the cost per token, GLM 5.3 Flash with over a million tokens of context, and Qwen3.8 27B with 262k tokens of context. - Leo can look at images you upload on every workspace, not just some of them. - When you attach an image, Leo picks the right model for your workspace instead of always switching to the same one. - New models can be added from a settings file, so trying one no longer waits on a software update. - Leo's answer survives a dropped connection instead of cutting off mid-sentence. - A model that stops responding is dropped in 90 seconds instead of 10 minutes, and Leo finishes the answer on a second model. - Leo tells you when it is retrying, instead of appearing to sit still. - Your app restarts itself after a crash instead of staying down. - When Leo asks several setup questions at once, you answer them one at a time with Back and Next. - Cookbook search now includes the recipes you saved yourself, not only the public ones. - The feedback button keeps what you typed and retries if your session has timed out. - Files uploaded to the wrong folder survive an update instead of disappearing. - Fixed a sign-in failure that could happen depending on how your browser makes its first request. ## August 25, 2026 [v0.7.4](https://llamapress.ai/updates#v0-7-4) - Leo handles long projects better. Long chats no longer slow to a crawl or fail partway through a big build. - Leo checks that a page actually loads before telling you the work is done. - Leo runs database changes right away, so your app no longer goes down waiting for one. - When Leo edits a file, Leo confirms the change landed before saying it is finished. - If your app crashes while Leo is working, Leo now notices the crash and fixes it in the same reply. - Error messages now tell you whether the problem is in your app or in the browser. - Your app can offer passkey sign-in. People sign in with Face ID, a fingerprint, or a security key. Passkeys are off by default and work alongside passwords. - Older phones can reach your app again. Apps no longer turn away older versions of Safari, Chrome, and Samsung Internet with a "browser not supported" page, including on the sign-in screen. - Spreadsheets you upload now preview as a real grid of cells. - My Uploads opens your full file library right away, and the library can fill the screen. - Leo can ask several setup questions in one card instead of one per message. - The activity page filters down to a single person, and times show in a named time zone. - Signing in with GitHub now finishes on its own, with no refresh needed. - Your app's chat connection now requires a valid sign-in and turns away forged ones. ## August 22, 2026 [v0.7.3](https://llamapress.ai/updates#v0-7-3) - Discarding changes no longer deletes your work for good. Leo saves a snapshot first, and an Undo discard button restores it. - The feedback button now shows up on every page of your app, including admin pages, not only the customer-facing ones. - Fixed a bug that could block people from logging in to their app. - Page-flipping buttons in Leo-built apps are styled to match your app instead of showing as bare links. - Leo apps can read the text inside uploaded PDF documents. - Fixed a case where an update could skip refreshing your workspace's platform files. ## August 21, 2026 [v0.7.2.2](https://llamapress.ai/updates#v0-7-2-2) - Your app can speak more languages. Leo-built apps now include translations for Rails' built-in text — dates, number formats, and form error messages — in about 80 languages. - If a translation is missing, your app shows the English text instead of an error message. ## August 20, 2026 [v0.7.2.1](https://llamapress.ai/updates#v0-7-2-1) - When something goes wrong in your app's preview, Leo now sees the error itself instead of you having to describe it. - The slash-command menu opens mid-sentence, not only at the start of a message. - Pressing Enter picks the highlighted slash-command instead of sending your message. - Leo's browser-tab icon shows up correctly, even on a light browser theme. ## August 18, 2026 [v0.7.2](https://llamapress.ai/updates#v0-7-2) - Stability and reliability improvements across every Leo workspace. ## August 16, 2026 [v0.7.1](https://llamapress.ai/updates#v0-7-1) - Leo now uses a faster, smarter AI model by default. - Fixed cases where long tasks could get stuck repeating themselves. - Added an optional built-in code editor tab for plans that include code access. ## August 10, 2026 [v0.7.0](https://llamapress.ai/updates#v0-7-0) - You can now choose which AI model Leo uses, right from the chat. - Faster workspace starts behind the scenes. Want Leo building for you? [Turn your spreadsheet into an app](https://llamapress.ai/excel-to-app) ============================================================================== # Professional Services Software From Spreadsheets Source: https://llamapress.ai/professional-services ============================================================================== # Professional Services Software From Spreadsheets > Client intake, approvals, project delivery, and billing software built by LlamaPress from the spreadsheets your firm already uses. See how Leonardo turns them into real apps. Source: https://llamapress.ai/professional-services | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Client intake, approvals, project delivery, and billing software built by LlamaPress from the spreadsheets your firm already uses. See how Leonardo turns them into real apps. [Back to all articles](https://llamapress.ai/blog) The Problem ## Your firm runs on spreadsheets that were never built for this A new client signs. Sales forwards the email thread to the project manager with a note that says "kicking this over to you." That thread is the handoff. Somewhere in it are the client's entity name, their point of contact, and a half-answered question about scope. The project manager opens the engagement spreadsheet, copies last quarter's tab, and starts working the list. Request the engagement letter. Collect the signed documents. Chase the deliverables, the internal review, the approval. Each row has a name in the "owner" column that nobody actually checks. Time tracking lives in a separate tool, billing in another, and the two never quite agree on what was actually done. Three weeks in, the client emails to ask why they were just billed for work they never approved. Nobody can say where the approval went. Nobody can say how many hours have actually been spent, because the spreadsheet says whatever it said the last time someone remembered to update it. An engagement that should be running smoothly is running on trust and memory. None of this is a people problem. Your team is skilled and your project managers are probably the most organized people in the building. The problem is that a spreadsheet has no memory of who was asked for what, no way to prompt the next step, and no single view of the engagement that everyone can trust. ![A client filling out engagement paperwork by hand at an office desk, the intake moment every professional services firm manages](https://images.unsplash.com/photo-1603796846097-bee99e4a601f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxjbGllbnQlMjBvbmJvYXJkaW5nJTIwcGFwZXJ3b3JrJTIwb2ZmaWNlfGVufDB8fHx8MTc4Mzg3ODI0MXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Scott Webb](https://unsplash.com/@scottiewb?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-writing-on-white-paper-aTlwTqgGtso?utm_source=leonardo_rails_app&utm_medium=referral) What We Build ## Real apps for the work your firm actually does LlamaPress builds custom software for professional services firms, usually starting from the spreadsheet that already runs the process. Here is what that looks like in practice. ### Client Intake Every new client becomes a record with a status: intake form received, documents collected, engagement letter signed, kickoff scheduled. The handoff from sales to delivery stops being a forwarded email thread. ### Engagement Tracking Each engagement has a stage, an owner, and the work products expected at every step. The "owner" column becomes an actual assignment, and nobody has to ask "where is this engagement?" because the answer is always on screen. ### Approvals Deliverables, budgets, and scope changes routed through an approval step with a paper trail. No more "did anyone actually approve this?" The answer is attached to the work itself, timestamped and signed. ### Time & Billing Hours logged against engagements, budgets tracked against actuals, and billing pulled from the same record. The spreadsheet and the time tool stop disagreeing, because they become one system. ### Client Portals Clients see their engagement status, outstanding documents, and approved deliverables without emailing for an update. The firm stops answering "any update?" because the update is always in front of them. ### Firm Reporting Utilization, engagement profitability, and pipeline reported from the same data your team enters daily. The partners' meeting stops being a reconciliation exercise and starts being a strategy conversation. How It Works ## From spreadsheet to firm software, with Leonardo Leonardo is LlamaPress's AI builder. It reads the spreadsheet the way a developer would read a spec, then builds the software around it. You can start for free and see the first working version in your first session. 1 ### Upload the spreadsheet you use today Head to [Excel to App](https://llamapress.ai/excel-to-app) and upload your client tracker, engagement log, or pipeline exactly as it is. Tabs, color coding, notes in cells. Leonardo reads the columns, the logic, and the statuses you apply by hand. 2 ### Leonardo builds the first working version Your spreadsheet becomes an application: a client record for each engagement, guided stages, document attachments, and the reports your firm actually runs. It runs on a real database from day one, so nothing lives in someone's head or inbox anymore. 3 ### Refine it in plain English "Audit clients skip the scoping step." "Add a budget approval before we start." "Only partners see profitability." You describe the change, Leonardo makes it. The process logic lands exactly as your best project manager would explain it. 4 ### Go live with your team and clients Invite your team, send clients their portal links, and retire the spreadsheet. The application keeps evolving as your process does, because changing it is a conversation rather than a development contract. ## Why not just buy an existing system? Most firms have already looked at the big platforms and the generic tools. Both miss the point in different ways. ### Practice management suites Powerful, and priced for firms with an IT team and a long implementation. A mid-sized firm ends up paying for a hundred features to use nine of them, then waits for a change to a workflow it already has working. ### Generic project trackers A shared to-do list with a nicer interface than your spreadsheet. It still has no idea that an engagement needs an approval before billing or that a client portal should show only certain stages. Your process logic stays in someone's head. ### Better spreadsheets Conditional formatting and shared drives can go only so far. The moment a document needs to attach to an engagement, or two people update the same file, the spreadsheet stops being the tool and starts being the bottleneck. LlamaPress builds the option that fits: software shaped to your firm's process, at a price shaped to your size. See [pricing](https://llamapress.ai/pricing) for what that costs. ## Questions firms ask us ### How long does it take to go from spreadsheet to a live system? The first working version is built by Leonardo in your first session, usually within the hour. Most teams spend a few days refining stages, fields, and reports, then run one real client through it before switching over fully. Weeks, not quarters. ### Do our clients get their own portal? Yes. Each client gets a login where they see their engagement status, outstanding documents, and approved deliverables. They see only their own engagement, and your team controls exactly which stages are client-visible. ### We handle confidential client and financial data. How is that protected? Your application runs on its own dedicated instance with its own database, so client records are never pooled with other firms' data. Documents are stored with access controls and every access is logged. For regulated industries, talk to us on the [contact page](https://llamapress.ai/contact) about your specific requirements. ### Will my existing client history come across? Yes. Whatever is in your spreadsheet today is imported into the app, so you are not starting from a blank slate. You keep the history and gain the structure. ### Who owns the software and the data? You do. The application is yours, the database is yours, and your data is exportable at any time. Paid plans include access to the source code, so you are never locked into us to keep the system you built. Start Today ## Your spreadsheet is the spec. Upload it. The client tracker you shepherd by hand already describes your ideal software. Leonardo will build the real version, with engagement stages, approvals, and reports that run themselves. [Upload Your Spreadsheet](https://llamapress.ai/excel-to-app) [Ask a Question First](https://llamapress.ai/contact) ============================================================================== # Rails AI: Building AI Features Into Ruby on Rails Apps Source: https://llamapress.ai/rails-ai-building-ai-features-into-ruby-on-rails-apps ============================================================================== # Rails AI: Building AI Features Into Ruby on Rails Apps > Rails AI means two things: adding AI features to a Ruby on Rails app, and using AI to build the app. This guide covers both, with real architecture advice. Source: https://llamapress.ai/rails-ai-building-ai-features-into-ruby-on-rails-apps | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Rails AI means two things: adding AI features to a Ruby on Rails app, and using AI to build the app. This guide covers both, with real architecture advice. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Rails AI means two different things, and people search for both. The first meaning is adding AI features into a Ruby on Rails app: a chat assistant, document summarization, or an agent that works with your data. The second meaning is using AI to build the Rails app itself, with an AI coding agent writing the code. Both are real. Both work in production today. This guide covers both. We live in both worlds. Every customer app we ship runs on Ruby on Rails, and we operate a fleet of production Rails apps for our customers. Our AI agent, Leonardo, writes Rails code, and the people supervising it ship Rails daily. We also maintain an open-source Ruby on Rails AI framework on GitHub. What follows is what that work has taught us, written for the person deciding what to buy, with enough depth that a developer can check our reasoning. ## The Two Meanings of Rails AI Ruby on Rails is a web framework, meaning a toolkit for building web applications. Rails is about twenty years old as of this writing, and large commercial products still run on it. A huge amount of business software lives in Rails apps: internal tools, customer portals, billing systems, job trackers. If you own one of those apps, "rails ai" means putting AI features into it. If you need a new app, "rails ai" means something newer: an AI agent that writes the Rails code for you, supervised by human engineers. The two meanings meet in one place. An AI feature is only useful when it sits inside working software, next to your real data, behind your real logins. Rails is good at exactly that part. The framework ships with a database layer, user accounts, background processing, and live page updates. The AI model itself runs behind an API, which is a paid service you call over the internet. So the framework question matters less than vendors imply, and the plumbing question matters more. ## How AI Features Fit Into a Rails App AI features in Rails apps share one architecture, whatever the feature is. A good Rails AI integration has four parts. If you are hiring someone to build AI in Rails, ask them about each part. The answers tell you quickly whether they have shipped this before. **Part one: keys stay on the server.** Your app calls an AI provider with an API key, which works like a password for that service. The key must live on your server, never in the browser. A key exposed in a web page lets strangers run up your bill. This sounds obvious. We still see it in the wild. **Part two: slow work runs in background jobs.** An AI call can take ten seconds or more. A background job is a task that runs outside the web request, so the page never freezes while the model thinks. Rails has first-class support for this, and a correct build uses it for anything longer than a moment. Retries live here too, because AI providers have outages like any other vendor. **Part three: replies stream to the page.** Streaming means sending the reply word by word as the model produces it. Rails can push those updates to the browser over a built-in live channel. Users forgive a slow answer that visibly grows. They do not forgive a spinner that sits still for twenty seconds. **Part four: the agent gets tools, and the tools get permissions.** A chat box that only talks is a toy. The useful version is an agent, meaning an AI that can take actions: look up a customer, draft an invoice, update a job status. In Rails, those actions run through your models, the code that owns your data and its rules. Every tool call must pass the same permission checks as a signed-in user. The AI should never get a skeleton key to your database. Your database stays the source of truth, and the AI stays a worker at the edge of it. ![Code on a developer screen, the kind of Ruby on Rails work an AI agent now drafts](https://images.unsplash.com/photo-1515879218367-8466d910aaa4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzb2Z0d2FyZSUyMGRldmVsb3BlciUyMGNvZGUlMjBzY3JlZW58ZW58MHx8fHwxNzg3ODk3Nzg3fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Chris Ried](https://unsplash.com/@cdr6934?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-computer-screen-with-a-bunch-of-code-on-it-ieic5Tq8YMk?utm_source=leonardo_rails_app&utm_medium=referral) ## What We Learned Building an Open-Source Rails AI Framework We did not learn this architecture from blog posts. We maintain LlamaBot, an open-source Rails AI framework on GitHub, with a gem called llama\_bot\_rails that wires an agent into a Rails app. A gem is a packaged piece of Ruby code you add to a project. Building the framework, then running it inside real customer apps, taught us a few things worth passing on. The chat window is the easy ten percent. The hard ninety percent is state and safety. The agent needs to remember the conversation, know which user it serves, and act only within that user's permissions. Every action the AI takes should be logged the same way a human user's actions are logged. When something looks wrong a month later, you want a record of who did what, human or machine. The other lesson is to keep the model swappable. AI models improve every few months, and prices move with them. A build that hard-wires one provider into fifty files ages badly. A build that keeps the model choice in one place lets you upgrade in an afternoon. Ask any vendor how their work handles a model change. A shrug is your answer. ## The Second Meaning: AI That Writes the Rails App The newer meaning of AI in Rails is an agent on the other side of the keyboard. Our agent, Leonardo, writes Rails code: models, screens, background jobs, tests. Human engineers supervise the work, review it, and ship it. Those same people ship Rails code themselves every day, so the review is real. The result runs like any Rails app, in a repository you can own, readable by any Rails developer you ever hire. This changes the economics of custom software more than the chat-widget meaning does. Work that a traditional agency quotes in months now produces a working first version in days. The costs fall with the hours. That is why a business that would never have commissioned custom software now can. We wrote a full page on how that model works as a service at [the Ruby on Rails development company where AI writes the code](https://llamapress.ai/the-ruby-on-rails-development-company-where-ai-writes-the-code). And if your current system is a spreadsheet rather than an app, the fastest path is to [have Leonardo turn the spreadsheet into the first version](https://llamapress.ai/excel-to-app). The spreadsheet already holds your tables, fields, and rules. The two meanings compound. An agent that writes Rails can also wire AI features into the app it writes, using the same four-part architecture above. You get one build, one database, and one vendor to hold accountable. ## When You Do Not Need AI in Your App Here is the honest section. Most business apps do not need AI features on day one. If a workflow is deterministic, meaning the same input must always produce the same output, plain code is cheaper, faster, and easier to trust. Invoicing math, status changes, scheduling rules, and permission checks should never run through a model that can improvise. A database with good forms and reports solves most of the pain people bring to us. AI earns its place where the input is messy. Summarizing a long email thread. Drafting a reply for a human to approve. Reading a stack of PDFs into structured rows. Triaging incoming requests by urgency. If none of that describes your workflow, skip the AI line item and spend the budget on the workflow itself. If you are still deciding which camp you are in, our guide on [adding AI to your website, from chat widgets to real workflows](https://llamapress.ai/how-to-add-ai-to-your-website-from-chat-widgets-to-real-workflows) walks the business side of that decision. A vendor who tries to sell you AI before understanding your workflow is selling the label, and you should read that as a warning. ### Put AI to work in your Rails app Bring us the Rails app you run today, or the workflow you want one built around. Leonardo writes the Rails code. Engineers who ship Rails daily review every line. You keep the code. [Add AI to Your Rails App](https://llamapress.ai/services) [See How Leonardo Works](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. If you are earlier than that and still sizing up the framework, start with [how to create a website with Ruby on Rails](https://llamapress.ai/how-to-create-a-website-with-ruby-on-rails-from-first-command-to-live-site), then read [open source Ruby on Rails apps worth reading](https://llamapress.ai/open-source-ruby-on-rails-apps-worth-reading-and-what-they-teach-you) for real code, and [Rails project ideas worth building](https://llamapress.ai/ruby-on-rails-project-ideas-worth-building-and-the-ones-to-skip) for what to try first. ## Frequently Asked Questions ### What does Rails AI actually mean? The phrase covers two things. It can mean AI features built into a Ruby on Rails application, such as chat, summarization, or an agent that acts on your data. It can also mean AI writing the Rails application itself, with an AI coding agent producing the code under human supervision. Both exist in production today, and one project can include both. ### Is Ruby on Rails a good framework for AI features? Yes. The AI model runs behind a paid API, so any web framework can call it. What Rails adds is the plumbing an AI feature needs: a database layer, user accounts and permissions, background jobs for slow calls, and live page updates for streaming replies. Those pieces ship with the framework. The stack a vendor knows deeply matters more than the stack that is newest. ### How do I add AI to an existing Rails app? Follow the four-part architecture. Keep the provider's API key on the server. Run AI calls in background jobs so pages never freeze. Stream replies to the browser word by word. Give the agent tools that run through your existing models and permission checks, and log every action. A competent Rails team can add a first scoped feature to a healthy app without a rewrite. ### How much does a Rails AI integration cost? Scope decides the number. A single scoped feature, like summarization or a drafting assistant, costs a small fraction of what a full agent with tools costs. As of this writing, traditional agencies bill this work by the month, and AI-assisted teams like ours deliver it in days, which is where the savings come from. Be suspicious of any fixed quote offered before someone has looked at your app and your workflow. ### Can an AI agent really write production Rails code? Yes, with supervision. Our agent Leonardo writes Rails code every day, and every customer app we ship runs on Rails, operated as part of a fleet of production apps. The part that makes it safe is the human layer: engineers who ship Rails themselves review the agent's work before it reaches your users. An unsupervised code generator is a different, riskier product. ============================================================================== # Rails Project Ideas Worth Building in 2026 Source: https://llamapress.ai/ruby-on-rails-project-ideas-worth-building-and-the-ones-to-skip ============================================================================== # Rails Project Ideas Worth Building in 2026 > The Rails project ideas worth building are the processes businesses still run in a spreadsheet. Twelve ideas with data models, Rails features and difficulty. Source: https://llamapress.ai/ruby-on-rails-project-ideas-worth-building-and-the-ones-to-skip | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) # Ruby on Rails project ideas worth building, and the ones to skip The Rails project ideas worth building are the processes businesses still run in a spreadsheet. Twelve ideas with data models, Rails features and difficulty. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Updated September 2026 The Ruby on Rails project ideas worth building are the ones that replace a spreadsheet a real business still runs a process in. An estimating workbook, an order tracker, a stock count, an onboarding checklist. Each of those gives you the same work a paid Rails job gives you: five or six related tables, roles, file uploads, email, background jobs and a screen that updates while two people use it. A to-do list gives you one table. Below are twelve ideas, each with the process it replaces, the data model in one line, the Rails features it exercises and a difficulty rating. In short - Pick a process someone runs in a spreadsheet. Tabs become tables, headers become columns, dropdown lists become lookup tables, and the colour coding becomes a status column. - Twelve ideas below map to real processes: estimating, job costing, order tracking, client onboarding, stock counts, asset registers, timesheets, quote to invoice, tickets, supplier price lists, inspections and bid tracking. - Each idea exercises a named part of Rails: Active Record associations, Active Storage, Action Mailer, Active Job with Solid Queue, Hotwire and Turbo Streams, Devise, Pundit or CanCanCan, and an admin gem. - Scope version one to a single workflow, a single role and three models, running on real data. Every customer app we ship at LlamaPress runs on Ruby on Rails. I spent years at McKinsey inside other people's operating models, and I now read the workbooks businesses send us at LlamaPress. Every customer app we ship runs on Ruby on Rails, and we operate a fleet of production Rails apps for our customers. Our AI agent, Leonardo, writes the Rails code, and the people supervising it ship Rails daily. The ideas below are the processes those customers pay to replace. ## What should I build with Ruby on Rails? Build a process someone currently runs in a spreadsheet. That gives you requirements you did not invent, and a data model with real relationships in it. A spreadsheet process is already a specification, written by the person who owns it. The tabs tell you the tables. The column headers tell you the fields. The dropdown lists tell you the lookup tables. The colour coding tells you there is a status column that was never allowed to exist. The tab everyone is scared to touch holds the business rules. Rails is built for that shape of problem. The official [Getting Started guide](https://guides.rubyonrails.org/getting_started.html) walks a reader with no Rails experience through models, migrations, routing, CRUD, authentication, file uploads, email, background jobs, security scanning and a production deployment. That is close to the feature list of a small internal business app. Start on the current versions: Rails 8.1.3.1, published 29 July 2026 per the [RubyGems API](https://rubygems.org/api/v1/gems/rails.json), and Ruby 4.0.6, released 14 July 2026 per the [official Ruby releases page](https://www.ruby-lang.org/en/downloads/releases/). For the command sequence from an empty folder to a live site, read our page on [creating a website with Ruby on Rails](https://llamapress.ai/how-to-create-a-website-with-ruby-on-rails-from-first-command-to-live-site). ![A developer writing code on a laptop, choosing a Rails project idea worth finishing](https://images.unsplash.com/photo-1534665482403-a909d0d97c67?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzb2Z0d2FyZSUyMGRldmVsb3BlciUyMHdyaXRpbmclMjBjb2RlJTIwbGFwdG9wfGVufDB8fHx8MTc4ODU1NDUyMnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Danial Igdery](https://unsplash.com/@ricaros?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-programming-using-laptop-FCHlYvR5gJI?utm_source=leonardo_rails_app&utm_medium=referral) ## Why to-do apps make weak portfolio projects A to-do app is a fine tutorial and a weak portfolio piece, because it has one table and one user. Nothing in it forces the decisions a reviewer looks for. No second role, so authorisation never comes up. No money, so decimal precision never comes up. No two people editing the same row, so locking never comes up. A blog, a URL shortener and a recipe box are the same. They are the standard answers on every project-idea list, and a reviewer has read them fifty times. A business process gives you a project nobody else has. Rails helps here. New applications since Rails 7.2 ship with a GitHub Actions CI workflow, Brakeman for security scanning and RuboCop with the omakase rule set, per the [7.2 release notes](https://guides.rubyonrails.org/7_2_release_notes.html). Leave those defaults on. A green CI badge and a clean Brakeman run on a project that models a real business beats three tutorial clones. ## Twelve Rails project ideas that map to real business processes Each row is a process our customers ran in a spreadsheet before they ran it in software. The models column is a starting schema, written as you would declare it in Active Record. Difficulty is my own rating. Starter means three models, CRUD and sign-in. Intermediate adds uploads, email, background jobs and roles. Advanced adds money arithmetic, versioned records and concurrent edits. | Idea | The process it replaces | Core models | Rails features it exercises | Difficulty | | --- | --- | --- | --- | --- | | Estimating and bidding tool | The estimating workbook one person owns and everyone copies | Client has\_many Estimates; Estimate has\_many LineItems; LineItem belongs\_to CostCode | Nested forms over Active Record associations, decimal columns for money, Turbo Streams for a live total, Devise | Advanced | | Job costing and margin | The month-end sheet where actual costs get pasted against budgets | Project has\_many CostEntries; CostEntry belongs\_to CostCode and belongs\_to User | Grouped queries and sums, scopes, Active Job for a nightly rollup | Advanced | | Order tracker | The shared order tab with colour coding for status | Customer has\_many Orders; Order has\_many OrderLines and has\_many StatusChanges | Turbo Streams board that updates for everyone, Action Mailer status emails, validations on the status column | Intermediate | | Guided client onboarding | The onboarding checklist someone shepherds by email | Template has\_many StepDefinitions; Client has\_many Steps; Step has\_many Documents | Active Storage for documents, Action Mailer reminders queued with Active Job, Pundit so a client sees only their own steps | Intermediate | | Stock counts and inventory | The stock sheet that is printed, marked up and retyped | Location has\_many Items; Item has\_many StockMovements; Count has\_many CountLines | Database transactions and row locking, Hotwire for phone-friendly counting, CSV import | Intermediate | | Equipment and asset register | The asset tab with serial numbers and service dates | Asset belongs\_to Location, has\_many ServiceRecords, has\_many Assignments | Active Storage for photos and manuals, Active Job for service-due reminders, an admin screen from ActiveAdmin or Avo | Starter | | Timesheets and job hours | The weekly hours sheet emailed to the office every Friday | User has\_many TimeEntries; TimeEntry belongs\_to Job and belongs\_to CostCode | Validations, weekly scopes, Devise roles for approver and crew, Turbo for inline edits | Starter | | Quote to invoice | The quote template saved as a new file per customer | Customer has\_many Quotes and has\_many Invoices; Quote has\_many LineItems; Invoice has\_many Payments | Copying an association graph in a service object, Action Mailer to send the document, Active Job for chase-up email | Intermediate | | Support ticket log | The shared inbox, plus the tracking tab beside it | Customer has\_many Tickets; Ticket has\_many Notes and belongs\_to an assignee | Turbo Streams queue, Action Mailer replies, Pundit or CanCanCan for who may close a ticket | Intermediate | | Supplier price lists | The folder of supplier workbooks with a lookup sheet on top | Supplier has\_many PriceLists; PriceList has\_many PriceItems | Active Storage for the uploaded file, Active Job for the import, queries that compare the new version to the last one | Intermediate | | Compliance and inspection records | The inspection form that is printed, filled in and scanned | Site has\_many Inspections; Inspection has\_many Answers; Question has\_many Answers | Nested forms, Active Storage photo evidence, Action Mailer for the signed copy, records that are never edited after submission | Intermediate | | Tender and bid tracker | The bid log with deadlines nobody sees until Friday | Tender has\_many BidEvents; Tender belongs\_to an Estimator | Scheduled reminders with Active Job, a daily Action Mailer digest, dashboard scopes | Starter | Four of those are worth expanding. ### The estimating tool An estimator prices a job by copying last year's workbook, and the rates live in a hidden tab. As an app, an estimate is a parent record with line items, and each line item points at a cost code with a current rate. Money needs decimal columns rather than floats, and rates need effective dates so an old estimate still prices the way it priced then. Totals update while the estimator types, which is a Turbo Stream. Our page on [custom estimating software](https://llamapress.ai/custom-estimating-software-built-from-the-spreadsheet-you-already-have) shows the finished product. ### The order tracker A wholesaler tracks orders on one tab with a colour for each status, and two of the three editors keep a local copy. As an app it is a customer, an order, order lines and a status history. Never overwrite a status; append a change with a user and a timestamp. When the warehouse marks an order packed, the sales screen should update without a refresh, which is a [Turbo Stream](https://turbo.hotwired.dev/handbook/streams). The commercial version is our [order tracking software](https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth) page. ### The client onboarding workflow At an IT provider, an insurance agency or a healthcare practice, getting a new client live means collecting twenty pieces of information across several steps, tracked on a checklist someone chases by email. As an app it is a template of steps, a set of steps per client, and a document on each step. You use Active Storage, Action Mailer, Active Job and Pundit in one project. The hard part is the guided part: a client sees one screen with the next thing they owe you. Our page on [guided client onboarding software](https://llamapress.ai/guided-client-onboarding-software-that-replaces-your-checklist-spreadsheet) covers the operator side. ### The stock count Stock counts happen on paper because the spreadsheet is on a desktop and the shelves are not. As an app, a count is a header record with one line per item, filled in from a phone, and each accepted line writes a stock movement. Two counters must not write the same line, which is where transactions and row locking earn their place. Server-rendered HTML is enough for the counting screen, which is the case [Hotwire](https://hotwired.dev/) makes for itself. We covered the spreadsheet version of this failure in [why people overwrite each other in the inventory spreadsheet](https://llamapress.ai/people-keep-overwriting-each-other-in-our-inventory-spreadsheet-here-is-the-fix). ![A warehouse worker carrying a box, the kind of stock count process a Rails app replaces](https://images.unsplash.com/photo-1573207535342-8c0f9506112e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHx3YXJlaG91c2UlMjB3b3JrZXIlMjBjbGlwYm9hcmQlMjBpbnZlbnRvcnklMjBzdG9jayUyMGNvdW50fGVufDB8fHx8MTc4ODU1NDUyOXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Reproductive Health Supplies Coalition](https://unsplash.com/@rhsupplies?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/standing-man-in-orange-t-shirt-holding-white-box-1Bsqy0meA88?utm_source=leonardo_rails_app&utm_medium=referral) ## What each idea teaches you in Rails Every idea above is a route through the same eight parts of Rails. Star counts and licences below were read from the GitHub API on 4 September 2026 and will drift. | Part of Rails | What it does in these apps | Source, read 4 September 2026 | | --- | --- | --- | | Active Record associations and validations | Turns tabs into related tables and enforces the rules the spreadsheet only suggested | [Getting Started guide](https://guides.rubyonrails.org/getting_started.html) and the [Active Record querying guide](https://guides.rubyonrails.org/active_record_querying.html) | | Hotwire: Turbo and Stimulus | Live totals, status boards and phone screens with no separate frontend framework | [hotwired.dev](https://hotwired.dev/) and the [Turbo Streams handbook](https://turbo.hotwired.dev/handbook/streams). hotwired/turbo, MIT, 7,388 stars; hotwired/stimulus, MIT, 13,091 stars | | Active Storage | Drawings, signed forms, supplier price files, inspection photos | [Active Storage overview](https://guides.rubyonrails.org/active_storage_overview.html) | | Action Mailer | The email the spreadsheet made a person send by hand | [Action Mailer basics](https://guides.rubyonrails.org/action_mailer_basics.html) | | Active Job with Solid Queue | Imports, nightly rollups and reminders, off the request | [Active Job basics](https://guides.rubyonrails.org/active_job_basics.html). Solid Queue ships by default in Rails 8 and runs 20 million jobs a day for HEY, per the [Rails 8 announcement](https://rubyonrails.org/2024/11/7/rails-8-no-paas-required) | | Devise | Sign-in, which the shared workbook never had | [heartcombo/devise](https://github.com/heartcombo/devise), MIT, 24,357 stars, last pushed 22 June 2026 | | Pundit or CanCanCan | Roles, so the estimator, the bookkeeper and the client see different screens | [varvet/pundit](https://github.com/varvet/pundit), MIT, 8,521 stars; [CanCanCommunity/cancancan](https://github.com/CanCanCommunity/cancancan), MIT, 5,684 stars | | ActiveAdmin or Avo | The back office screen you would otherwise spend a week hand-building | [activeadmin/activeadmin](https://github.com/activeadmin/activeadmin), MIT, 9,708 stars; [avo-hq/avo](https://github.com/avo-hq/avo), 1,799 stars, licence not classified by GitHub so check the repository LICENSE file | Hotwire already ships with new Rails applications, so do not add the old hotwire-rails gem; that repository has been archived since December 2021. The Solid trio arrived as Rails 8 defaults to remove Redis as a required dependency, per the [Rails 8 announcement](https://rubyonrails.org/2024/11/7/rails-8-no-paas-required). For finished code that uses these parts, read [open-source Rails apps worth reading](https://llamapress.ai/open-source-ruby-on-rails-apps-worth-reading-and-what-they-teach-you). ## How do you scope a first version so you actually finish it? Cut version one to one workflow, one role and three models, running on real data. That is the difference between a finished project and a folder you stop opening. For the order tracker, version one is customer, order and order line. One role: the office. One workflow: create an order, move it through statuses, see today's list. Load last month's real orders as seed data on day one, because real data breaks assumptions that invented data hides. Cut all of this from version one. Reporting and dashboards. Multi-company support. A public sign-up flow. Custom fields. A mobile app. Accounting integrations. Bulk import screens. Anything you would call configurable. Each is a second project wearing the first project's clothes. Then add one thing at a time, deploying after each. Sign-in with Devise. The second role with Pundit. File uploads with Active Storage. The email people send by hand, with Action Mailer. The slow thing, moved into Active Job. Rails 8 ships with Kamal 2 and Thruster preconfigured, so a deploy is a command rather than a project. ## Where do you get real requirements and real data? Ask a small business for the spreadsheet they run a process in. Most owners will send it, because most owners want the problem gone. Offer to build version one for free and walk away if it is not useful. Read the workbook in this order. Mark which tabs hold records and which hold calculations. The record tabs are your tables. Read the header row for the fields, and find the column holding two different things, because that column is a missing table. The data validation lists are your lookup tables and status values. Ask what each colour means; the answer is a status column and often a permission rule. Then ask the owner three questions. What do you do when a value is wrong after the fact, which tells you whether you need an audit trail. Who is allowed to change this number, which tells you the roles. What happens at month end, which tells you the reports and the background jobs. Spreadsheets carry live customer data. Ask for an anonymised copy, or replace names before you commit anything. Never put a real customer list in a public GitHub repository. ## Where these ideas are the wrong choice Some projects should not be Rails, and some processes should stay in the spreadsheet. If your goal is to learn React, Vue or Svelte in depth, these ideas teach you less than a smaller project with a JavaScript frontend. Rails 8 defaults to import maps and Hotwire, framed in the Rails 8 announcement as a deliberate no-build path. You can add a build step with jsbundling-rails and swim against the defaults while you learn. Rails is also the wrong tool when the hard part is not a database of records. Native mobile apps, offline-first field tools, video processing and machine learning pipelines have better homes. On the business side, a spreadsheet one person uses for forty rows is fine. Leave it alone. The signal to build is more than two people depending on the file, or a process with steps and approvals, or a mistake that already cost money. Our own service has a limit too: we build from a process you already run. If the process does not exist yet, map it in a spreadsheet first. ## When the idea is a business need rather than a learning project Some readers want the practice, and some want the software. If you came here to learn Rails, take an idea from the table, scope it to three models, and build it. If you are the operator whose estimating workbook is the idea, the calculation is different. You want the process out of the spreadsheet and into an app, with sign-in, roles, history and email, without hiring a development team. That is our job at LlamaPress. Every customer app we ship runs on Ruby on Rails. Our AI agent, Leonardo, writes the Rails code, and the US-based engineers supervising Leonardo review every change before it reaches you. The steel contractor RSB is the closest match to the first idea in the table. Their estimating workbook priced every job, and every estimator worked in a copy of it. We rebuilt it as a custom app in 6 weeks from kickoff to deployment. Estimates now go out 62% faster and each one costs 40% less to produce. We have converted 400+ spreadsheets the same way. The starting point is the workbook. Upload it and Leonardo reads the tabs, headers, formulas and dropdown lists, then builds a first working app on that structure. You get a standard Rails application, with official guides and a maintenance policy giving each version bug fixes for a year and security fixes for two, per Rails' [Rails maintenance policy](https://guides.rubyonrails.org/maintenance_policy.html). For the companies that made the same call, read [websites built with Ruby on Rails](https://llamapress.ai/websites-built-with-ruby-on-rails-and-what-they-tell-you), and for how we work, [the Rails development company where AI writes the code](https://llamapress.ai/the-ruby-on-rails-development-company-where-ai-writes-the-code). From Spreadsheet to Rails App ### Your best project idea is already on your shared drive. Upload the workbook that runs your process. Leonardo reads the tabs, formulas and dropdown lists and builds a first working Rails app, reviewed by a human engineer. [Upload Your Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to an Engineer](https://llamapress.ai/contact) Building it yourself? [Tell us what you built.](https://llamapress.ai/contact) ## Frequently Asked Questions ### What should I build with Ruby on Rails? Build a process someone currently runs in a spreadsheet. An estimating workbook, an order tracker, a client onboarding checklist, a stock count or a timesheet each become a Rails app with related tables, roles, uploads, email and background jobs. The spreadsheet gives you requirements you did not invent. ### What are good Ruby on Rails project ideas for a portfolio? The ideas that show judgement have more than one role and more than one table. An estimating tool with versioned rates, an order tracker with a status history, or an onboarding workflow with documents and reminders all qualify. Keep the GitHub Actions CI, RuboCop and Brakeman defaults that new Rails applications ship with, so a reviewer can see the work is production shaped. ### What is a good first Rails project for a beginner? A timesheet or an equipment register. Both are three models, plain CRUD and sign-in with Devise, which is the first arc of the official Getting Started guide. Start with one workflow and one role, load real data as seed data, and deploy before you add uploads, email or background jobs. ### How long does a Rails side project take to build? No official Rails source gives a duration, so any number you read is a guess. What is measurable is scope. Three models, one role and one workflow is a project you can finish, and every extra role or integration multiplies the work. ### Is Ruby on Rails a good choice for a business app? Yes, for record-keeping and workflow apps, which is what most internal business software is. Rails ships authentication, file uploads, email, background jobs with Solid Queue and Hotwire in the framework itself. Each Rails version gets bug fixes for a year and security fixes for two, per the official maintenance policy. ### Can AI build a Rails app for me? Yes. At LlamaPress our AI agent, Leonardo, writes the Rails code, and US-based engineers review every change before it reaches you. Upload the spreadsheet that runs your process at llamapress.ai/excel-to-app and Leonardo reads the tabs, headers, formulas and dropdown lists, then builds a first working app. ============================================================================== # Rails Upgrade and Maintenance for Business Owners Source: https://llamapress.ai/rails-upgrade-and-maintenance-for-apps-you-cannot-afford-to-lose ============================================================================== # Rails Upgrade and Maintenance for Business Owners > Old Rails versions stop getting security patches. Learn the real risks, what a Rails upgrade costs, what maintenance covers, and when your app can stay put. Source: https://llamapress.ai/rails-upgrade-and-maintenance-for-apps-you-cannot-afford-to-lose | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Old Rails versions stop getting security patches. Learn the real risks, what a Rails upgrade costs, what maintenance covers, and when your app can stay put. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent A Rails upgrade moves your application from an old version of Ruby on Rails to a version the Rails team still supports. Support matters because of security patches. As of this writing, each Rails version receives bug fixes for about one year and security patches for about two years after release. When that window closes, newly discovered security holes in your version stay open forever. If your business runs on an aging Rails app, you have three honest options. Upgrade it step by step. Keep it patched and professionally maintained where it stands. Or accept the risk with open eyes. This guide is for the person who owns that decision, in plain language. I write Rails for a living, and my company operates production Rails applications every day. One of them is a 2019-era Rails 6.1 application with live paying users. We keep that app patched and running in production right now. So the advice below comes from doing the work, and I will tell you when doing nothing is the reasonable call. ## Rails Versions and the Support Window, in Plain Words Ruby on Rails is the framework your application is built on. Think of a framework as the foundation and plumbing of the building. The Rails team releases new versions every year or so, and each version has a limited support life. While a version is supported, the team ships Rails patches. A patch is a small fix released when someone finds a bug or a security hole. Your developers apply the patch, restart the app, and the hole closes. The whole process usually takes hours, not weeks. As of this writing, the policy is roughly this: bug fixes for about a year after a version ships, and security patches for about two years. The exact dates are published on the official Rails site. The business translation is simple. An app on a version from four or five years ago receives no patches at all. Nobody is watching the door. This is not unique to Rails versions. Every framework works this way, and Rails is better than most. Rails has been maintained continuously since 2004, and large companies like Shopify and GitHub run on it and fund its upkeep. An unsupported version is not a Rails problem. It is a parked-car problem. The car still runs. The recalls just stopped applying to it. ## The Real Risk of Staying on an Old Version The first risk is unpatched CVEs. A CVE is a publicly cataloged security vulnerability. When a Rails CVE is announced, the fix ships for supported versions only. Attackers read the same announcements you do, and they scan the internet for apps that never got the fix. If your app faces the public internet and holds customer data, this risk compounds every year. A breach of a small company's app is not a headline. It is an insurance claim, a lawyer, and some very hard emails. The second risk is quieter: the ecosystem moves on. Rails apps depend on gems, which are packaged pieces of shared code. Gem authors eventually drop support for old Rails versions. One day a routine change fails because a gem you rely on no longer installs cleanly with your version. Hosting platforms retire old Ruby versions on the same schedule. The app did not change, but the ground under it did. The third risk is people. Good Rails developers can choose their projects, and many decline work on a ten-year-old codebase with no tests. The ones who accept charge more, rightly. Every year you wait, the pool of willing hands shrinks and the hourly rate climbs. Owners often discover this at the worst moment, when the one developer who knew the app leaves. ![Technician maintaining production server equipment, the physical picture of software maintenance](https://images.unsplash.com/photo-1785682117028-6fcf2c0b515b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxzZXJ2ZXIlMjByb29tJTIwbWFpbnRlbmFuY2UlMjBlbmdpbmVlcnxlbnwwfHx8fDE3ODc4OTc3ODh8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Valentin Lacoste](https://unsplash.com/@valentinlacoste?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/technician-working-on-server-equipment-with-tools-ufT32_VFS-I?utm_source=leonardo_rails_app&utm_medium=referral) ## What a Rails Upgrade Engagement Actually Looks Like A competent upgrade is boring on purpose. The official Rails upgrade guide says to move one version at a time, and every serious firm follows it. Here is the shape of the work, so you can judge any proposal you receive. First comes an audit. Someone reads the codebase, lists the app's Rails and Ruby versions, counts the gems that will break, and measures test coverage. Test coverage means automated checks that prove the app still behaves correctly after a change. If coverage is thin, writing tests for the workflows that make you money is step one, before any version changes. Skipping this step is how upgrades break invoicing on a Tuesday. Then come the Rails version upgrades themselves, stepwise. From 5.2 you go to 6.0, then 6.1, then 7.x, then onward. Each jump gets its own testing and its own deploy. Each step is small enough to roll back. The app keeps running in production the whole time. What you should not accept is a big-bang rewrite, where a team rebuilds everything on the newest version and swaps it in months later. Rewrites of working systems fail often enough that we wrote about the alternative in our guide to [legacy modernization without a yearlong rewrite](https://llamapress.ai/legacy-application-modernization-without-a-yearlong-rewrite). ## What Rails Upgrade Consulting Costs There are specialist firms that do almost nothing but Rails upgrade consulting, and the good ones are worth knowing about. As of this writing, specialist consultancies bill roughly $150 to $250 per hour in the US market. A single major version jump on a mid-sized application commonly lands in the five figures, and a multi-version climb on a large app can pass six. Offshore rates run lower, with the usual tradeoffs in oversight and time zones. Treat any fixed quote given before an audit as a guess. AI is changing this math. An AI coding agent can do the mechanical share of an upgrade: updating configuration, fixing deprecated calls, adjusting gem versions, and running the test suite after every change. Ours is named Leonardo, he writes Rails code all day, and the people supervising him ship Rails daily. The senior human still owns the judgment calls, and the tests still gate every deploy. The mechanical hours shrink. That is most of the bill. When you compare vendors, ask how they use AI and who stands behind its output. We wrote a longer buyer's guide in [how to choose a Ruby on Rails development company](https://llamapress.ai/the-ruby-on-rails-development-company-where-ai-writes-the-code). ## Rails Maintenance: What a Retainer Covers An upgrade gets you current. Rails maintenance keeps you there, and for most owners a monthly retainer is the right vehicle. A real maintenance retainer covers four things. Security patches applied within days of release, not quarters. Routine gem and Ruby updates, so no single update is ever scary again. Monitoring and backups that someone actually checks. And a small budget of development hours for fixes and minor features, so the app improves instead of merely surviving. As of this writing, market retainers for this scope generally run from several hundred to a few thousand dollars per month, depending on the app's size and how much change you want each month. This is work we do on our own fleet. The 2019-era Rails 6.1 application I mentioned above has live paying users who log in and run their business on it. We keep it patched and running in production while newer software gets built around it. The unglamorous truth about maintenance is that when it works, nothing happens. No breach, no outage, no emergency invoice. You are buying the absence of a very bad week. Maintenance is also the honest on-ramp to bigger goals. Once an app is current and tested, connecting it to the rest of your systems gets cheap. Many of our maintenance clients' first request afterward is wiring the app to their accounting or CRM system, which is its own discipline. We covered it in our guide to [API and software integration services](https://llamapress.ai/api-and-software-integration-services-that-make-your-systems-talk). ## When Staying on an Old Version Is Actually Fine Not every old app needs an upgrade this quarter, and a vendor who says otherwise is selling. An internal tool that runs on your office network, holds no customer data, and faces no internet exposure can often stay put for years. The risk of an unpatched CVE drops sharply when attackers cannot reach the app at all. If the app is stable, the team that uses it is happy, and the one dependency that matters still installs, doing nothing is a defensible decision. Write the decision down, revisit it yearly, and keep verified backups. The calculation flips when any of these become true: the app is reachable from the public internet, it stores customer or payment data, the business depends on it daily, or you can no longer find developers willing to touch it. Two of those describe most of the aging Rails apps we are asked to look at. If yours qualifies, the cheapest time to act is now, because the gap only widens. Start with an assessment, not a contract. Our [services team](https://llamapress.ai/services) will tell you honestly which of the three options fits, including the do-nothing one. ### Find out where your app actually stands Send us your app and we will audit its Rails version, patch status, test coverage, and risk. You get a written assessment and a stepwise plan with real numbers. No rewrite pitch, and no obligation. [Get Your App Assessed](https://llamapress.ai/services) [See How We Build](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. Deciding whether Rails is still the right home for the app is a different question from upgrading it. [Websites built with Ruby on Rails](https://llamapress.ai/websites-built-with-ruby-on-rails-and-what-they-tell-you) shows which companies still run it and which moved off, with the dated sources for both. ## Frequently Asked Questions ### How long does a Rails upgrade take? One version jump on a small, well-tested app can land in a week or two. A multi-version climb on a large app with no tests takes months, because writing tests comes first. The honest answer arrives after an audit, which takes days. Be wary of any firm that quotes a timeline before reading your code. ### How long are Rails versions supported? As of this writing, each Rails version receives bug fixes for about one year and security patches for about two years after release. The Rails core team publishes the exact end-of-support dates for every version on the official Rails site. After the window closes, newly found security holes in that version are never fixed. ### Can we skip versions and jump straight to the newest Rails? The official Rails upgrade guide recommends moving one minor version at a time, and experienced firms follow it. Each version's deprecation warnings tell you what to fix before the next jump. Skipping versions hides those warnings and turns many small, safe steps into one large, risky one. The stepwise path is usually faster in practice because less time goes to debugging mysteries. ### What does Rails maintenance cost per month? As of this writing, market retainers generally run from several hundred to a few thousand dollars per month. Scope drives the number: patch response time, monitoring, backup checks, and how many development hours are included. A useful retainer names response times in writing. Compare that cost against one emergency incident with an unmaintained app, which routinely exceeds a year of retainer fees. ### Is our old Rails app safe if only employees use it? Often, yes, for a while. An app with no public internet exposure and no customer data carries far less risk on an old version, because attackers cannot reach it. The decision should still be deliberate: write it down, keep verified backups, and revisit it every year. The moment the app faces the internet or holds customer data, patching stops being optional. ### Should we upgrade our Rails app or rewrite it from scratch? Upgrade, in almost every case where the app still does its job. A stepwise upgrade keeps the business running and keeps every change reversible. Rewrites of working systems routinely run over budget and quietly drop features the old app handled. A rewrite makes sense mainly when the underlying data model no longer matches the business at all. ============================================================================== # Rebuild Your Excel Workbook as Software or Keep Excel? Source: https://llamapress.ai/should-you-rebuild-your-excel-workbook-as-software-or-keep-using-excel ============================================================================== # Rebuild Your Excel Workbook as Software or Keep Excel? > When to keep Excel and when to rebuild the workbook as a web app: a plain rule, an eight-signal scorecard, and what to replace a complex multi-user model with. Source: https://llamapress.ai/should-you-rebuild-your-excel-workbook-as-software-or-keep-using-excel | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) When to keep Excel and when to rebuild the workbook as a web app: a plain rule, an eight-signal scorecard, and what to replace a complex multi-user model with. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Updated September 2026 Keep Excel when one person owns the workbook and uses it for analysis or for a model that changes every month. Rebuild the workbook as software when several people run a repeatable process through it, the process has rules, and errors or overwrites cost money. The line is usually three or more regular editors plus one mistake that reached a customer. Score the eight signals below. 0 to 2 points means keep Excel, 3 to 4 means fix the workbook in Excel, 5 or more means rebuild. A rebuild keeps your columns, your rules, and your reports. The rows move into a database, the tabs become screens, and the file becomes logins. In short - Keep Excel for single-owner analysis and for models that change shape every month. - Rebuild when several people run a repeatable, rule-based process through one workbook and a wrong number costs money. - Score the eight signals on this page: 0 to 2 keep Excel, 3 to 4 fix inside Excel, 5 or more rebuild. - Replace a multi-user tracker with a database app, an estimating workbook with an estimating app, and a checklist workbook with a guided workflow app. - You can keep Excel for analysis and move only the transactions into the app. Export runs both ways. I spent years at McKinsey helping operators decide what to fix and what to leave alone. Now I look at workbooks for a living. Most weeks I open an estimating model or an inventory tracker that runs a real company. The owner asks the same question every time. The answer depends on who touches the file and what a mistake costs. ![Hands typing into a data spreadsheet on a laptop, the kind of shared workbook a team decides to keep or rebuild](https://images.unsplash.com/photo-1783115259399-3a5a3e0e4592?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHx0ZWFtJTIwbWVldGluZyUyMHNwcmVhZHNoZWV0JTIwbGFwdG9wJTIwb2ZmaWNlJTIwZGVjaXNpb258ZW58MHx8fHwxNzg4MzYxODc0fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Gorilla ROI Data Connector](https://unsplash.com/@gorillaroi?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/hands-typing-on-a-laptop-displaying-a-data-spreadsheet-9fZuqBYlV1w?utm_source=leonardo_rails_app&utm_medium=referral) ## Is it better to rebuild our Excel workbook as software or keep using Excel? Keep Excel if the workbook is a thinking tool. Rebuild the workbook if it has become a system. A thinking tool has one owner, changes shape often, and produces an answer. A pricing model you rework every quarter is a thinking tool, and Excel is the best software ever made for that job. A system has many users, a fixed set of steps, and records that must stay correct. An order tracker that six people update every day is a system, and Excel was never built for that job. Microsoft's own documentation shows the seams. Co-authoring only works when the file sits on OneDrive or SharePoint Online. A file on a shared network drive does not co-author at all. Microsoft's [locked-for-editing page](https://support.microsoft.com/en-us/office/excel-file-is-locked-for-editing-6fa93887-2c2c-45f0-abcc-31b04aed68b3) states that if one person uses a version of Excel without co-authoring, everyone else gets the locked error. Those limits are fine for a thinking tool and daily friction for a system. My rule has three parts. Several people edit the workbook as part of their job. The process has rules, like a markup, an approval, or a status. A wrong number has cost you money or embarrassment at least once. Two of the three, and you should score the workbook below. All three, and the rebuild pays for itself faster than you expect. ## How do I know my workbook has outgrown Excel? The eight-signal scorecard Your workbook has outgrown Excel when the eight signals below add up to five points or more. Score only the signals that are true today, then add the points. | Signal | What it looks like | Points | | --- | --- | --- | | Multiple editors | Three or more people change cells every week. Someone waits for the file to be free. | 2 | | "final\_v7" versions | The folder holds Quotes\_final\_v7.xlsx and Quotes\_final\_v7\_JEN.xlsx. Nobody knows which one is right. | 1 | | One person understands it | One employee built the formulas. When that person is on vacation, the process stops. | 2 | | Formulas nobody dares touch | A nested IF on the Pricing tab runs 40 lines. Every change starts with a copy of the whole tab. | 1 | | An error reached a customer or a bid | A stale rate, a wrong total, or a missed row went out the door at least once. | 2 | | Weekly copy-paste between tabs or workbooks | Someone re-keys the job list into the invoicing workbook every Friday. | 1 | | People need it on a phone | Field staff text photos of the sheet or call the office to get a number. | 1 | | "Who changed this?" | A cell changed and nobody can say who changed it or when. | 1 | The point weights are mine. Multiple editors and the single expert score double because Excel has no fix for either. As of this writing, Microsoft's [co-authoring documentation](https://support.microsoft.com/en-us/office/collaborate-on-excel-workbooks-at-the-same-time-with-co-authoring-7152aa8b-b791-414c-a3bb-3024e46fb104) requires OneDrive or SharePoint Online and an .xlsx, .xlsm, or .xlsb file. Microsoft's [specifications page](https://support.microsoft.com/en-us/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3) says the older Shared Workbook feature keeps change history for 30 days by default. Co-authoring has replaced that feature. Now read your score. 0 to 2 points: keep Excel. Add a change log tab and lock a master copy. 3 to 4 points: fix inside Excel first. Move the file to OneDrive, turn on AutoSave, protect the formula cells, and split data entry from calculation. 5 or more points: rebuild. At that score the workbook is doing a database's job, and Excel charges you for the mismatch every week. ## What does staying in Excel actually cost? Staying in Excel costs labor, errors, and key-person risk. Most owners only count the license, which is close to free. Price the other three with the three lines below. Line one is re-keying. Count the hours per week someone spends copying between tabs or workbooks. Multiply by that person's loaded hourly rate, then by 50 working weeks. Four hours a week at $45 an hour comes to $9,000 a year. That is plain arithmetic, and at most companies the number pays for the whole rebuild. Line two is error cost. Ray Panko's research at the University of Hawaii found errors in 91% of the 54 operational spreadsheets audited in field studies from 1997 onward. His summary puts cell error rates between 1.1% and 2.5%. A 2,000-cell estimating tab at a 1% rate carries about 20 wrong cells. Write down what the last error that reached a customer cost to fix, and assume one like it every year. The largest public example was cheap to prevent. In October 2020, Public Health England left 15,841 Covid cases out of the UK daily figures. The BBC reported that the team used the old XLS format, which holds about 65,000 rows, so cases past the limit were simply dropped. A database would have stored every row. Line three is key-person risk. Name the person who understands the formulas. Estimate the weeks the process stops if that person leaves, and multiply by the weekly revenue the process handles. That number is usually the largest of the three, and nobody has written it down. The other side of the ledger, the [cost to replace a spreadsheet with a custom web app](https://llamapress.ai/how-much-does-it-cost-to-replace-a-spreadsheet-with-a-custom-web-app), has its own page. ![A calculator on a desk next to a laptop, used to add up what re-keying and errors in a workbook cost each year](https://images.unsplash.com/photo-1711606815631-38d32cdaec3e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHxmaW5hbmNpYWwlMjBzcHJlYWRzaGVldCUyMG9uJTIwY29tcHV0ZXIlMjBzY3JlZW4lMjBhbmFseXN0fGVufDB8fHx8MTc4ODM2MTg3OHww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Jakub Żerdzicki](https://unsplash.com/@jakubzerdzicki?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-calculator-sitting-on-top-of-a-table-next-to-a-laptop-LgE3whpa5VA?utm_source=leonardo_rails_app&utm_medium=referral) ## What should you replace a complex Excel model with? Replace a complex Excel model with the kind of app that matches the job the workbook does. A calculation model needs nothing new. A multi-user tracker needs a database app with logins. Find your workbook in the five types below. ### Calculation model used by one analyst Keep Excel. Put the file on OneDrive so version history works, name one master copy, and lock the formula cells. A cash flow model that the finance lead rebuilds every quarter belongs here. Software would slow that person down. ### Multi-user tracker for orders, jobs, or inventory Replace the tracker with a database app. Each row becomes a record with an owner, a status, and a history. Two people can update different orders at the same second without touching each other's work. If your team already fights over one inventory file, read [the fix for people overwriting each other in an inventory spreadsheet](https://llamapress.ai/people-keep-overwriting-each-other-in-our-inventory-spreadsheet-here-is-the-fix). The [difference between Excel and a database](https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software) explains why the overwrite problem cannot be patched. ### Estimating or quoting workbook Replace the workbook with a custom estimating app. The rate tables move into one governed place, and the markup rules become code that every estimator uses the same way. We rebuilt a steel contractor's estimating workbook this way in six weeks from kickoff to deployment. Their estimates got 62% faster, and cost per estimate fell 40%. A [custom estimating app built from your existing spreadsheet](https://llamapress.ai/custom-estimating-software-built-from-the-spreadsheet-you-already-have) starts from your rate tables, never from a blank screen. ### Intake or checklist workbook Replace the checklist with a guided workflow app. Each row of the checklist becomes a step with an owner and a due date, and the app chases missing items. [Guided onboarding software that replaces a checklist spreadsheet](https://llamapress.ai/guided-client-onboarding-software-that-replaces-your-checklist-spreadsheet) covers this type in detail. ### Reporting workbook Replace the workbook with a dashboard fed by a database. Most reporting workbooks are a paste of last week's exports with a pivot on top. Once the transactions live in a database, the report becomes a page that is always current. ## What a rebuild keeps and what changes A rebuild keeps your columns, your rules, and your reports. The Customer, PO Number, and Due Date columns become fields with the same names. The markup formula on the Pricing tab becomes the markup rule in the app. The monthly summary tab becomes a report with the same totals. Four things change. Rows become records, so every order has a history and an owner. Tabs become screens, so an estimator sees the quote screen and a foreman sees the job screen. Colours become statuses, so the yellow cell that meant "waiting on the client" becomes a filterable status called Waiting on Client. The file becomes logins, so the bookkeeper cannot edit the rate table by accident. ## The middle path: keep the model, move the process You do not have to choose one answer for the whole company. Keep Excel for analysis and move the transactions into an app. The app records every order, quote, or job as it happens. Once a month, export the records to a workbook and run your what-if models there. When the model produces a new rate table, import the table back into the app. The split works because analysis needs flexibility and one owner, while transactions need many hands and one truth. Most of the companies I work with land here. ## Three cases where you should stay in Excel Stay in Excel when the workbook has one editor and no downstream users. A rebuild adds logins and screens to a job that needs neither. Stay in Excel when the process changes every month. Building software then is like pouring concrete on wet ground, so run the process by hand until it stops moving. Stay in Excel when the volume is tiny. Ten orders a month with two editors and no errors is a fine system. A no-code builder can also be the right answer at a score of 3 or 4. A form and a filtered view on top of a sheet fixes the single-entry problem for a few dollars a month. The honest tradeoffs of each builder are in [the best Excel to web app converters in 2026, compared honestly](https://llamapress.ai/the-best-excel-to-web-app-converters-in-2026-compared-honestly). ## I run my business in Excel. How do I turn it into a proper web application? Turn the workbook into a web application by treating the workbook as the specification. The columns are the data model, the tabs are the tables, the formulas are the business rules, and the colour coding is the status workflow. A developer would spend weeks of discovery extracting exactly that, and your workbook already holds it. The full walkthrough is in [how to turn an Excel spreadsheet into a web app, step by step](https://llamapress.ai/how-to-convert-your-excel-spreadsheet-to-a-web-application-without-rebuilding-from-scratch). Our AI coding agent, Leonardo, builds this way. You [upload the workbook that runs your process](https://llamapress.ai/excel-to-app), with no credit card. Leonardo reads the columns, the formulas, and the relationships between tabs. Leonardo then asks what a good developer would ask, such as who can edit the rate table and what happens after approval. The output is a standard Ruby on Rails app on a PostgreSQL database, with the code in your own GitHub repository. A human engineer reviews every build. We have converted more than 400 spreadsheets this way, and the [first look at your workbook as an app](https://llamapress.ai/excel-to-app) is free. From Spreadsheet to Software ### Scored five or more? See what the rebuild looks like. Upload the workbook that runs your estimating, orders, or onboarding. Leonardo turns it into a database-backed app you own outright. [See My Workbook as an App](https://llamapress.ai/excel-to-app) [Talk It Through](https://llamapress.ai/contact) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your workbook with you. ## Frequently Asked Questions ### Is it better to rebuild our Excel workbook as software or just keep using Excel? Keep Excel when one person owns the workbook and uses it for analysis or a model that changes often. Rebuild the workbook as software when several people run a repeatable process with rules through it and mistakes cost money. Score the eight signals on this page. A score of 5 or more means the workbook is doing a database's job. ### I run my business in Excel. How can I turn it into a proper web application? Treat the workbook as the specification. The columns become fields, the tabs become tables, the formulas become rules, and the colour codes become statuses. Upload the workbook at llamapress.ai/excel-to-app and Leonardo, our AI coding agent, builds a Rails app on a PostgreSQL database from it. A human engineer reviews the build and the code lands in your own GitHub repository. ### I have a complex Excel model that multiple employees use. What should I replace it with? Replace a complex multi-user Excel model with the app type that matches its job. A tracker for orders, jobs, or inventory becomes a database app with logins. An estimating workbook becomes a custom estimating app. A checklist becomes a guided workflow app, and a reporting workbook becomes a dashboard fed by a database. A pure calculation model with one analyst should stay in Excel. ### How do I know my spreadsheet has outgrown Excel? A spreadsheet has outgrown Excel when several people edit it every week and an error has already reached a customer. A second sign is one person who alone understands the formulas. Other signs are "final\_v7" file names, weekly copy-paste between workbooks, staff who need the numbers on a phone, and nobody knowing who changed a cell. Score those eight signals. Five points or more means rebuild. ### Can I keep using Excel alongside a web app? Yes, and most companies should. Keep Excel for analysis and what-if models, and move the transactions into the web app. Export the app's records to a workbook when you need to model. Import the new rate table back into the app when the model is done. Analysis gets flexibility and the team gets one source of truth. ### What is the risk of running a business on one Excel file? Running a business on one Excel file carries three risks. Errors are common: Ray Panko's field audits found errors in 91% of operational spreadsheets audited since 1997. Overwrites and locked files stall the team, because Excel co-authoring only works on OneDrive or SharePoint Online. Key-person risk is the largest, because the process stops when the one person who understands the formulas leaves. ============================================================================== # Tender Management Software for Subcontractors Source: https://llamapress.ai/tender-management-software-built-around-your-tender-process ============================================================================== # Tender Management Software for Subcontractors > Tender management software shaped around how your team actually tenders. BOQ intake, version control, addenda tracking and review sign-off. Book a free 30-minute review. Source: https://llamapress.ai/tender-management-software-built-around-your-tender-process | Updated: 2026-09-08 --- Tender management software shaped around how your team actually tenders. BOQ intake, version control, addenda tracking and review sign-off. Book a free 30-minute review. Before you compare products ## Every tender package is different. Most tender software assumes they are not. Tender management products are built for a standard process. One head contractor sends a clean bill of quantities. The next sends a locked PDF. The third sends a pricing schedule with its own item numbering and its own idea of what a provisional sum means. Subcontractors absorb all of that difference by hand. The software holds the tidy part, and the estimator holds the rest in a workbook and in their memory. You end up paying per seat for a system that covers half the job. We build the other half. Your tender process becomes the specification, and the software gets shaped to fit it. You keep the rates and the pricing logic you already trust. Estimators keep working in Excel where Excel is the right tool. We put structure, version control and accountability around the parts that currently live in files and inboxes. No per-seat licence You own the system and it runs on your own instance. Excel still works Import what arrives. Export whenever a client asks for a spreadsheet. Days, not quarters Our AI agent builds a first working cut from your existing workbook. What the system covers ## From BOQ intake to submitted tender, in one place Each build differs because each tender process differs. These are the parts almost every subcontractor asks for. ### BOQ and bill of quantities intake Incoming schedules map to your item structure once, whatever format they arrive in. The re-keying stops and every tender records what arrived and when. ### One live version of every tender Tender versions become explicit records instead of files named v3 final. Anyone can answer which version went out, and what changed between them. ### Addenda applied against the priced schedule An addendum changes twelve quantities two days before close. The system applies the change and shows every line it touched, so the summary cannot drift. ### Protected rates and pricing logic Rate sets sit in one controlled place. Estimators price with them without being able to read or alter the formulas behind them. ### Review sign-off and bid management Reviews get assigned to a named person and recorded. Assumptions and exclusions attach to the tender, so a variation claim months later has a source. ### Status across every live tender One screen shows the tenders in flight, who owns each one, what stage it reached, and what moved since Monday. The answer stops living in a phone call. ### Where it goes after tendering Firms usually start at tendering because the pain is loudest there. The same job data then extends into production tracking, purchase orders and invoicing. RSB Contracts followed that path. Contractors we have built for ## Two systems, both shaped around an existing process Civil construction, Australia ### Lohman Contracting Lohman's estimating logic had grown inside a macro-heavy workbook. We rebuilt the workflow as secure software: BOQ mapping, quantity-based productivity, regional rate sets, materials, equipment, project costs, pricing schedules and tender versions. The proprietary rate logic stayed protected rather than exposed to every user. > "I wouldn't hesitate to recommend you. Keep on doing what you did with me." [Read the Lohman build](https://llamapress.ai/portfolio/lohman-construction-erp) Structural steel ### RSB Contracts RSB fabricates and erects structural steel. We automated BOQ inputs, built tendering and revisions, tracked production across every live project, and matched purchase orders to supplier invoices. The same job data carries through each step, so commercial, production and finance share one view. > "I spent 100+ hours trying to improve our estimating spreadsheet with ChatGPT before I found LlamaPress. This new software reflects the way we actually think and has made everything so much more streamlined and practical." [Read the RSB build](https://llamapress.ai/portfolio/rsb) Free, 30 minutes ## The Tender Workflow Review Bring one completed tender package, the spreadsheet your team used to price it, and how you currently handle reviews and addenda. We walk the process with you. ### What you leave the call with - The version-control risks in your current process, named specifically. - The repetitive tender prep a system could remove, with rough hours attached. - The points where accountability is missing, such as unrecorded reviews and unreconciled addenda. - A straight answer on whether custom software is financially justified for your tender volume. Sometimes it is not, and we will say so. ### Send a workbook and we build first Tick the box below and we email you a secure upload link. We build a first cut before the call, so you spend the 30 minutes reacting to working software instead of describing your process. ### Book your review We reply within one business day to confirm a time that suits AEST hours. ## Questions we get from contractors comparing options ### How is this different from buying tender management software off the shelf? A product decides the process and you adapt to it. We start from the process you already run and build software to match. If an off-the-shelf product genuinely fits your tender workflow, buying one is cheaper and we will tell you so on the call. ### Do our estimators have to stop using Excel? No. Estimators keep using Excel where Excel is the right tool. The system imports what arrives and exports whenever a client or head contractor wants a spreadsheet. ### Will our rates and formulas be visible to every user? No. Permissions let estimators price with the rate sets without reading or altering the formulas behind them. Lohman Contracting had exactly that requirement. ### How long does a build take? A first working cut usually takes days rather than quarters, because our AI agent builds from your existing workbook instead of starting from a blank page. You then run a live tender through it and we adjust from what you find. ### What does it cost? We quote fixed-scope sprints after the review, once we both understand the workflow. There is no per-seat licence. The review itself is free. ### Who owns the software? You do. The system runs on your own instance and you can be given access to the source code. ### We are in Australia. Does that work? Yes. We build for Australian civil and commercial contractors already, and we schedule calls in AEST hours. ## Bring one tender. We will show you where the hours go. Thirty minutes, no deck, and a straight answer on whether a custom system is worth building for your business. [Book a free 30-minute tender workflow review](https://llamapress.ai/tender-management-software-built-around-your-tender-process#book) ============================================================================== # Tender Workflow Software for Australian Contractors Source: https://llamapress.ai/turn-your-tender-spreadsheet-into-a-controlled-team-workflow ============================================================================== # Tender Workflow Software for Australian Contractors > Australian civil and commercial contractors: keep Excel and fix the workflow around it. Book a free 30-minute tender workflow review. We come with a first cut built. Source: https://llamapress.ai/turn-your-tender-spreadsheet-into-a-controlled-team-workflow | Updated: 2026-09-08 --- [LlamaPress Blog](https://llamapress.ai/blog) Australian civil and commercial contractors: keep Excel and fix the workflow around it. Book a free 30-minute tender workflow review. We come with a first cut built. [Back to all articles](https://llamapress.ai/blog) Already built for [Lohman Contracting civil, AU](https://llamapress.ai/portfolio/lohman-construction-erp) | [RSB Contracts structural steel](https://llamapress.ai/portfolio/rsb) Where tenders go wrong ## Your estimating logic is sound. The workflow around it is where you lose money. Most subcontractors we speak to price work well. The losses happen in the handling: which version went out, whether the addendum was reconciled, and who checked the exclusions. Every item below came from a real tender room. ### Every tender arrives in a different format One head contractor sends a clean BOQ. The next sends a locked PDF. The third sends a pricing schedule with its own item numbering. Someone re-keys all three into your template. ### Several versions of the same tender exist at once The estimator has one copy. The commercial manager has another with the margin edits. A third sits in an email attachment. Nobody can say for certain which one was submitted. ### Priced items get missed in review A sort detaches a rate from its line item. A row falls outside the sum range. The review catches it sometimes. On a tight close it does not, and the gap shows up during delivery. ### Addenda are not reconciled against the priced BOQ Addendum 3 changes twelve quantities two days before close. Someone updates the workbook by hand. No record shows which lines moved, or whether the summary picked all of them up. ### Assumptions and exclusions live in scattered files Some sit in a tab. Some sit in the covering letter. Some sit in an estimator's head. When a variation claim comes up eight months later, the qualification you relied on is hard to produce. ### One person understands the formulas The workbook grew over a decade. It carries the rate logic that makes your pricing competitive. Hiring a second estimator means handing that person a file nobody can safely explain. ### No status view and no audit trail You cannot open one screen and see the eleven tenders in flight, who owns each one, what stage it reached, and what changed since Monday. The answer lives in a phone call. Our position ## Keep Excel. Fix the workflow around it. We do not sell an estimating package, and we will not ask you to move your rates into someone else's template. Your team keeps working the way it already works, and your workbook keeps doing the pricing it already does well. We build the layer that is missing between the tender package, your people, and the spreadsheet. Tender packages come in and get structured. Revisions and addenda get tracked. Reviews get recorded against a named person. Exports go back out to Excel whenever you want them. You end up with one live version of every tender, and the pricing logic you spent years building stays exactly where it is. What we build ## A system shaped around your tender process, not a product you bend to fit Every build starts from the workbook you use now. Our AI agent, Leonardo, reads your structure and builds working software from it. Most first cuts are running within days, and you review them against a real tender. Step one ### BOQ and package intake Incoming schedules get mapped to your item structure once. The re-keying stops. Each tender keeps a record of what arrived and when. Step two ### Controlled pricing and revisions Rates sit in one protected place. Tender versions are explicit. Addenda apply against the priced schedule and leave a trail of every quantity that moved. Step three ### Review, submit, and look back Reviews are assigned and signed off. Assumptions and exclusions attach to the tender itself. Months later you can show what you priced and why. ### Where it usually goes next Firms normally start at estimating because that is where the pain is loudest. Once tendering is under control, the same system extends into production tracking, purchase orders, and invoicing, using the job data that is already there. RSB Contracts followed exactly that path. Contractors we have done this for ## Two builds, both starting from a workbook Civil construction, Australia ### Lohman Contracting Lohman's estimating logic had grown inside a macro-heavy workbook. We rebuilt that workflow as secure software: BOQ mapping, quantity-based productivity, regional rate sets, materials, equipment, project costs, pricing schedules, and tender versions. The proprietary rate logic stayed protected instead of being exposed to every user. > "I wouldn't hesitate to recommend you. Keep on doing what you did with me." [Read the Lohman build](https://llamapress.ai/portfolio/lohman-construction-erp) Structural steel ### RSB Contracts RSB fabricates and erects structural steel. We automated BOQ inputs, built tendering and revisions, tracked production across every live project, and matched purchase orders to supplier invoices. The same job data carries through each step, so commercial, production, and finance share one view. > "I spent 100+ hours trying to improve our estimating spreadsheet with ChatGPT before I found LlamaPress. This new software reflects the way we actually think and has made everything so much more streamlined and practical." [Read the RSB build](https://llamapress.ai/portfolio/rsb) Free, 30 minutes ## The Tender Workflow Review Bring one completed tender package, the spreadsheet your team used to price it, and how you currently handle reviews and addenda. We walk the process with you. ### What you get from the call - The version-control risks in your current process, named specifically. - The repetitive prep work that a system could remove, with rough hours attached. - The points where accountability is missing, such as unrecorded reviews and unreconciled addenda. - An honest answer on whether custom software is financially justified for your volume. Sometimes it is not, and we will say so. ### Send your workbook when you book Tell us in the form that you can share a workbook and we will email you a secure upload link. We build a first cut before the call, so you spend the 30 minutes reacting to working software instead of describing your process. ### Book your review We reply within one business day to confirm a time that suits AEST hours. ## Questions contractors ask us first ### Do we have to stop using Excel? No. Estimators keep using Excel where Excel is the right tool. We build the workflow around it and keep exports available, so you can still hand a client or a head contractor a spreadsheet. ### Will our pricing logic be exposed to everyone? No. Protecting rate logic is one of the main reasons firms come to us. We set permissions so estimators use the rates without being able to read or alter the formulas behind them. Lohman Contracting had exactly this requirement. ### How long does a build take? A first working cut usually takes days, not quarters, because our AI agent builds from your existing workbook instead of starting from a blank page. You then use it on a live tender and we adjust from what you find. ### What does it cost? Builds are quoted as fixed-scope sprints after the review, once we both understand the workflow. The review itself is free. If the numbers do not justify a build for your tender volume, we will tell you on the call. ### Who owns the software? You do. The system runs on your own instance and you can be given access to the source code. You are not renting a seat in someone else's product. ### We are in Australia. Does that work? Yes. We work with Australian civil and commercial contractors already, and we schedule calls in AEST hours. ## Bring one tender. We will show you where the hours go. Thirty minutes, no deck, and a straight answer on whether a custom system is worth building for your business. [Book a 30-minute tender workflow review](https://llamapress.ai/turn-your-tender-spreadsheet-into-a-controlled-team-workflow#book) Prefer to start by uploading a spreadsheet? [Try the Excel to app builder](https://llamapress.ai/excel-to-app). ============================================================================== # The AI HTML Generator You Can Keep Building On Source: https://llamapress.ai/the-ai-html-generator-that-writes-pages-you-can-keep-building-on ============================================================================== # The AI HTML Generator You Can Keep Building On > Describe a page in plain English and get working HTML back. How AI HTML generators differ, what to ask for, and why the second request matters more than the first. Source: https://llamapress.ai/the-ai-html-generator-that-writes-pages-you-can-keep-building-on | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Describe a page in plain English and get working HTML back. How AI HTML generators differ, what to ask for, and why the second request matters more than the first. [Back to all articles](https://llamapress.ai/blog) Generating a web page from a sentence is no longer impressive. Dozens of tools will take "a pricing page with three tiers and a FAQ" and hand back something reasonable in under a minute. The first page is close to free. What separates these tools is what happens on your fourth request, when the page exists and you want the middle tier highlighted, the FAQ collapsed, the button to go somewhere real, and the whole thing to stop looking like every other generated page. That is where most of them run out, and it is worth knowing which kind you are using before you build anything on top of it. ![A developer working with code on screen, the kind of output an AI HTML generator produces from a written description](https://images.unsplash.com/photo-1587620962725-abab7fe55159?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&q=80&w=1080) Photo by [ThisisEngineering](https://unsplash.com/@thisisengineering?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-facing-computer-desktop-ZPeXrWxOjRQ?utm_source=leonardo_rails_app&utm_medium=referral) ## Three Kinds of AI HTML Generator They get described interchangeably and they are not interchangeable. ### Snippet generators You ask a chat interface for HTML and it returns a block of code in the reply. Fast and flexible, and the right tool when you know exactly what you want and where it is going. The friction is that you are the integration layer. You copy, you paste, you fix the parts that assumed a stylesheet you do not have, and you run it yourself to see whether it works. ### Template fillers A site builder with AI on the front. You describe your business and it selects a layout, writes the copy, and populates a template. This produces polished results very quickly, and it is genuinely good for a marketing site. The ceiling arrives when you want something the template system does not have a slot for, because the AI is choosing among predefined arrangements rather than writing arbitrary markup. ### Agents that build and keep building The page is generated, hosted, and live, and it stays under the agent's control. You describe the next change and the agent edits the actual code. There is no copy step, and no ceiling made of available templates, because the thing being manipulated is a real codebase rather than a configuration. The third kind is the one worth using when the page is going to be around for a while, and it is what we built. ## How to Describe a Page So the Output Is Usable The quality of generated HTML depends more on the request than on the model. A few patterns reliably produce better first passes. Name the sections in order. "Hero with a headline and one button, then three feature cards, then a testimonial, then a footer with four link columns" produces a far better result than "a landing page for my consultancy", because the second version leaves the entire structure to be invented. Give the constraints that are not negotiable. Brand colours as hex values, the typeface, whether it must work inside an existing Tailwind project, whether it needs to be a single self-contained file. These are the things that are cheap to state and expensive to retrofit. Say what the page is for. A page meant to capture leads gets a different layout from a page meant to explain a product, and stating the job lets the model make dozens of small decisions in the right direction without being asked about each one. Ask for real content or explicitly ask for placeholders. Left unsaid, you get invented copy that reads plausibly and is entirely fictional, which has a habit of surviving into production because it looks finished. Iterate in small requests. "Make the header sticky and tighten the spacing between the cards" lands accurately. A paragraph containing nine simultaneous changes usually gets six of them. ### Describe a page. Get a live one. Tell Leonardo what you want in plain English and get a working, hosted page back. Keep editing by describing changes. Free to start, no credit card, and the code is yours. [Start Building Free](https://llamapress.ai/picture-to-html) [Talk to a Human First](https://llamapress.ai/contact) ## The Second Request Is the Real Test Watch what a generator does when the page needs to stop being a picture and start being software. The contact form is the usual first collision. A generated form is markup: fields, labels, a button. Submitting it does nothing, because sending an email requires a server, and a tool that only writes HTML has nowhere to put one. The same wall appears when the pricing table needs to reflect real plans, when the page needs a members-only section, or when someone other than you needs to update the copy without touching code. Each of those is a small ask and each one is on the far side of a boundary the tool cannot cross. The result is a page that is 90 percent finished forever. An agent with a real application behind it treats those as ordinary requests. The form gets a database table and sends mail. The section gets user accounts. The content gets an admin screen. Nothing about the workflow changes, because the agent was editing a working application the whole time rather than producing files. That is the same capability that lets people hand us a spreadsheet and get back an operational tool instead of a web page. The [Excel-to-app master guide](https://llamapress.ai/excel-to-app-master-guide) covers what that looks like when the thing you are building is the system your team runs on. ## If You Have a Picture Instead of a Description Words are not always the fastest input. When you already have a design, a competitor's page, or a sketch, uploading it beats describing it, and the same agent handles both. Start with [the picture to HTML converter](https://llamapress.ai/picture-to-html) for any image. If your input is specifically a screen capture, [turning a screenshot into a working HTML page](https://llamapress.ai/how-to-turn-a-screenshot-into-a-working-html-page) covers what a still image can and cannot tell the model. If you care about the quality of the stylesheet you get back, [clean HTML and CSS from an image](https://llamapress.ai/turn-any-image-into-clean-html-and-css-you-can-actually-maintain) covers what to check. ## Frequently Asked Questions ### Is there a free AI HTML generator? Yes. Describing a page and generating the first working version is free here and needs no credit card. Paid plans begin when you want the result running as a permanent application with a database, user accounts, and your own domain. ### Can AI write good HTML? For layout, structure, and styling, the output is genuinely good and usually better than hand-written markup produced under time pressure. It holds up on semantic elements, responsive layout, and accessible defaults when you ask for them. It is weaker at knowing your specific constraints, so state your brand colours, typeface, and framework rather than hoping they are inferred. ### What is the difference between an AI HTML generator and an AI website builder? A generator produces markup you take away. A builder assembles a site from templates it controls. The third option, which is what we run, generates real code and keeps editing it on request, so there is no copy step and no template ceiling. ### Does the generated page work on mobile? Yes. Pages are generated with flexible layout by default rather than fixed widths. Say so explicitly if mobile is the primary target, because the model will otherwise design for a desktop viewport first and adapt downward. ### Do I own the code it generates? You do. There is no proprietary format and no export fee. You can take the code and run it anywhere, which is the difference that matters most if the page becomes something your business depends on. ### Can it add a working form or a database? Yes, and this is the point at which a generator and an agent separate. A form that only exists as markup cannot send anything. Ask for a working contact form and you get a database table, validation, and delivery, because there is a real application behind the page rather than a file. ============================================================================== # The Airtable Alternative for Real Software Source: https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet ============================================================================== # The Airtable Alternative for Real Software > Hit Airtable's walls? An honest look at when Airtable works, where record limits and per-seat pricing bite, and when custom AI-built software costs less. Source: https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Hit Airtable's walls? An honest look at when Airtable works, where record limits and per-seat pricing bite, and when custom AI-built software costs less. [Back to all articles](https://llamapress.ai/blog) Nobody searches for an Airtable alternative on day one. You search after you've lived in it for a while. You built the base, linked the records, set up the views your team asked for, and somewhere along the way you hit a wall. Maybe the wall was a record limit. Maybe it was the monthly invoice after seat number twelve. Maybe it was the moment your estimating process needed real logic and Airtable handed you a scripting block. I build software for a living, and I've watched dozens of operations teams go through the same arc: spreadsheet, then Airtable, then frustration, then a search bar. Most of the "best Airtable alternatives" articles you'll find will point you at another no-code grid. Different logo, same ceiling. This page makes a different argument: if Airtable is running your operational backbone, the honest alternative is custom database-backed software, and the economics of building it changed more in the last two years than in the previous twenty. ![Custom operations dashboard showing performance analytics on a laptop screen, the kind of purpose-built view teams want after outgrowing Airtable](https://images.unsplash.com/photo-1551288049-bebda4e38f71?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxtb2Rlcm4lMjBvZmZpY2UlMjB0ZWFtJTIwc29mdHdhcmUlMjBkYXNoYm9hcmR8ZW58MHx8fHwxNzgzODc4MjQ0fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Luke Chesser](https://unsplash.com/@lukechesser?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/graphs-of-performance-analytics-on-a-laptop-screen-JKUTrJ4vK00?utm_source=leonardo_rails_app&utm_medium=referral) ## What Airtable Genuinely Does Well Credit where it's due. Airtable took the spreadsheet and gave it structure. Fields have types. Records in one table can link to records in another, so "Acme Corp" exists once instead of being retyped in forty rows. Views let your sales lead see a kanban while your ops lead sees a grid of the same data. The automations builder handles the easy stuff, send an email when a status changes, create a record when a form comes in. Interface Designer lets you put a cleaner face on a base so the warehouse team doesn't stare at raw tables. For a five-person team tracking content calendars, event plans, or a lightweight CRM, that's honestly hard to beat. You can go from nothing to working in an afternoon, and the free tier is generous enough to prove the concept before anyone signs off on budget. ## The Three Walls Teams Hit Almost every operator who lands on this page hit one of three walls. Sometimes all three in the same quarter. ### Wall one: relational-lite modeling Airtable's linked records are real relationships, but shallow ones. A fabrication shop I worked with needed estimates containing line items, where each line item pulled a rate from a price book that varied by customer tier and effective date. In a real database that's a routine design. In Airtable it turned into a fragile web of lookup fields, rollups, and a junction table nobody on the team could confidently edit. The base/table/view model is a genuine step up from a spreadsheet, and it still assumes your process is fundamentally a set of lists. Order workflows, multi-step onboarding, and estimation logic are not lists. They're processes with state, rules, and history, and forcing them into a grid means the grid, once again, becomes something only one person understands. ### Wall two: per-seat pricing across an ops team As of this writing, Airtable's Team plan runs about $20 per seat per month billed annually, and Business is around $45 per seat per month. That's fine at five seats. An operations backbone is different: the estimator, the project managers, the office manager, the warehouse lead, the bookkeeper, and the owner all need to touch the system. Fifteen people on Business is roughly $8,000 a year, every year, forever, and the price only moves in one direction as you hire. Teams respond by sharing logins or leaving half the company on view-only workarounds, which quietly defeats the reason you bought the tool. ### Wall three: the logic ceiling and hard limits Every base has a record cap. As of this writing it's in the neighborhood of 1,000 records per base on the free tier, 50,000 on Team, and 125,000 on Business. Order-management data grows fast, and "archive old records to a second base" is the standard advice, which splits your single source of truth in two. The sharper ceiling is logic. The moment you need conditional pricing, multi-step approvals, or validation like "a bid can't go out unless every line item has a reviewed rate," the automations builder taps out and you're in a scripting block writing JavaScript. At that point you are paying per seat for the privilege of maintaining custom code inside someone else's product, with none of the tooling real software development gives you. ## Comparing Your Actual Options Here's the landscape the way I'd lay it out for a friend, including the option most listicles skip. | | Airtable | Generic no-code tools | Traditional dev shop | LlamaPress custom app | | --- | --- | --- | --- | --- | | Cost model | Per seat, per month, grows with headcount | Per seat or per app, grows with usage | $50K to $250K+ project, then retainers | Flat build, no per-seat charges (see [pricing](https://llamapress.ai/pricing)) | | Fit to your process | Your process bends to bases, tables, views | Your process bends to their templates | Exact fit, if the spec survives 6 months | Exact fit, built from the spreadsheet you already run | | Ownership | Rented; data exportable, logic is not | Rented; export quality varies | You own the code you paid for | You own the application and the data | | Limits | Record caps per base, automation quotas, scripting ceiling | Platform-defined, hit them mid-growth | None technical; budget and timeline are the limits | A real database; grows with the business | If you're weighing Airtable against its closest cousins, we wrote a companion piece on [the Smartsheet alternative for operations that outgrow a configurable spreadsheet](https://llamapress.ai/the-smartsheet-alternative-when-your-operations-outgrow-a-configurable-spreadsheet). Same family of problem, different shade of grid. ## When Airtable Is the Right Choice Stay on Airtable, sincerely, if most of this describes you: your team is under ten people, your data fits comfortably in a few thousand records, your workflows are standard enough that a status field and a couple of automations cover them, and you need something working today. Editorial calendars, event logistics, applicant tracking for a small team, a simple CRM for a founder-led sales motion. Airtable is excellent at all of these, and replacing it with custom software would be spending money to solve a problem you don't have. The calculation changes when the tool becomes your operational backbone. That word matters. A content calendar going down for a day is annoying. Your order pipeline, your estimate flow, or your client onboarding going sideways costs real revenue and real customers. ## When to Move to Custom Software Move when you recognize these patterns. You maintain a "how our Airtable works" document because the base is too clever for new hires to learn by looking. You've split data across multiple bases to dodge record limits and now sync between them. Your monthly Airtable invoice would cover a car payment. Someone on your team has become the unofficial scripting-block developer. Or the simplest test of all: you're describing your process to the tool in workarounds instead of describing it plainly. The reason operators historically ignored this advice was cost. Custom software meant a six-figure engagement and half a year of discovery meetings, and against that, $8,000 a year in seats looked cheap. That math is what AI construction broke. If you want the deeper technical background on what a real database gives you over any grid tool, spreadsheet or dressed-up spreadsheet alike, read our breakdown of [the main difference between spreadsheets and database-backed software](https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software). If Glide or Softr are also on your shortlist, our [Glide vs Softr vs Airtable vs custom build comparison](https://llamapress.ai/glide-vs-softr-vs-airtable-vs-a-custom-build-for-an-internal-tool-from-excel) prices all four for a 12-user internal tool. ![Monitoring dashboard on a large screen, representing purpose-built software tracking live business operations](https://images.unsplash.com/photo-1526628953301-3e589a6a8b74?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxtb2Rlcm4lMjBvZmZpY2UlMjB0ZWFtJTIwc29mdHdhcmUlMjBkYXNoYm9hcmR8ZW58MHx8fHwxNzgzODc4MjQ0fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Stephen Dawson](https://unsplash.com/@dawson2406?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/turned-on-monitoring-screen-qwtCeJ5cLYs?utm_source=leonardo_rails_app&utm_medium=referral) ## How the Leonardo Build Works Our AI coding agent, Leonardo, builds your application starting from the artifact you already trust: the spreadsheet (or the Airtable export, which is just a spreadsheet with better posture). Your columns become properly typed database fields. Your tabs become related tables with real foreign keys instead of lookup chains. Your tribal knowledge, the "always check the rate sheet before quoting tier-two customers" rules that live in someone's head, becomes enforced validation the software simply won't let anyone skip. The output is a real web application on a real database. Screens designed for each role rather than filtered views of one grid. Workflow logic written as actual code, versioned and testable, instead of a scripting block behind a paywall. Unlimited records, because databases don't meter rows. And no per-seat fee, so putting your whole company in the system is a decision about process, never about budget. Builds that used to take two quarters now take days to weeks, because Leonardo does the construction and humans review the results. You can [start from your spreadsheet here](https://llamapress.ai/excel-to-app) and see the first working version before you commit to anything. ### Outgrew the base? Bring us the spreadsheet. Upload the Excel file or Airtable export your operation actually runs on, and Leonardo will turn it into custom database-backed software you own. No seats to count. No record limits to dodge. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to a Human First](https://llamapress.ai/contact) ## Frequently Asked Questions ### Is there a cheaper alternative to Airtable? For small teams, plenty: Google Sheets, Notion databases, or Airtable's own free tier. For a 10-plus-person operations team, the surprising answer is often custom software. Per-seat SaaS looks cheap monthly and expensive over five years; a flat-cost custom build inverts that, especially now that AI construction has pulled build costs down by an order of magnitude. ### What are Airtable's limits? The ones that bite in practice: record caps per base (as of this writing, roughly 50,000 on Team and 125,000 on Business), monthly automation run quotas, attachment storage caps per base, and a logic ceiling where anything beyond the visual automations builder requires JavaScript in scripting extensions. Deep relational modeling, like line items that price differently by customer tier, is technically possible but fragile. ### Can I export my Airtable data? Yes. Each table exports to CSV, and the API lets you pull everything programmatically. What you can't export is the logic: automations, scripts, interfaces, and view configurations stay behind. That's actually good news for a migration, because a CSV export is exactly the input Leonardo builds from. ### How much does a custom app cost compared to Airtable? Fifteen Business seats run roughly $8,000 a year, indefinitely, as of this writing. A traditional dev shop would quote $50,000 and up for a comparable operations app. An AI-built LlamaPress application lands at a small fraction of the agency number as a one-time build you own outright, so it typically pays for itself within the first year or two of avoided seat fees. Current numbers are on our [pricing page](https://llamapress.ai/pricing). ### When should I move off Airtable? When the tool holds your operational backbone and you're managing the tool more than it manages the work: split bases to dodge record caps, a resident scripting-block maintainer, seat costs shaping who gets access, or a process that only fits after workarounds. If Airtable still fits in one base with standard workflows, stay put. ============================================================================== # The AppSheet Alternative for Real Custom Software Source: https://llamapress.ai/the-appsheet-alternative-when-your-spreadsheet-deserves-real-custom-software ============================================================================== # The AppSheet Alternative for Real Custom Software > Hit AppSheet's ceiling? An honest look at what AppSheet does well, where per-user pricing and the spreadsheet backend bite, and when custom software wins. Source: https://llamapress.ai/the-appsheet-alternative-when-your-spreadsheet-deserves-real-custom-software | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Hit AppSheet's ceiling? An honest look at what AppSheet does well, where per-user pricing and the spreadsheet backend bite, and when custom software wins. [Back to all articles](https://llamapress.ai/blog) You probably found AppSheet the same way most operators do. You had a spreadsheet running something important, you searched for a way to turn it into an app, and Google handed you its own answer. Twenty minutes later your Sheet had a phone interface. It felt like magic. Then a few months passed, the workflow got heavier, and you started hitting things: an expression language that reads like a foreign dialect of Excel, a per-user invoice that grows with every hire, sync behavior you can't quite predict, and a moment where the next feature you needed sent you to an Apps Script tutorial. Now you're searching for an AppSheet alternative, which tells me the honeymoon is over. I build software for a living, and I want to be straight with you about what's actually going on. AppSheet didn't fail you. It did exactly what it promises, which is to configure an app on top of a spreadsheet. The problem is that your operation stopped being a spreadsheet problem somewhere along the way. The alternative worth considering isn't another configurator with a different logo. It's actual custom software built from your spreadsheet, with a real database underneath, and the economics of getting that built changed dramatically once AI started doing the construction. ![Field worker holding a tablet on site, the mobile data-capture use case where AppSheet apps typically start](https://images.unsplash.com/photo-1521633286323-05b17f47cb74?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx0YWJsZXQlMjBidXNpbmVzcyUyMGZpZWxkJTIwd29ya2VyfGVufDB8fHx8MTc4Mzg4MTAyMnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Tyler Franta](https://unsplash.com/@tfrants?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-holding-black-smart-cover-during-daytime-RbFDzMKTH6Q?utm_source=leonardo_rails_app&utm_medium=referral) ## What AppSheet Genuinely Does Well Credit first, because AppSheet earns it. Point it at a Google Sheet and it reads your columns, guesses your data types, and generates a working mobile app before your coffee cools. For field data capture that's a legitimately great deal. A crew lead logging site inspections, a driver checking off deliveries, a technician photographing completed work with GPS attached. AppSheet handles offline capture and syncs when the signal comes back, which matters a lot on job sites. It also lives inside Google Workspace, so if your company already runs on Gmail and Drive, there's no procurement fight and no new vendor. The entry price is low. As of this writing, the Starter tier runs about $5 per user per month and Core about $10, with Enterprise plans above that. For a five-person crew capturing structured data on phones, that's cheap, fast, and genuinely useful. Nothing I say below takes that away. ## The Four Walls AppSheet Users Hit Almost everyone searching for a Google AppSheet alternative has run into at least one of these. Most operators I talk to have hit two or three. ### Wall one: the expression language is a second job AppSheet's expression language looks like Excel formulas from a distance, and that resemblance is a trap. SELECT(), LOOKUP(), valid\_if conditions, slice expressions, virtual columns. It's a real programming dialect with its own evaluation rules, and somebody on your team has to become fluent in it. An ops manager at a distribution company told me she spent a full weekend debugging a valid\_if expression that blocked her warehouse team from logging orders, and the fix turned out to be a subtle difference in how AppSheet handles blank values versus how Excel does. You left spreadsheet formulas to escape exactly this kind of fragility. Learning a new formula dialect that only works inside one vendor's product is a strange way to escape it. ### Wall two: per-user pricing across an operations team Five dollars a user sounds like nothing until you count the users. An operational backbone touches everyone: the estimator, three project managers, the office manager, the warehouse lead, the bookkeeper, the owner, and every field tech who logs anything. Twenty-five people on Core is around $3,000 a year as of this writing, and features like advanced automation and security options push teams toward Enterprise tiers where the per-seat number climbs further and the price gets quote-based. The bill grows every time you hire, forever, and teams respond the way they always do: shared logins and "just text me the update," which quietly breaks the single source of truth you built the app to create. ### Wall three: it's still a spreadsheet underneath This is the wall people feel without being able to name. Your AppSheet app reads and writes rows in a Sheet or Excel file. That backend has no real relational integrity. Nothing at the data layer stops an order row from pointing at a customer who was deleted last week. Two people editing near-simultaneously, one in the app and one directly in the Sheet, produce sync conflicts that AppSheet resolves as best it can, and "as best it can" is a phrase you never want near your order pipeline. Performance degrades as the Sheet grows, because every sync is essentially rereading a big flat file. And anyone with edit access to the underlying spreadsheet can bypass every rule your app enforces just by typing in a cell. We wrote a full breakdown of [the difference between spreadsheets and database-backed software](https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software) if you want the deeper mechanics, but the short version is that AppSheet gives you an app-shaped door into a building with no load-bearing walls. ### Wall four: the customization cliff Every configurator has a ceiling, and AppSheet's arrives the day your process needs real logic. Conditional pricing by customer tier. A multi-step approval where a bid over a threshold routes to the owner. A document generated from a template with line items grouped and subtotaled a specific way. The visual editor taps out, and the official answer becomes Apps Script, webhooks, or calling external services from a bot. At that point you're maintaining custom code anyway, except it lives inside someone else's product, glued to a spreadsheet, without version control or a test suite. You've arrived at software development through the back door, holding none of its tools. There's also the UX ceiling: every AppSheet app looks like AppSheet, because you're choosing among its view types rather than designing screens around how your people actually work. ## Comparing Your Actual Options Here's the honest landscape, including the option the listicles leave out. | | AppSheet | Other no-code grids | Traditional dev shop | LlamaPress custom app | | --- | --- | --- | --- | --- | | Data model | Your spreadsheet, with the app syncing against it | Proprietary tables with relational-lite links | Real relational database | Real relational database built from your spreadsheet | | Cost model | Per user, per month, grows with headcount | Per seat or per app, grows with usage | $50K to $250K+ project, then retainers | Flat build, no per-seat charges (see [pricing](https://llamapress.ai/pricing)) | | Fit to your process | Your process bends to AppSheet's view types | Your process bends to their templates | Exact fit, if the spec survives 6 months | Exact fit, built from the workflow you already run | | Ownership | Rented; the data is yours, the app config is not | Rented; export quality varies | You own the code you paid for | You own the application and the data | | Ceiling | Expression language, then Apps Script and webhooks | Platform limits, hit mid-growth | None technical; budget and timeline are the limits | Real code; grows with the business | If you're comparing across the category, we've written companion pieces on [the Airtable alternative for teams that need real software](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet) and [the Glide alternative for apps that need a real database](https://llamapress.ai/the-glide-alternative-when-your-app-needs-a-real-database-not-a-spreadsheet). Different logos, same family of ceiling. ## When AppSheet Is the Right Choice Stay on AppSheet, sincerely, if most of this describes you. Your company runs on Google Workspace and you want a tool that lives inside it. Your app is fundamentally about field data capture: inspections, checklists, deliveries, photo logs, simple approvals. The data volume is modest and one or two people are the only ones editing the underlying Sheet. You need something working today, and a few dollars per user per month is the entire budget. For mobile-first checklist work in a Workspace shop, AppSheet is a genuinely good product, and Google keeps improving it, especially the Gemini-assisted app creation. Replacing it with custom software in that situation would be solving a problem you don't have. The calculation changes when the app has become your operational backbone. A site checklist going down for an afternoon is annoying. Your estimate pipeline, your order flow, or your client onboarding tripping over a sync conflict costs real money and real customers. ## When to Move to Custom Software Move when you recognize these patterns. One person on your team has become the unofficial AppSheet expression developer, and the app is frozen whenever they're on vacation. You've started keeping a second spreadsheet to work around what the first one, and the app riding on it, can't represent. The per-user invoice is shaping decisions about who gets access, which means your source of truth has blind spots by design. You've opened an Apps Script tutorial more than once this quarter. Or the simplest test: when you describe your process to the tool, you describe it in workarounds. The historical reason operators ignored this advice was cost. Custom software meant a six-figure agency engagement and six months of discovery meetings, and against that, a few thousand a year in AppSheet seats looked like a bargain. AI construction broke that math. Builds that took two quarters now take days to weeks, because an AI agent does the construction and humans review the results. ![Business operator reviewing a custom application on a tablet, the purpose-built interface teams get after moving past a spreadsheet-backed configurator](https://images.unsplash.com/photo-1517421189533-dbc3211edf9a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHx0YWJsZXQlMjBidXNpbmVzcyUyMGZpZWxkJTIwd29ya2VyfGVufDB8fHx8MTc4Mzg4MTAyMnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Daniel Cañibano](https://unsplash.com/@danicanibano?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-sitting-on-chair-using-tablet-R6j4IlsCww0?utm_source=leonardo_rails_app&utm_medium=referral) ## How the Leonardo Build Works Here's the key distinction. AppSheet configures an app on top of your spreadsheet. Our AI coding agent, Leonardo, writes actual software from it. You upload the workbook your operation really runs on, the one with the tabs and the formulas and the color coding only you understand, and Leonardo builds a real web application around it. Your columns become properly typed database fields. Your tabs become related tables with genuine foreign keys, so an order literally cannot exist without a valid customer behind it. The rules living in your head and your valid\_if expressions become workflow logic written as real code, versioned and testable, that the software enforces for everyone. The interface gets designed around your process instead of chosen from a menu of view types. The estimator sees an estimating screen. The warehouse sees a fulfillment queue. There's no sync against a flat file, because the database is the system of record, and there's no per-user meter, so putting your whole company in the system is a process decision rather than a budget one. And you own the application outright, code and data both, instead of renting access to a configurator. If you're ready to see it against your own data, you can [convert your Excel spreadsheet to a web application](https://llamapress.ai/excel-to-app) and look at the first working version before committing to anything. ### Done configuring? Bring us the spreadsheet. Upload the Sheet or Excel file behind your AppSheet app, and Leonardo will build it into custom database-backed software you own. No expression language to learn. No per-user meter running. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to a Human First](https://llamapress.ai/contact) ## Frequently Asked Questions ### Is there a better alternative to AppSheet? Depends on what "better" means for you. For simple mobile data capture in a Google Workspace shop, AppSheet is already excellent and switching to a rival configurator mostly trades one ceiling for another. For an operational backbone, the meaningful alternative is custom database-backed software built from your spreadsheet, which used to be unaffordable and now, with AI doing the construction, lands at a fraction of traditional dev-shop cost. ### What are AppSheet's limitations? The ones that bite in practice: the app syncs against a spreadsheet backend rather than a real database, so there's no true relational integrity and sync conflicts happen when people edit the Sheet directly. Complex logic requires learning AppSheet's expression language, and beyond that, Apps Script or webhooks. The UI is assembled from AppSheet's view types rather than designed for your process, and performance degrades as the underlying Sheet grows. ### How much does AppSheet cost per user? As of this writing, the Starter plan runs about $5 per user per month and Core about $10, with Enterprise tiers priced above that by quote. Every user who touches the app needs a license, so a 25-person operations team on Core is roughly $3,000 per year, growing with each hire. ### Should I use AppSheet or build custom software? Use AppSheet for lightweight, mobile-first data capture with modest data volume and standard workflows, especially if you already live in Google Workspace. Go custom when the app is your operational backbone: when you need real relational integrity, logic beyond the expression language, screens shaped by your process, and a cost that doesn't scale per seat. A useful tell is how often you're working around the tool instead of in it. ### Can I move my AppSheet app's data? Yes, and more easily than most platforms, because your data already lives in your own Google Sheet or Excel file rather than inside AppSheet. The app configuration, expressions, and bots stay behind, but the spreadsheet itself is exactly the input Leonardo builds from, so migration starts with a file you already have. ============================================================================== # The Base44 Alternative That Starts From Excel Source: https://llamapress.ai/the-base44-alternative-that-turns-your-spreadsheet-into-software-you-actually-own ============================================================================== # The Base44 Alternative That Starts From Excel > Base44 alternative for business operators: where blank-prompt builds, credit-metered iteration, and platform lock-in bite, and when owning a real codebase wins. Source: https://llamapress.ai/the-base44-alternative-that-turns-your-spreadsheet-into-software-you-actually-own | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Base44 alternative for business operators: where blank-prompt builds, credit-metered iteration, and platform lock-in bite, and when owning a real codebase wins. [Back to all articles](https://llamapress.ai/blog) Base44 is the tool I hear about most from operators right now, and for good reason. You type what you want in plain English, and a few minutes later there is a working app on your screen with a database behind it, user login built in, and a URL you can send to your team. No servers to configure. No developer to hire. When people ask me whether the AI app builder wave is real, Base44 is usually the proof I point to. So this is not a takedown. I spent years at McKinsey watching companies pay six figures for software less functional than what Base44 produces from a paragraph, and I now spend my time helping mid-market operators replace the spreadsheets that run their businesses. From that seat, Base44 gets the vision right and three specific things wrong for one specific kind of buyer: the estimating manager, the order desk lead, the onboarding coordinator whose company already runs on a battle-tested workbook. If that is you, the search for a Base44 alternative usually starts after one of three walls. Let me name them precisely, and give the tool full credit first. ![Business operator working through a planning session at her laptop](https://images.unsplash.com/photo-1507206130118-b5907f817163?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxzbWFsbCUyMGJ1c2luZXNzJTIwb3duZXIlMjBvZmZpY2UlMjBjb21wdXRlciUyMHBsYW5uaW5nfGVufDB8fHx8MTc4MzkwNDg0OHww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [LinkedIn Sales Solutions](https://unsplash.com/@linkedinsalesnavigator?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/woman-wearing-grey-striped-dress-shirt-sitting-down-near-brown-wooden-table-in-front-of-white-laptop-computer-wS73LE0GnKs?utm_source=leonardo_rails_app&utm_medium=referral) ## What Base44 Genuinely Gets Right Credit where it is due, because this page only matters if it is honest. Base44 made "describe it and it exists" real for people who have never written a line of code. The batteries-included decision was the smart one: hosting, authentication, a database, email, and integrations all come with the app, so a non-technical founder never has to learn what a deployment pipeline is. That is a legitimately hard product achievement, and the market agreed. The company grew to hundreds of thousands of users at remarkable speed and was acquired by Wix in 2025, which means it now sits inside a large public company rather than a fragile startup. For a quick internal tool, a prototype to show investors, or a small app that will stay small, the speed from idea to working screen is genuinely impressive. I have watched someone with zero technical background produce a functioning club signup app in an evening. Five years ago that sentence would have been fiction. The walls appear when the app stops being a prototype and starts being the system your company depends on. Three of them, in the order operators usually hit them. ## The Three Walls for a Business That Runs on It ### 1. You describe your business from scratch. Your spreadsheet already did. Base44 starts from a blank prompt. You type what the app should do, and the AI builds its best interpretation. For a new idea, that blank page is freedom. For an established operation, it is a liability, because the hard part of building operational software was never the code. It is specifying the process: which fields matter, how the labor rate compounds with the waste factor, what happens to an order when a customer goes on credit hold, which onboarding step cannot start until the signed agreement lands. Here is the thing an estimating manager knows in her bones: that specification already exists. It is the workbook. The 14 tabs, the rate tables, the IFERROR wrapping that one lookup because a supplier changed their SKU format in 2019. A spreadsheet that has run a business for a decade is the most complete requirements document that business will ever produce, written in formulas instead of prose, tested against every edge case that actually occurred. Asking that manager to re-describe it all in chat messages is asking her to reverse-engineer her own system from memory, one prompt at a time, and every nuance she forgets becomes a bug she discovers in production. LlamaPress starts from the file. You [upload the workbook you already run the business on](https://llamapress.ai/excel-to-app), and Leonardo, our AI coding agent, reads the columns, the formulas, and the relationships between tabs as the spec. Your rate table becomes a database table. Your VLOOKUP chains become real relationships. The full walkthrough of how that conversion works lives in our [Excel to app master guide](https://llamapress.ai/excel-to-app-master-guide). ### 2. The credit meter turns iteration into a budgeting exercise Base44 prices by message credits. As of this writing, the free plan includes about 25 build messages a month, and paid plans run from roughly $16 to $160 per month for allowances between 100 and around 500 messages, with separate integration credits metering what your live app does. Unused credits expire at month end, and buying more mid-month generally means upgrading the whole plan. That model is fine for a weekend prototype. It fights you on operational software, because real operational software is 90% iteration after week one. The first version is never the system; it is the conversation starter. Your dispatcher tries it and needs a column reordered. Accounting wants the invoice number format matched to the old one. A rule you forgot to mention surfaces in week three. Each of those is a message, and when the AI misunderstands and you clarify twice more, that is three. Base44's own users report burning through a month's allowance in a single debugging session, since the meter runs whether the change works or not. I have watched operators start rationing their own feedback, sitting on a list of needed fixes until next month's credits arrive. A budgeting reflex aimed at the exact activity that makes the software good is a tax on quality improvement. We took the opposite bet. LlamaPress pairs the agent with people, and the refinement loop is the product, not a metered extra. You talk to Leonardo as much as the work requires, and human engineers review the build and keep iterating with you until the app matches how your team actually operates. ### 3. Your app lives inside their platform, on their terms This is the wall people discover last, usually when they ask a simple question: can I take my app somewhere else? With Base44, as of this writing, the honest answer is only partially. You can export frontend code and connect GitHub on the higher tiers, but the backend logic, the database, and the runtime live on Base44's infrastructure. The exported piece will not run anywhere else without a rebuild of everything behind it. Your app is less an asset you own than a tenancy you rent, and the pricing, the limits, and the roadmap belong to the landlord. The Wix acquisition makes the platform more durable, and it also means those terms now serve a public company's strategy rather than yours. A LlamaPress build is a standard Ruby on Rails application backed by PostgreSQL, one of the most widely deployed web stacks in existence. You own the codebase outright. Any Rails developer on the planet can read it, extend it, or host it elsewhere, and if you ever outgrow us, you eject with the entire application and every row of your data. For a business asset, exit rights are not a nice-to-have. They are the difference between owning the building and decorating a rented one. ![Laptop on a desk during a late working session on business software](https://images.unsplash.com/photo-1535957998253-26ae1ef29506?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzbWFsbCUyMGJ1c2luZXNzJTIwb3duZXIlMjBvZmZpY2UlMjBjb21wdXRlciUyMHBsYW5uaW5nfGVufDB8fHx8MTc4MzkwNDg0OHww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Olena Bohovyk](https://unsplash.com/@olenkasergienko?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/macbook-pro-dIMJWLx1YbE?utm_source=leonardo_rails_app&utm_medium=referral) ## Base44 vs. LlamaPress, Side by Side The sketch I draw for clients weighing the two. If you are also comparing grid-based tools, I wrote parallel breakdowns of [the Airtable alternative](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet) and [the AppSheet alternative](https://llamapress.ai/the-appsheet-alternative-when-your-spreadsheet-deserves-real-custom-software); the ownership argument below rhymes with both. | | Base44 | LlamaPress Custom App | | --- | --- | --- | | Starting point | Blank prompt; you describe the process from memory, message by message | Your existing spreadsheet; columns, formulas, and edge cases read as the spec | | Iteration | Metered by message credits (roughly 100 to 500 per month on paid plans as of this writing); unused credits expire | Unmetered conversation with Leonardo plus human engineers refining alongside you | | What you own | Frontend code export on higher tiers; backend, database, and runtime stay on their platform | The full Rails codebase and PostgreSQL database, portable to any host, yours if you leave | | Support model | Self-serve chat with the AI, docs, and community | AI agent plus a human team that keeps building with you after launch | | Best fit | Prototypes, quick internal tools, solo founders validating an idea | Estimating, order management, and client onboarding workflows a company runs on daily | ## When Base44 Is the Right Choice I would rather lose a reader than oversell. Choose Base44 if you are a solo founder validating an idea and the app might not exist in six months; the credit cost of a throwaway is trivial and the speed is unmatched. Choose it for quick internal tools with a handful of users and no complex business rules, a PTO tracker, a simple request form, a lightweight directory. Choose it when the app will stay small and self-contained, because everything Base44 bundles for you is genuine convenience right up until you need to leave. In those cases the walls above never get close enough to touch, and the tool is excellent. ## When the Right Move Is Software You Own The calculus flips when the app is the business. An estimating team pricing $30M of bids a year cannot ration its bug fixes to a monthly credit allowance. An order desk needs rules the platform can actually enforce, and the confidence that the system holding every customer record will still be on your terms in five years. An onboarding operation needs its workflow to match reality exactly, which takes weeks of iteration with the people who live in it, and a partner on the other end rather than a chatbox and a docs page. That is the build we run. You send the spreadsheet, Leonardo converts it into a working database-backed application in days, and then the real work starts: our engineers and the agent refine it with your team until it fits like the workbook did, minus the fragility. Unlimited users, because we do not meter seats. Your data in a PostgreSQL database you can walk away with. When you want specifics, [pricing](https://llamapress.ai/pricing) is public and [a conversation](https://llamapress.ai/contact) is free. Your Spreadsheet Is the Spec ### Skip the blank prompt. Upload the workbook. Leonardo reads the spreadsheet that already runs your business and turns it into software you own outright, with humans and AI iterating until it fits. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to Us First](https://llamapress.ai/contact) ## Frequently Asked Questions ### Is Base44 good for business apps? For prototypes and small internal tools, yes, and impressively so. For software a company runs on daily, the credit-metered iteration, complexity ceilings users report, and the platform-bound backend make it a harder fit. Operational systems need unlimited refinement and clear exit rights. ### Can you export your code from Base44? Partially, as of this writing. Higher tiers allow frontend code export and GitHub sync, but the backend logic, database, and runtime remain on Base44's infrastructure, so the exported code will not run elsewhere without rebuilding everything behind it. ### How is LlamaPress different from Base44? Three ways. LlamaPress starts from your existing spreadsheet rather than a blank prompt, so your columns, formulas, and edge cases become the specification. Iteration is unmetered, with human engineers working alongside the AI agent. And the deliverable is a standard Rails plus PostgreSQL codebase you own outright and can host anywhere. ### What does Base44 cost compared to a custom LlamaPress app? As of this writing Base44 runs from a free tier to roughly $160 per month, with message credits capping how much building and fixing you can do each month. LlamaPress prices the build flat with unlimited users and unmetered iteration, so heavy-iteration operational projects usually come out ahead despite the higher sticker. Details are on our [pricing page](https://llamapress.ai/pricing). ### Can I move an app I started in Base44 to LlamaPress? Yes. The fastest path is usually the spreadsheet or data export behind the process rather than the app itself. Leonardo rebuilds the workflow as an owned Rails application and migrates your existing records into your own PostgreSQL database, so nothing you collected is lost. ============================================================================== # The Basic Inventory Spreadsheet Trap Source: https://llamapress.ai/the-basic-inventory-spreadsheet-trap-scaling-your-operations-in-2025 ============================================================================== # The Basic Inventory Spreadsheet Trap > Is your basic inventory spreadsheet stalling your growth? Learn how mid-market operators move from fragile grids to robust AI-powered applications. Source: https://llamapress.ai/the-basic-inventory-spreadsheet-trap-scaling-your-operations-in-2025 | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Is your basic inventory spreadsheet stalling your growth? Learn how mid-market operators move from fragile grids to robust AI-powered applications. [Back to all articles](https://llamapress.ai/blog) ## The Anatomy of a High-Performance Inventory Sheet In my time at McKinsey, I saw billion dollar manufacturing firms and local distributors alike relying on a "basic inventory spreadsheet" to manage millions in working capital. If you are just starting, your sheet needs five essential columns: SKU, Description, Unit Cost, Reorder Point, and Quantity on Hand. You must also use data validation. Dropdown menus prevent "Item A" and "item\_a" from wrecking your totals. "Your spreadsheet is a blueprint. It works perfectly while you are small, but it lacks the structural integrity to support a fifty employee team." The problem isn't the formulas. The problem is that a spreadsheet is a solo tool. When three warehouse operators, a buyer, and an owner all need to touch the same data, the grid begins to fail. ![Warehouse Inventory Management](https://images.unsplash.com/photo-1749244768351-2726dc23d26c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx3YXJlaG91c2UlMjBpbnZlbnRvcnl8ZW58MHx8fHwxNzc1NzkxNjg3fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Russ Murray](https://unsplash.com/@russmurray?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## The Mid-Market Stress Test: Is Your Sheet Breaking? Growth is the primary cause of spreadsheet death. If you relate to any of these three failure modes, you have outgrown the grid. ### The Multi-User Collision When your warehouse manager opens the file and sees "Read Only," your operation stops. Spreadsheets were never meant for concurrency. Databases were. ### The VLOOKUP Fragility One deleted row or a renamed sheet can cascade through your entire supply chain. This fragile logic is a ticking time bomb for your fulfillment team. ### The Audit Trail Void Knowing the inventory count is wrong is one thing. Not knowing who changed it, when they changed it, or why is an operational disaster for audit compliance. ## The Pivot: Moving from a Grid to an Engine The highest leverage move a mid-market distributor can make is treating their inventory spreadsheet as a blueprint for a professional application. 1 ### Granular Permissions Give your drivers access to delivery status without letting them see your unit costs. Database apps allow you to protect sensitive margins. 2 ### Workflow Automation Low stock shouldn't just turn a cell red. It should send a Slack alert to your buyer and draft a Purchase Order automatically. 3 ### Hardware Integration Connect barcode scanners and mobile devices directly to your inventory engine. Remove the "manual re-entry" step entirely. ![Professional Business Consulting](https://images.unsplash.com/photo-1589114207353-1fc98a11070b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMGNvbnN1bHRhbnQlMjBwcm9mZXNzaW9uYWx8ZW58MHx8fHwxNzc1NzkxNjk0fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Eric O. IBEKWEM](https://unsplash.com/@withericshelp?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ![Modern Software Interface](https://images.unsplash.com/photo-1770012977129-19f856a1f935?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxtb2Rlcm4lMjBzb2Z0d2FyZSUyMGludGVyZmFjZXxlbnwwfHx8fDE3NzU3OTE2OTl8MA&ixlib=rb-4.1.0&q=80&w=1080) ## Stop Managing Grids. Start Scaling Operations. If your inventory spreadsheet has more than 500 SKUs or 3 users, it is no longer a tool. It is a liability. Convert it into a robust database application with Leonardo today. [Convert to App Now](https://llamapress.ai/excel-to-app) ![Customer avatar](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) ![Customer avatar](https://i.pravatar.cc/100?u=kody) ![Customer avatar](https://i.pravatar.cc/100?u=llama) Scaling with 200+ Ops Managers this month ============================================================================== # The Best AI to Analyze Excel Data Isn’t What You Think Source: https://llamapress.ai/the-best-ai-to-analyze-excel-data-isnt-what-you-think-scaling-beyond-spreadsheets-in-2025 ============================================================================== # The Best AI to Analyze Excel Data Isn’t What You Think > Stop looking for a chatbot to read your broken spreadsheets. Discover why the best AI for Excel data analysis is one that turns your sheet into a database app. Source: https://llamapress.ai/the-best-ai-to-analyze-excel-data-isnt-what-you-think-scaling-beyond-spreadsheets-in-2025 | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Stop looking for a chatbot to read your broken spreadsheets. Discover why the best AI for Excel data analysis is one that turns your sheet into a database app. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Kody Kendall Founder & Principal AI Architect, LlamaPress AI If you are searching for the "best AI to analyze Excel data," you’ve likely hit the Spreadsheet Ceiling. Your tabs are multiplying, your formulas are becoming sentient, and you’re spending more time "cleaning" data than actually using it to run your business. The instinct is to find an AI tool that can read your mess. You want to upload a 50MB workbook to ChatGPT or Claude and ask, "Where is my profit leaking?" or "Who is my most efficient estimator?" But here is the hard truth from someone who builds these systems: **Analyzing a broken spreadsheet with AI is just making mistakes faster.** ## The "Chat-with-your-Data" Trap General LLMs like ChatGPT and Claude are incredible at summarization. They can look at a few thousand rows and give you a beautiful chart. But for a mid-market business operator in construction, manufacturing, or professional services, "summary" isn't the problem. The problem is **operational integrity.** When you use a generic AI to analyze Excel data, you are looking at a snapshot of the past. It doesn't solve the multi-user conflicts where two estimators are overwriting each other's bids. It doesn't stop a junior tech from deleting a critical lookup table in cell AA254. And it certainly doesn't provide a guided workflow for your team. ![Frustrated business operator dealing with messy data](https://images.unsplash.com/photo-1631540698979-2c00b669ca9d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxtZXNzeSUyMHNwcmVhZHNoZWV0JTIwZnJ1c3RyYXRpb258ZW58MHx8fHwxNzc2MjAzNTYxfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Mika Baumeister](https://unsplash.com/@kommumikation?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Top AI Tools for Excel (and Their Limits) If you just need a quick visualization for a board meeting, these tools are fine. But if you're trying to scale a $10M company, they are band-aids. - **Microsoft Copilot:** Great for writing formulas and formatting tables. But it keeps you trapped in the Excel environment where files are easily corrupted and lack true relational logic. - **Julius AI:** A specialized "data scientist in a box." Powerful for complex statistical analysis, but it creates "outputs," not "operations." - **ChatGPT (Advanced Data Analysis):** Excellent for one-off cleanup tasks. However, its "memory" is transient. You can't run a multi-million dollar bidding process through a chat window. The upload steps and the published limits are in [how to upload an Excel file to ChatGPT](https://llamapress.ai/how-to-upload-an-excel-file-to-chatgpt-and-what-to-do-when-that-is-not-enough). ## Moving from Analysis to Operationalization At LlamaPress AI, we believe the best AI for Excel data isn't one that reads your sheet—it's one that **re-architects** it. Our AI agent, Leonardo, doesn't just look at your rows. It analyzes your business logic. It sees that "Column G" is actually a labor rate that should be a protected database constraint. It sees that your "Project Tracker" tab should actually be a relational table linked to your "Customer" table. ### The LlamaPress Difference Instead of giving you a chart, Leonardo builds you a full-stack, database-backed Ruby on Rails application. **Multi-User Safety:** No more "Read Only" errors. **Data Integrity:** Database constraints prevent "oops" deletions. **Guided Workflows:** Turn your checklist into a step-by-step UI. **Infinite Scale:** Move from 10,000 rows to 10,000,000. ## The Real Cost of "Staying in the Spreadsheet" For a $5M–$50M business, the cost isn't the software subscription. The cost is the bid that went out with the wrong margin because a formula didn't drag down correctly. It's the customer who fell through the cracks because their onboarding "status" was just a cell colored yellow that someone forgot to update. "Analysis" assumes the data is already good. "Operationalization" ensures the data *stays* good. ![Clean modern database dashboard](https://images.unsplash.com/photo-1763718528755-4bca23f82ac3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxjbGVhbiUyMG1vZGVybiUyMHNvZnR3YXJlJTIwZGFzaGJvYXJkfGVufDB8fHx8MTc3NjIwMzU2Nnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [prashant hiremath](https://unsplash.com/@prashantbh13?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## How to Start Your Transformation If you are tired of being a spreadsheet operator and want to be a business owner again, it's time to stop looking for an "analyzer" and start looking for an architect. Leonardo can take your most complex, fragile, and essential workbook and [turn it into a secure, scalable web application](https://llamapress.ai/excel-to-app) in minutes—not months. ## Stop Analyzing. Start Operationalizing. Ready to turn your spreadsheet into a professional database application? Let Leonardo show you what's possible. [Get Started with LlamaPress](https://llamapress.ai/excel-to-app) ============================================================================== # The Bolt.new Alternative for Working Software Source: https://llamapress.ai/the-bolt-new-alternative-when-you-need-working-software-not-a-codebase-to-babysit ============================================================================== # The Bolt.new Alternative for Working Software > Bolt.new builds a full-stack app in your browser in minutes. An honest look at token burn, error loops, and what business operators should use instead. Source: https://llamapress.ai/the-bolt-new-alternative-when-you-need-working-software-not-a-codebase-to-babysit | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Bolt.new builds a full-stack app in your browser in minutes. An honest look at token burn, error loops, and what business operators should use instead. [Back to all articles](https://llamapress.ai/blog) You typed a paragraph describing the app you wanted, and Bolt.new built it in front of you. Real screens, real buttons, running in a browser tab before your coffee cooled. If that was your first contact with AI coding, I understand why it felt like the future arrived early. Then you kept going. Somewhere around the fifth or sixth change, an error appeared, the AI tried to fix it, the fix broke something else, and you watched your token balance drain while the two of them argued. Now you're searching for a Bolt.new alternative, and the answer depends heavily on whether you can read the code it left behind. I build AI coding agents for a living, so let me say this clearly up front. Bolt.new is a genuinely impressive product. StackBlitz spent years building the technology that lets a full development environment run inside a browser tab, and pointing an AI at that environment was a brilliant move. My argument in this article is narrower: Bolt.new is a power tool for people who are comfortable owning a codebase, and if you run estimating, order tracking, or client onboarding at a 10 to 200 person company, you are almost certainly not that person, and there is a better-fitting category of solution for you. ![Code editor open on a monitor at night, the working environment Bolt.new users inherit when the AI gets stuck](https://images.unsplash.com/photo-1607706189992-eae578626c86?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkZXZlbG9wZXIlMjBjb2RlJTIwc2NyZWVuJTIwbGF0ZSUyMG5pZ2h0fGVufDB8fHx8MTc4MzkwNDgzMHww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Mohammad Rahmani](https://unsplash.com/@afgprogrammer?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/black-flat-screen-computer-monitor-oXlXu2qukGE?utm_source=leonardo_rails_app&utm_medium=referral) ## What Bolt.new Genuinely Does Well Credit where it's earned. Bolt.new generates a full-stack JavaScript application from a prompt and runs it instantly inside your browser, no local setup, no installing anything. As of this writing it wires up modern frontends, connects to Supabase for a database, imports designs from Figma, and pushes deploys out through integrated hosting. For a developer, that's a real acceleration. For a founder validating an idea, a designer making a prototype interactive, or a student learning how web apps fit together, it might be the best on-ramp that has ever existed. The first fifteen minutes with Bolt.new are legitimately magical, and I don't use that word about many products. The trouble starts when the person holding the tool needs a production system rather than a prototype, and doesn't have a developer standing behind them. That describes almost every operator I work with. ## The Four Walls Business Operators Hit Talk to non-developers who bounced off Bolt.new and the same four stories come up in the same order. ### Wall one: the token meter spins fastest when things break Bolt.new charges by AI tokens. Every prompt, every generated file, every attempted fix consumes them, and paid plans start around $20 a month for a monthly allotment, as of this writing. That model is fine while the AI is succeeding. The problem is the failure case. When a build breaks, the AI reads the error, rewrites code, triggers a new error, reads that one, and rewrites again. Users call this the error loop, and the reviews are full of it: people burning through millions of tokens, sometimes a whole month's allotment, on a single stubborn bug the AI created in the first place. You pay for the mistake and you pay for each failed attempt to fix it. A business tool whose cost peaks at the exact moment it stops working is a hard thing to budget around. ### Wall two: the output is a codebase, and eventually you have to read it Everything Bolt.new produces is source code. React components, Node services, database schemas, configuration files. When the AI is on a roll, you never see any of it. When the AI gets stuck, and on any app more complicated than a landing page it eventually gets stuck, the escape hatch is you, opening the editor and reasoning about what the generated code actually does. Developers shrug at this. It's their job. But if you're an operations manager at a distributor, "just check whether the foreign key constraint matches the migration" is not a sentence you should ever have to parse. The tool's own power users say the quiet part plainly: you get much better results from Bolt.new if you already understand code. That's a fine property for a developer tool. It's disqualifying for a business operator with no one to hand the repo to. ### Wall three: production is still your job A demo running in a browser tab and a system your company depends on are separated by a list of unglamorous work: a real database with migrations that don't eat data, authentication that handles password resets and permission levels, hosting that stays up, backups you've actually tested, and monitoring that tells you something broke before your customers do. Bolt.new hands you integrations for some of this, Supabase for the database and one-click deploys for hosting, but configuring them correctly and keeping them healthy remains your responsibility. Get a database security rule wrong and your client list is public. Skip backups and one bad migration erases your order history. None of this is a criticism of Bolt.new. It's simply the ownership that comes bundled with a codebase, whether an AI wrote it or a human did. ### Wall four: nobody is on the hook after launch Say you push through all of it and ship. Six weeks later a customer hits an edge case, or a dependency needs a security update, or you need one more field on the intake form and the AI's change breaks two other screens. Who fixes it? With Bolt.new the answer is you, plus more tokens, plus whatever the AI support chat can offer. There's no human who knows your system and answers when it breaks. For a prototype that's acceptable. For the software that produces your bids or tracks your orders, it's the whole ballgame. The estimating spreadsheet you're trying to escape at least had the virtue that someone in your office understood it. ## Comparing Your Actual Options Here's the landscape as I'd draw it for a friend, including the option the AI-builder listicles skip. | | Bolt.new | Other prompt-to-app tools | Traditional dev shop | LlamaPress custom app | | --- | --- | --- | --- | --- | | Built for | Developers and technical tinkerers | Varies; mostly technical founders | Companies with six-figure budgets | Operators who run the process, not the repo | | Starting point | A blank prompt box | A blank prompt box or template | Months of discovery meetings | The spreadsheet your operation already runs on | | Cost model | Token metered; spikes during error loops | Tokens, credits, or per-message fees | $50K to $250K+ project, then retainers | Flat and predictable (see [pricing](https://llamapress.ai/pricing)); no token meter | | When the AI gets stuck | You read the code or hire someone who can | Same escape hatch: the codebase | The agency's engineers handle it | Our engineers step in behind the agent | | Production & after launch | Hosting, database, backups, upkeep on you | Mostly on you | Handled, at retainer prices | Managed hosting, database, backups included | If your search started from a spreadsheet rather than a prompt box, the closer comparisons are the configurator tools, and we've written honest pieces on those too: [the AppSheet alternative when your spreadsheet deserves real custom software](https://llamapress.ai/the-appsheet-alternative-when-your-spreadsheet-deserves-real-custom-software), [the Glide alternative when your app needs a real database](https://llamapress.ai/the-glide-alternative-when-your-app-needs-a-real-database-not-a-spreadsheet), and [the Power Apps alternative for businesses without an IT department](https://llamapress.ai/the-power-apps-alternative-for-businesses-without-an-it-department). ## When Bolt.new Is the Right Choice Use Bolt.new, sincerely, if most of this describes you. You write code, or you're actively learning to and want a fast feedback loop. You need to validate a product idea this week and a prototype that mostly works is the entire goal. You're a designer or PM who wants to hand developers something interactive instead of a static mock. Or you're a technical team that treats the AI as a fast first draft and expects to own, review, and refactor the generated code as a matter of course. In all of those situations the token meter is a reasonable price for the speed, the codebase output is an asset rather than a liability, and Bolt.new might be the most fun tool in the category. The team behind it keeps shipping, and nothing below takes that away. The calculation flips when the thing you're building is the system your company runs on, and there's no developer in the building. A prototype falling over costs you an afternoon. Your bid calculator producing a wrong number costs you the job, or worse, wins you a job at a losing price. ![Business operator working at a laptop in an office, the person who needs finished software rather than a generated codebase](https://images.unsplash.com/photo-1758611971653-83f08386f0fd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxidXNpbmVzcyUyMG93bmVyJTIwbGFwdG9wJTIwd2FyZWhvdXNlJTIwb2ZmaWNlfGVufDB8fHx8MTc4MzkwNDg0MXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Vitaly Gariev](https://unsplash.com/@silverkblack?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-working-on-laptop-at-desk-in-office-wLEJmm4wj_U?utm_source=leonardo_rails_app&utm_medium=referral) ## The Alternative: Start From the Spreadsheet, Ship Finished Software Here's the structural difference between Bolt.new and what we built at LlamaPress. Bolt.new starts from a blank prompt and hands you a codebase. We start from the spreadsheet your operation already runs on and hand you a finished, hosted application. Those sound like small differences in workflow. They change everything about who the tool works for. You upload the workbook, the real one, with the estimating tabs and the order log and the color coding only your office manager fully understands. Our AI coding agent, Leonardo, reads its structure and builds a real web application from it: your columns become properly typed database fields, your tabs become related tables with genuine foreign keys, and the rules currently living in formulas and tribal knowledge become workflow logic the software enforces for everyone. The description of the app isn't something you have to compose in a prompt box, because twenty years of your process are already encoded in that file. Then the parts that stay our job, permanently. The app ships on managed hosting with the database, backups, authentication, and SSL handled. There's no token meter, so an error loop is our cost, never yours; you pay a flat, predictable amount either way. And when the AI hits something genuinely hard, human engineers who build alongside Leonardo every day step in and fix it. You never open the codebase unless you want to, and if someday you hire developers and want it, the code is real Ruby on Rails you own, so you're never locked in. The full picture of how a spreadsheet becomes an application is in our [Excel to app master guide](https://llamapress.ai/excel-to-app-master-guide), and you can [convert your Excel spreadsheet into a working app](https://llamapress.ai/excel-to-app) and see the first version against your own data before committing to anything. ### Done prompting? Bring us the spreadsheet. Upload the Excel or Google Sheets file your operation actually runs on, and Leonardo will build it into database-backed software on managed hosting. No tokens. No repo to babysit. Humans on call when it matters. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to a Human First](https://llamapress.ai/contact) ## Frequently Asked Questions ### Is there a better alternative to Bolt.new? Depends entirely on who's asking. For developers who want a fast AI scaffold and expect to own the code, Bolt.new is already one of the best tools in its class, and switching to a rival prompt-to-app builder mostly trades one token meter for another. For business operators who need a production system without owning a codebase, the better-fitting category is a done-for-you service like LlamaPress, where an AI agent builds the software from your spreadsheet and human engineers plus managed hosting carry it after launch. ### Why does Bolt.new use so many tokens? Every interaction consumes tokens: your prompts, the code the AI writes, and the project context it rereads as the app grows. Costs climb steeply during error loops, where the AI generates a fix, the fix causes a new error, and the cycle repeats. Users report burning through a large share of a monthly allotment on a single stubborn bug, as of this writing, because failed attempts cost the same tokens as successful ones. ### Can I use Bolt.new without knowing how to code? You can start without code, and plenty of non-developers get a working prototype. Sustaining it is different. When the AI stalls or a bug survives several fix attempts, resolving it means reading and editing the generated code, or paying a developer to. Experienced users consistently say results improve dramatically when you understand what the AI produced, which makes Bolt.new a lot stronger in technical hands than non-technical ones. ### What does Bolt.new cost? As of this writing there's a free tier with a small daily token allowance and paid plans starting around $20 per month for a monthly token budget, with heavier tiers above that. The practical number is harder to pin down, because complex projects and error loops consume tokens unpredictably, and many users buy extra tokens mid-month to finish what they started. ### Should I use Bolt.new or have custom software built? Use Bolt.new to prototype, learn, or accelerate a technical team that will own the code. Have custom software built when the app is your operational backbone, nobody on staff reads code, and you need a real database, managed hosting, and a human accountable after launch. A useful tell: if your business already lives in a spreadsheet, that file is a better specification than any prompt you could write, and building from it directly skips the blank-page problem entirely. ============================================================================== # The Danger of the Debt Payment Spreadsheet Source: https://llamapress.ai/the-danger-of-the-debt-payment-spreadsheet-scaling-business-finance-in-2025 ============================================================================== # The Danger of the Debt Payment Spreadsheet > Why your business debt payment spreadsheet is a liability. Learn how mid-market construction and distribution firms automate finance with AI applications. Source: https://llamapress.ai/the-danger-of-the-debt-payment-spreadsheet-scaling-business-finance-in-2025 | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Why your business debt payment spreadsheet is a liability. Learn how mid-market construction and distribution firms automate finance with AI applications. [Back to all articles](https://llamapress.ai/blog) ## The "Free" Template Trap For a startup, a debt payment spreadsheet is a useful tool. For a mid-market distributor with complex revolving credit lines and equipment financing, it is a ticking time bomb. Personal finance templates are built for individuals, not for organizations managing eight-figure capital structures. "The spreadsheet you downloaded for free is costing your business thousands in hidden risks every single quarter." When your business finance depends on a single .xlsx file, you lack the audit trails and granular permissions required for institutional-grade operations. One accidental deletion in a hidden tab can cascade through your cash flow projections, leading to catastrophic miscalculations in your debt-service coverage ratio (DSCR). ![A business operator stressed over complex financial spreadsheets](https://images.unsplash.com/photo-1758876019043-cedb0b6f56ea?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMGZpbmFuY2UlMjBhbnhpZXR5fGVufDB8fHx8MTc3NTc5MTYzNXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Vitaly Gariev](https://unsplash.com/@silverkblack?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## The Invisible Costs of Manual Tracking Manual debt management is a high-stakes game played with low-quality tools. The friction isn't just in the data entry; it's in the uncertainty. ### Fat Finger Errors A single misplaced decimal point in an interest rate calculation can misrepresent your monthly liabilities by tens of thousands. Spreadsheets have no built-in validation for business-critical logic. ### Covenant Deadlines Spreadsheets don't scream when a reporting deadline is approaching. Missing a bank covenant window can trigger an immediate technical default, even if you have the cash on hand. ### Permissions Chaos If anyone with the file link can see your entire debt structure, you have a security breach waiting to happen. Applications allow for "need-to-know" access control that spreadsheets simply cannot provide. ## The Database Advantage 1 ### Real-Time Alerts Automated workflows monitor your debt schedules and push notifications to your team weeks before a payment or reporting deadline hits. 2 ### Automated Entry Integrate directly with your bank feeds and ERP. Stop re-keying data and start reviewing it. Leonardo AI logic categorizes and matches payments with 99.9% accuracy. 3 ### Multi-User Concurrency The Controller can update schedules while the CEO views the dashboard. No more "File in Use" locks or versioning conflicts like Debt\_Final\_V3.xlsx. ![Modern financial dashboard showing debt payoff trends and key metrics](https://images.unsplash.com/photo-1763718528755-4bca23f82ac3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxmaW5hbmNpYWwlMjBkYXNoYm9hcmQlMjBzb2Z0d2FyZXxlbnwwfHx8fDE3NzU3OTE2NDJ8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [prashant hiremath](https://unsplash.com/@prashantbh13?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Transition from Grid to Application The future of business finance is automated, secure, and intelligent. Don't let your growth be throttled by a fragile spreadsheet. Build a robust finance engine today. [Scale with LlamaPress](https://llamapress.ai/excel-to-app) ============================================================================== # The Excel Alternative for Teams That Need a Real App Source: https://llamapress.ai/the-excel-alternative-for-teams-that-need-an-app-not-another-spreadsheet ============================================================================== # The Excel Alternative for Teams That Need a Real App > Most Excel alternative searches start with one breaking workbook. Compare free spreadsheets, Airtable-class tools, and turning the file into a real app. Source: https://llamapress.ai/the-excel-alternative-for-teams-that-need-an-app-not-another-spreadsheet | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Most Excel alternative searches start with one breaking workbook. Compare free spreadsheets, Airtable-class tools, and turning the file into a real app. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Most people who search for an Excel alternative are trying to escape one specific workbook. The grid itself is fine. The problem file has a dozen tabs, fragile links, and a formula only one person understands. I built models in Excel for years at McKinsey, and I still use it weekly. The program earned its place. What breaks is the workbook we ask to run a whole business process. The choice splits three ways. If the Microsoft 365 price is the problem, use a free Excel alternative such as Google Sheets or LibreOffice Calc. If several people edit one shared tracker, move to a structured tool like Airtable or Smartsheet. If the workbook runs a core business process, replace that workbook with a database-backed app. A database-backed app stores every record in one central database. This guide shows how to tell which case is yours. ![Hands typing on a laptop that displays a large data spreadsheet](https://images.unsplash.com/photo-1783115259399-3a5a3e0e4592?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwzfHxzcHJlYWRzaGVldCUyMGxhcHRvcCUyMG9mZmljZSUyMGRlc2t8ZW58MHx8fHwxNzg3ODk1NzExfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Gorilla ROI Data Connector](https://unsplash.com/@gorillaroi?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/hands-typing-on-a-laptop-displaying-a-data-spreadsheet-9fZuqBYlV1w?utm_source=leonardo_rails_app&utm_medium=referral) ## Match the Alternative to the Failure Searches for programs like Excel come from three different situations. The first searcher wants a grid without the Microsoft price. The second searcher runs a shared tracker that has outgrown a single file. The third searcher owns a workbook that quietly became the company's operating system. That workbook tracks orders, prices bids, or onboards clients. Each situation has a different best substitute for Excel. A free grid fixes the first situation completely. A structured tracker tool fixes the second, at least for a while. Only real software fixes the third. Picking a tool built for a different situation restarts the same pain within a year or two. ## The Free Excel Alternatives That Hold Up A Microsoft Excel alternative search returns long lists of lookalike grids. Two names cover almost every real need. Both are full spreadsheet programs, so your formulas and habits carry over. Google Sheets is free with a Google account. Sheets runs in the browser, saves every change, and lets several people edit at once. Version history is built in. Very large files slow Sheets down sooner than desktop Excel does, as of this writing. LibreOffice Calc is the strongest free choice for a PC that works offline. Calc is open source, installs locally, and opens most .xlsx files. People who want the best alternatives to Excel on a PC for free usually want exactly this. Calc looks dated next to Excel. Calc also costs nothing, as of this writing, with no account required. Two more options deserve a mention. Microsoft offers a free web version of Excel with a Microsoft account, as of this writing. The web version covers light editing but trims the advanced features. Zoho Sheet and OnlyOffice also ship capable free tiers, as of this writing. Most teams still land on Sheets or Calc, because file compatibility and community help are strongest there. Switching has costs worth naming. Complex macros, Power Query steps, and some add-ins stay behind. Google Sheets automates with Apps Script, which is a different language from VBA. Test your most complex workbook in the new tool before you move the team. Be honest with yourself about which searcher you are. If your only complaint is the subscription price, pick one of these two and stop reading. A free Excel substitute solves that problem completely. You do not need custom software to replace a personal grid. ## Excel-Like Software With More Structure Airtable and Smartsheet sit one step up from the grid. Each one looks like a spreadsheet and behaves like a light database. You get record types, linked tables, forms, file attachments, and per-person permissions. For a shared tracker with five to ten editors, this class of Excel-like software is a real upgrade. Both tools charge per user per month, as of this writing. The ceiling appears when your process stops fitting the templates. Multi-step approvals, custom pricing logic, and customer-facing screens strain these tools. The per-seat bill also grows with every person you add. We wrote honest deep dives on both: the [Airtable alternative guide](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet) and the [Smartsheet alternative guide](https://llamapress.ai/the-smartsheet-alternative-when-your-operations-outgrow-a-configurable-spreadsheet). Read the one that matches the tool you are evaluating. ## When the Workbook Is the Business Process Some workbooks stopped being documents years ago. They became the system a company runs on. You know this workbook by its symptoms. Five versions of the file live in old email threads. One person guards the formulas. A wrong paste once cost a real bid or a real customer. New staff need weeks to learn which cells are safe to touch. No spreadsheet program fixes this, because the grid is the wrong shape for the job. The process needs records, steps, and rules. A database-backed app gives each order, bid, or client its own record. The app enforces the steps and keeps one history everyone can see. Access rules decide who edits what. We explain the underlying concept in [Excel vs databases](https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software). Custom software used to be the unreachable answer here. Agencies quote tens of thousands of dollars and months of work, as of this writing. That price wall kept operators patching the workbook instead. AI-built development changed those economics, which is why this third branch now belongs on an Excel alternative list at all. ## A One-Afternoon Test to Pick Your Branch You can settle this decision in one afternoon. First, count the people who edit the workbook each week. One or two editors point to a free grid. Three to ten editors point to a structured tracker. More than that points to real software. Next, count the tabs that exist only to work around the grid. Lookup tabs, archive tabs, and copies named by month are workaround tabs. Three or more workaround tabs mean the process has outgrown the file. Last, write down what one bad paste would cost you. If the answer is a lost bid or an angry customer, the workbook is load-bearing. A load-bearing workbook carries revenue, and revenue deserves software with a record history and access rules. Free grids and per-seat trackers were built for lighter loads. ## Where LlamaPress Fits LlamaPress builds that third option. Our AI coding agent, Leonardo, reads the spreadsheet that runs your process today. Leonardo then builds a custom web app around those columns, formulas, and rules. The code is standard Ruby on Rails and lives in your own GitHub account. A first working version arrives in days, and builds usually land in the low thousands of dollars. We are honest about fit. If a free grid or an Airtable base solves your problem, use one and keep the money. Our work starts where those tools stop: version chaos, fragile formulas, and a process locked in one person's head. You can see how a conversion starts at [Excel to App](https://llamapress.ai/excel-to-app). The Third Branch ### Bring the workbook that hurts. Upload the spreadsheet your team runs on. We will show you a working app built from your own columns before you pay anything. [Convert your spreadsheet](https://llamapress.ai/excel-to-app) [See how we build](https://llamapress.ai/services) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What is the best Excel alternative? The best Excel alternative depends on what is failing. For price, use Google Sheets or LibreOffice Calc for free. For a shared team tracker, use a structured tool like Airtable or Smartsheet. For a workbook that runs a whole business process, replace the workbook with a database-backed app. ### What are the best alternatives to Excel on a PC for free? LibreOffice Calc is the strongest free desktop option, as of this writing. Calc installs on a PC, works offline, and opens most .xlsx files. Google Sheets is free in the browser and adds live collaboration. Both handle everyday formulas, filters, and charts without a subscription. ### Is Google Sheets a good substitute for Excel? Yes, for most personal and small-team grids. Sheets is free, saves automatically, and lets several people edit the same file at once. Heavy models with very large data sets still run faster in desktop Excel. VBA macros do not transfer, because Sheets automates with Apps Script instead. ### Are Airtable and Smartsheet real Excel alternatives? They are, for shared trackers. Each adds record types, forms, permissions, and views on top of a grid. Both charge per user per month, as of this writing. Processes with multi-step approvals or custom logic tend to outgrow their templates, and the per-seat bill grows with the team. ### When should I replace Excel with an app instead of another spreadsheet? Replace Excel with an app when the workbook runs a business process. The warning signs are version chaos, formulas one person guards, costly paste errors, and long training time for new staff. An app stores each record once, enforces the steps, and shows one shared history. ============================================================================== # The Excel Customer Database Template Trap Source: https://llamapress.ai/the-hidden-trap-of-the-excel-customer-database-template-why-scaling-businesses-need-more-in-2025 ============================================================================== # The Excel Customer Database Template Trap > Is your 'excel customer database template' holding you back? Learn why spreadsheets fail scaling businesses in 2025 and how Leonardo AI builds the CRM you actually need. Source: https://llamapress.ai/the-hidden-trap-of-the-excel-customer-database-template-why-scaling-businesses-need-more-in-2025 | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Is your 'excel customer database template' holding you back? Learn why spreadsheets fail scaling businesses in 2025 and how Leonardo AI builds the CRM you actually need. [Back to all articles](https://llamapress.ai/blog) The Growth Bottleneck ## The Spreadsheet Ceiling It usually starts with a search for an **excel customer database template**. It seems like the perfect solution: free, familiar, and fast to set up. You add a few names, some contact info, and maybe a column for "Last Contacted." But as your business scales, you hit the "Spreadsheet Ceiling." This is the point where the tool that once enabled your growth begins to actively suppress it. Excel was designed for financial modeling and data analysis, not for managing complex, multi-user customer relationships. "A spreadsheet is a flat file trying to solve a relational problem. When your business needs to connect customers to orders, tickets, and team members, a template simply isn't enough." ![Excel spreadsheet template becoming complex](https://images.unsplash.com/photo-1584472666879-7d92db132958?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxFeGNlbCUyMHNwcmVhZHNoZWV0fGVufDB8fHx8MTc3NTc4MTY3MXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Christine Sandu](https://unsplash.com/@lenscapewithme?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Version Chaos and Data Fragility ![Data chaos representing spreadsheet version conflicts](https://images.unsplash.com/photo-1633471908928-7ae447bbad7a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkYXRhJTIwY2hhb3N8ZW58MHx8fHwxNzc1NzgxNzY3fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Steve Johnson](https://unsplash.com/@steve_j?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) The moment you have more than one person editing your customer database, you enter the danger zone. ### Final\_v2\_REAL.xlsx We've all seen it. Files duplicated across desktops, emailed back and forth, or stuck in a sync conflict on OneDrive. Without a single source of truth, your team is always working on outdated info. ### Accidental Deletions One accidental drag-and-drop or a botched sort can wipe out months of customer notes or corrupt your email list. Spreadsheets offer zero guardrails against human error. ### Security Risks An Excel file is an all-or-nothing security model. If someone has access to the file, they can download your entire customer list in seconds. Real apps provide role-based permissions. The Leonardo Revolution ## Moving to a Real Database with Leonardo Historically, moving from an **excel customer database template** to a custom CRM was a six-figure investment that took months of development. Businesses were forced to choose between a fragile spreadsheet or a bloated off-the-shelf CRM that didn't fit their workflow. LlamaPress AI has eliminated that trade-off. Our AI engineer, **Leonardo**, acts as a bridge between your legacy data and modern web architecture. Leonardo analyzes your spreadsheet logic—your columns, your relationships, even your hidden formulas—and transforms them into a professional-grade Ruby on Rails application. You don't just get a new place to store data; you get a system that enforces your unique business rules and automates your specific workflows. ![Team collaborating on a custom CRM](https://images.unsplash.com/photo-1576267423048-15c0040fec78?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxCdXNpbmVzcyUyMHRlYW0lMjBjb2xsYWJvcmF0aW5nfGVufDB8fHx8MTc3NTc4MTY3MXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Windows](https://unsplash.com/@windows?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Benefits of a Custom CRM App Why thousands of businesses are trading their templates for tailored software. ### Workflow Automation Instead of manually updating a status cell, your app can automatically trigger emails, generate invoices, or assign follow-up tasks when a deal moves to the next stage. ### Relational Integrity Never worry about a VLOOKUP breaking again. Relationships in a real database are hard-coded, ensuring that a customer is always perfectly linked to their entire history. ### Anywhere Accessibility Custom web apps are mobile-responsive by default. Your sales team can update customer notes from the field, and you can see real-time dashboards from your phone. ### Scalable Architecture Whether you have 100 customers or 100,000, a database-backed app maintains its speed and reliability, whereas Excel becomes sluggish and unstable. Leonardo Active Indicator "Leonardo is currently analyzing 4,500+ rows of customer data to build a relational schema for a New York logistics firm. Estimated completion: 4 minutes." ## Convert Your Spreadsheet to a Web App Stop fighting your tools. Let Leonardo build the CRM your business deserves so you can focus on scaling, not fixing broken cells. If orders are the bigger headache, see how teams get [one source of truth for customer orders](https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth). Still comparing CRM Excel templates instead? Read [why the CRM Excel template itself becomes the bottleneck](https://llamapress.ai/crm-excel-template-scaling-bottleneck). [Start Your Transition](https://llamapress.ai/excel-to-app) Industrial Grade • No Code Required • Ready for 2025 ============================================================================== # The Glide Alternative With a Real Database Source: https://llamapress.ai/the-glide-alternative-when-your-app-needs-a-real-database-not-a-spreadsheet ============================================================================== # The Glide Alternative With a Real Database > Hit Glide's row limits or per-user pricing? An honest look at what Glide does well, where its walls are, and when a custom AI-built app you own costs less. Source: https://llamapress.ai/the-glide-alternative-when-your-app-needs-a-real-database-not-a-spreadsheet | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Hit Glide's row limits or per-user pricing? An honest look at what Glide does well, where its walls are, and when a custom AI-built app you own costs less. [Back to all articles](https://llamapress.ai/blog) Nobody goes looking for a Glide alternative the week they publish their first app. That week is magic. You pointed Glide at a Google Sheet, and twenty minutes later your field techs had a polished app on their phones. The search starts later. Maybe the row count crept toward the plan limit. Maybe the invoice jumped when the whole ops team started logging in daily. Maybe you asked the app to enforce one real business rule and discovered that a computed column was never going to cut it. I build software for a living, and I have real respect for what Glide did for this category. It convinced a generation of operators that the spreadsheet running their business could become an application. Most "best Glide alternatives" roundups will point you at AppSheet, Adalo, or Softr, which is trading one app shell for another. This page makes a different argument: if the process inside your Glide app is the backbone of a real company, the honest next step is custom software on a real database. The economics that made that unrealistic have collapsed, and the spreadsheet you fed Glide is the exact input an AI agent needs to build it. ![Operator using a mobile app on a smartphone at work, the kind of team-facing tool people first build with Glide from a spreadsheet](https://images.unsplash.com/photo-1592890288564-76628a30a657?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzbWFydHBob25lJTIwbW9iaWxlJTIwYXBwJTIwaGFuZHMlMjBvZmZpY2V8ZW58MHx8fHwxNzgzODgxMDA4fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Jonas Leupe](https://unsplash.com/@jonasleupe?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-holding-black-android-smartphone-wK-elt11pF0?utm_source=leonardo_rails_app&utm_medium=referral) ## What Glide Genuinely Does Well Credit first. Glide's core trick is still the best in the business: hand it a Google Sheet or an Excel file and it produces a genuinely attractive, mobile-first app almost instantly. The design defaults are strong enough that a non-designer ships something that looks professional. Glide Tables give you native storage that responds faster than a synced sheet, and Big Tables push the row ceiling well past what a spreadsheet source can hold. Computed columns handle a surprising amount of light logic: relations, rollups, if-then-else columns, template columns. The action editor covers the everyday stuff, like setting a status and firing a notification when a button is tapped. For an internal phone directory, an equipment checklist, a simple field inspection form, or a lightweight catalog a five-person team needs by Friday, Glide is honestly hard to beat. You will not find a faster path from a sheet to something your team can install on their phones. ## The Walls Operators Hit The trouble starts when the app stops being a companion to the business and becomes the way the business runs. Five walls come up in nearly every conversation I have with teams leaving Glide. ### Row limits and the updates meter Every Glide plan caps rows, and the caps are real. As of this writing, the entry tiers hold your usable data in the tens of thousands of rows, with Big Tables on higher plans stretching further. Order history grows every single day, so a distributor logging a few hundred order lines daily can watch the ceiling approach on a calendar. The subtler meter is updates. Glide counts edits, adds, deletes, and syncs against a monthly quota, and an ops team that lives in the app burns through it fast. One wholesale client I spoke with hit their monthly update quota in week three, and the choice was upgrade mid-cycle or let the app go stale for nine days. A database does not meter writes. That is the whole point of a database. ### Per-user pricing at ops-team scale Glide's pricing splits public users from private ones, and the private seats are where operations teams live. As of this writing, the Maker tier suits personal and public apps, while companies land on Team or Business plans that meter both updates and private users. The math is fine at four seats. Then the app works, so the warehouse lead needs in, then the bookkeeper, then the second shift, and each of them is a metered user generating metered updates. Teams respond by sharing logins and funneling edits through one "app person," which quietly recreates the single-operator bottleneck the app was supposed to remove. ### Every Glide app feels like a Glide app Glide's design system is its greatest strength and its firmest ceiling. You choose from Glide's layouts, Glide's components, and Glide's navigation patterns. That consistency is why the apps look good on day one. It is also why an estimator who needs a dense, keyboard-driven quoting screen with line items, tier pricing, and margin warnings ends up pinching and scrolling through a mobile card layout instead. Your process gets expressed in Glide's vocabulary, and whatever does not translate simply gets left out of the app. ### Computed columns are not business logic An if-then-else column can pick a label. It cannot enforce that a work order never moves to invoiced while any line item is missing a reviewed rate, and it cannot run a three-step approval where the second approver depends on the dollar amount. Multi-step workflows with state, validation, and history are where spreadsheet-derived tools tap out, because the data model underneath is still fundamentally a set of flat tables with lookup glue. Roles and per-user permissions help, but the finer-grained controls sit behind the upper plan tiers as of this writing, so "the warehouse sees quantities but never costs" becomes a plan-upgrade conversation rather than a checkbox. ### You can leave with the data, never the app This is the wall people feel last and resent most. Glide lets you export your tables. The application itself, the screens, the actions, the computed columns, the years of layout decisions, stays in Glide. There is no "download my app" button, no code to hand another developer. When the platform's pricing or limits change, your leverage is zero, because rebuilding elsewhere means starting from a CSV. ## Comparing Your Actual Options Here's the honest landscape for a spreadsheet-born operations app, including the option the listicles skip. | | Glide | AppSheet | Traditional dev shop | LlamaPress custom app | | --- | --- | --- | --- | --- | | Data model | Glide Tables or a synced sheet; flat tables with relation columns | Your sheet or a connected database, still sheet-shaped logic | Real relational database, designed from scratch | Real relational database, derived from your spreadsheet | | Cost model | Plan tiers metering private users and monthly updates | Per user, per month, tier-gated features | $50K to $250K+ project, then retainers | Flat build, no per-user meter (see [pricing](https://llamapress.ai/pricing)) | | Customization | Glide's components and layouts only | Configurable views, utilitarian look | Anything, if the spec survives six months | Any screen or workflow, written as real code | | Ownership | Rented; data exports, the app does not | Rented; data exports, the app does not | You own the code you paid for | You own the application, the code, and the data | | Limits | Row caps and update quotas per tier | Per-app row and sync practical limits | None technical; budget and timeline bite instead | A real database; grows with the business | If AppSheet is the other name on your shortlist, we wrote a full companion piece on [the AppSheet alternative when your spreadsheet deserves real custom software](https://llamapress.ai/the-appsheet-alternative-when-your-spreadsheet-deserves-real-custom-software). And if your team is weighing the grid-style tools instead, our take on [the Airtable alternative for teams that need real software](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet) walks the same ground from the database side. For all three priced side by side on one internal-tool job, see [Glide vs Softr vs Airtable vs a custom build](https://llamapress.ai/glide-vs-softr-vs-airtable-vs-a-custom-build-for-an-internal-tool-from-excel). ## When Glide Is the Right Choice Stay on Glide, sincerely, if most of this describes you. Your team is a handful of people rather than a department. The app is a directory, a checklist, a simple tracker, or a read-mostly catalog. Mobile is the whole point. Your data fits comfortably inside your plan's rows and your team's activity fits inside its updates. And you need something working today. For that shape of problem, Glide remains the fastest, most polished option on the market, and replacing it with custom software would be spending money to solve a problem you do not have. ## When to Go Custom Move when you recognize the patterns. You archive rows to a second table to duck the cap, and now nobody trusts a report. You watch the updates meter the way you once watched cell-phone minutes. Access decisions are budget decisions, because every new private user has a price on their head. One person has become the resident computed-column expert, and the app breaks quietly whenever they touch a relation. Or the simplest test: you describe your process to the tool in workarounds instead of describing it plainly. Glide got the whole company to believe in the app. The app now needs a foundation that can carry the company. ![Person reviewing a business app on a smartphone, representing an operations team that has outgrown a template-built Glide app](https://images.unsplash.com/photo-1512428559087-560fa5ceab42?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxzbWFydHBob25lJTIwbW9iaWxlJTIwYXBwJTIwaGFuZHMlMjBvZmZpY2V8ZW58MHx8fHwxNzgzODgxMDA4fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [NordWood Themes](https://unsplash.com/@nordwood?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-holding-white-android-smartphone-in-white-shirt-q8U1YgBaRQk?utm_source=leonardo_rails_app&utm_medium=referral) ## How the Leonardo Build Works Here's the part that changed the math. Our AI coding agent, Leonardo, starts from the same artifact Glide does: your actual spreadsheet. The difference is what happens next. Glide renders the sheet as an app shell on top of the same flat data. Leonardo reads the sheet and writes actual software from it. Your columns become properly typed fields in a real relational database. Your tabs become related tables with genuine foreign keys instead of relation-column glue. The rules living in your head, like "no invoice until every line has a reviewed rate," become validation written in real code that the system enforces for everyone, on every device, every time. The output is a web application you own outright, code included. Screens shaped to each role in your process rather than assembled from a component menu. Workflows with real state and real approvals. No row caps, because databases do not meter rows, and no per-user fee, so putting the entire company in the system is a process decision instead of a budget one. Builds that used to take an agency two quarters now take days to weeks. You can [turn your spreadsheet into a web application](https://llamapress.ai/excel-to-app) and see the first working version before you commit to anything, and if you want the full picture of how a sheet becomes software, the [Excel to App master guide](https://llamapress.ai/excel-to-app-master-guide) walks through the whole journey. ### Outgrew the app shell? Bring us the spreadsheet. Upload the sheet behind your Glide app and Leonardo will build custom database-backed software from it. Real logic, any interface, no update meters, and you own the code. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to a Human First](https://llamapress.ai/contact) ## Frequently Asked Questions ### Is there a better alternative to Glide? It depends on what broke. If you want another no-code builder, AppSheet is the usual next stop, with more logic depth and less polish. If Glide is running a real operational backbone and you keep hitting row, update, or logic ceilings, the better alternative is custom database-backed software. AI construction pulled custom build costs down to a fraction of the old agency price, which made that answer realistic for mid-sized companies. ### What are Glide's limitations? The ones that bite in practice: row caps per plan tier, a monthly updates quota that counts edits, adds, and syncs, per-private-user pricing on company plans, layouts limited to Glide's component system, computed columns in place of enforceable business rules, finer roles gated to upper tiers, and no way to export the application itself. Exact numbers shift, but the shape of the limits has been stable for years as of this writing. ### How much does Glide cost? As of this writing, Glide's paid plans run from a Maker tier for personal and public apps to Team and Business tiers for companies, priced monthly and metered on private users and updates. The sticker price is only half the story. An ops team that lives in the app all day consumes updates quickly, so growing companies tend to climb tiers on a schedule set by their own success. ### Can I export my app from Glide? You can export your data as spreadsheets. You cannot export the application: the screens, actions, computed columns, and configuration stay on Glide's platform, and there is no code to take with you. That data export is actually good news for a migration, because the spreadsheet is exactly the input Leonardo builds a custom application from. ### Should I choose Glide or custom software? Choose Glide for small-team, mobile-first apps with simple logic and data that fits the plan limits, especially when you need something live this week. Choose custom software when the app is your operational backbone: order pipelines, estimating, client onboarding, anything with multi-step workflows, real validation rules, a growing dataset, and a whole team that needs access without a per-seat meter deciding who gets in. ============================================================================== # The Hidden Cost of Excel Macros and VBA Source: https://llamapress.ai/the-hidden-cost-of-excel-macros-why-automation-is-stalling-your-growth ============================================================================== # The Hidden Cost of Excel Macros and VBA > Excel macros save hours until one person owns them all. The real cost of VBA automation for a growing business, and the database-backed way past the ceiling. Source: https://llamapress.ai/the-hidden-cost-of-excel-macros-why-automation-is-stalling-your-growth | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Excel macros save hours until one person owns them all. The real cost of VBA automation for a growing business, and the database-backed way past the ceiling. [Back to all articles](https://llamapress.ai/blog) ## Step 1: Enabling the Developer Tab and Recording Your First Macro Before you can record a macro in Excel, you must have the Developer tab visible. This is where all automation controls—including Visual Basic for Applications (VBA)—reside. ### How to enable the Developer Tab: 1. Right-click anywhere on the Excel Ribbon and select **Customize the Ribbon**. 2. In the right-hand column, check the box next to **Developer**. 3. Click **OK**. You should now see the Developer tab at the top of your Excel window. Once enabled, recording a macro is straightforward. You are essentially teaching Excel to remember a sequence of clicks and keystrokes. ### The Recording Process: - 1 Go to the **Developer** tab and click **Record Macro**. - 2 Give your macro a descriptive name (no spaces) and click **OK**. - 3 Perform the repetitive tasks you want to automate. Every cell you click and every formula you type is being converted into code in the background. - 4 When finished, go back to the Developer tab and click **Stop Recording**. ## Beyond the Basics: Running and Editing Your VBA Code To play back your automation, click the **Macros** button on the Developer tab, select your macro, and click **Run**. If you need to make changes, the **Visual Basic** editor allows you to peek under the hood at the script. ![Business Operations Manager](https://images.unsplash.com/photo-1573496528298-f0e9d3c7ce55?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxidXNpbmVzcyUyMG9wZXJhdGlvbnMlMjBtYW5hZ2VyJTIwZGVza3xlbnwwfHx8fDE3NzU3OTExMDJ8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Christina @ wocintechchat.com M](https://unsplash.com/@wocintechchat?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) While this tutorial solves the immediate need for automation, it ignores the larger architectural debt being created. As an ex-McKinsey consultant, I have seen too many companies reach what I call the "Fragility Threshold"—where the very tools built to save time become the greatest risk to the business. ## The McKinsey Perspective: The "Fragility Threshold" In my consulting days, I'd walk into mid-market firms doing $20 million in revenue, only to find their entire order management or estimation workflow held together by three macros written by "The Excel Guy" who left six months ago. This is not automation. This is architectural debt. When you create a macro, you are creating a person-dependent system. Macros lack multi-user stability. They break when someone upgrades their version of Office. They offer zero audit trails. For a small business, they are a bridge. For a scaling enterprise, they are a liability. "Operational excellence isn't found in a .xlsm file; it's found in audited, centralized logic." ![Frustrated worker at computer](https://images.unsplash.com/photo-1726649339367-c2577a28881b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxmcnVzdHJhdGVkJTIwY29tcHV0ZXIlMjB3b3JrfGVufDB8fHx8MTc3NTc5MTEwOXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Sebastian Herrmann](https://unsplash.com/@officestock?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## From "One Person's Sheet" to Company Infrastructure Formula fragility is a silent killer of margins. A macro that works today can fail tomorrow because a column was moved or a row was hidden. When you move from a spreadsheet to a database-backed application, you institutionalize your knowledge. ### Data Integrity A macro just repeats steps. A database enforces rules. You can't enter a negative order quantity or a missing client ID in a real application. ### Collaborative Growth Stop fighting over "Read-Only" workbooks. Database-backed apps allow your entire team to work simultaneously without version chaos. ### Auditability Know exactly who changed what and when. In a spreadsheet macro, errors are discovered only after the bid is lost or the shipment is delayed. ### API Connectivity A macro lives in a box. A web app connects to your CRM, your ERP, and your customer communications automatically. ![Modern Data Dashboard](https://images.unsplash.com/photo-1748609160056-7b95f30041f0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxtb2Rlcm4lMjBkYXRhJTIwZGFzaGJvYXJkJTIwdGFibGV0fGVufDB8fHx8MTc3NTc5MTExNnww&ixlib=rb-4.1.0&q=80&w=1080) ## Crossing the Fragility Threshold? If you are using macros to manage $5M+ in revenue, you aren't automating—you're building a house on sand. It's time to institutionalize your excellence. [Institutionalize Knowledge with Leonardo](https://llamapress.ai/excel-to-app) Book an Architectural Consultation to turn your fragile sheets into robust infrastructure. ============================================================================== # The Hidden Cost of Your XLSX Document Viewer Source: https://llamapress.ai/the-hidden-cost-of-your-xlsx-document-viewer-scaling-without-excel-in-2025 ============================================================================== # The Hidden Cost of Your XLSX Document Viewer > Stop looking for an xlsx document viewer and start building active workflows. Learn how to scale your business by moving from static spreadsheets to AI-driven database applications. Source: https://llamapress.ai/the-hidden-cost-of-your-xlsx-document-viewer-scaling-without-excel-in-2025 | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Stop looking for an xlsx document viewer and start building active workflows. Learn how to scale your business by moving from static spreadsheets to AI-driven database applications. [Back to all articles](https://llamapress.ai/blog) If you're searching for an **xlsx document viewer**, you've already identified a symptom. You have data you need to see, but you don't have a system to *use* it. You're looking for a window into a static file, when what you really need is a door into a purposeful workflow. ![Abstract data representation](https://images.unsplash.com/photo-1592474096967-7e5d62070cf7?auto=format&fit=crop&q=80&w=1080) Photo by [Julia Kicova](https://unsplash.com/@juliakicova?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) In 2025, the cost of "just viewing" your data is higher than ever. It's not a licensing cost; it's an opportunity cost. Every minute spent squinting at a grid of cells is a minute spent not automating the logic behind those cells. ## The Passive Viewing Problem The word "viewer" implies passivity. You open the file, you look at the rows, you maybe copy a value, and you close it. But in a growing business, data shouldn't be passive. It should be active. ### Fragility One accidental edit in a "viewer" that allows modification can break a formula that powers your entire P&L. ### Versioning Are you viewing the "Final" version or the "Final\_Final\_V2" version? Spreadsheets have no ground truth. ### Accountability Who viewed it? Who changed it? Why? Raw XLSX files offer zero auditability for critical business decisions. ## Moving from Static Files to Active Workflows Real scaling happens when you stop viewing documents and start managing workflows. When you move your data out of a flat file and into a database-backed application, you transform the nature of your work. - **Estimation:** Instead of a "viewer" for an estimate sheet, you have a dashboard that alerts you when an estimate is pending follow-up. - **Orders:** Instead of a list of rows, you have a pipeline with real-time statuses like "In Production" or "Shipped." - **Onboarding:** Instead of a checklist in a tab, you have assigned tasks with due dates that automatically notify your team. ![Analytical dashboard concept](https://images.unsplash.com/photo-1504868584819-f8e8b4b6d7e3?auto=format&fit=crop&q=80&w=1080) Photo by [Lukas Blazek](https://unsplash.com/@lukasblazek?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## The AI-Driven Alternative At LlamaPress AI, we've realized that the world doesn't need a better way to *view* XLSX files. It needs a faster way to *escape* them. Our AI engine, Leonardo, doesn't just display your spreadsheet data. It ingests it, understands the underlying schema, identifies relationships between your "tabs," and builds a full-stack Ruby on Rails application in minutes. ### Why this matters in 2025: "The gap between 'idea' and 'software' has collapsed. In the past, moving from Excel to a custom app took six months and $100k. Today, with LlamaPress, it's a lunch break. If you're still searching for a viewer, you're looking at the past. If you're building an app, you're building the future." By converting your static files into a database-backed system, you gain multi-user concurrency, role-based access control, and the ability to integrate with the rest of your tech stack. You stop being a "viewer" and start being an operator. ## Stop Viewing. Start Building. Ready to turn your fragile spreadsheets into a robust, scalable business application? Let Leonardo show you the way. [Build Your App Now](https://llamapress.ai/users/sign_up) [See How It Works](https://llamapress.ai/how-it-works) ============================================================================== # The Internal App Builder That Starts From Excel Source: https://llamapress.ai/the-internal-app-builder-that-starts-from-your-spreadsheet ============================================================================== # The Internal App Builder That Starts From Excel > The order desk, the handoff tracker, the homegrown CRM: internal tools die in spreadsheets. What an internal app builder should give you, and where to start. Source: https://llamapress.ai/the-internal-app-builder-that-starts-from-your-spreadsheet | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) The order desk, the handoff tracker, the homegrown CRM: internal tools die in spreadsheets. What an internal app builder should give you, and where to start. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Every company I have worked with runs on internal tools nobody planned. The order desk lives in a workbook with eleven tabs. Customer history sits in a shared sheet the team calls a CRM. Handoffs between sales and fulfillment travel by email. Sometimes one person logs them in a tracker only that person understands. Operators who search for an internal app builder want out of that mess. An internal app builder turns a business process into a small application on a real database. Your team signs into the app every day. The app keeps records with their full history. The app gives each person a login with a role. Guided workflows walk each order or ticket through its steps. An audit trail shows who changed what, and when. The fastest and safest starting point is the spreadsheet that already runs the process. The spreadsheet's columns, tabs, and unwritten rules are the specification. A blank canvas or a template gallery makes you rebuild that knowledge from memory. Memory is where the errors come from. ![Operations employee at a computer in a warehouse order desk that runs on a shared spreadsheet](https://images.unsplash.com/photo-1742203102929-f2810971a534?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHx3YXJlaG91c2UlMjBvcGVyYXRpb25zJTIwdGVhbSUyMGNvbXB1dGVyfGVufDB8fHx8MTc4Nzg3ODA5N3ww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [EqualStock](https://unsplash.com/@equalstock?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/woman-works-on-a-computer-in-a-warehouse-Ggjba7uZC-I?utm_source=leonardo_rails_app&utm_medium=referral) ## Internal Tools Are Where Spreadsheets Go to Die Customer-facing systems get budgets. Somebody owns the website and the accounting package. Internal tools get whatever the team can build in an afternoon. The team builds a spreadsheet. A spreadsheet was the right call when the company was small. At $5M or $15M in revenue, three of those spreadsheets now carry real weight. The order desk is the classic case. A distributor I advised tracked every open order in one workbook. The columns held order date, customer, items, promised date, carrier, and status. Six people edited the workbook. Twice a month an order vanished. The usual cause was a sort on a filtered range, then a paste over a row. Nobody could say who made the change. A cell has no memory. We wrote about this failure pattern in our piece on [order tracking software that gives your team one source of truth](https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth). The homegrown CRM is the second case. The sheet holds customer name, contact, last call, next step, and owner. The sheet works until you need the full history with one account. Then the history sits across four tabs, two inboxes, and a departed employee. If your CRM is an Excel template today, read [why the CRM Excel template becomes a scaling bottleneck](https://llamapress.ai/crm-excel-template-scaling-bottleneck). The story will feel familiar. The third case is the handoff tracker. The tracker moves work between departments. Sales hands to fulfillment. Support hands to billing. Intake hands to delivery. Handoffs are where work gets lost. A sheet cannot make anyone act. A sheet can only record, after the fact, that nobody acted. ## Four Things an Internal App Builder Must Give You Judge any internal app builder by its output. The output must be an application with four properties. If one property is missing, you have bought a prettier spreadsheet. ### Records with history An order should be a record. Every event should hang off that record in time order: status changes, notes, emails, promised-date slips. Open the customer and see every order. Open the order and see every touch. In a sheet, history is whatever survived the last paste. ### Roles and permissions The warehouse lead should update shipping status and nothing else. The bookkeeper should see invoice fields the sales team cannot edit. A spreadsheet gives everyone the same all-powerful cursor. One wrong sort then destroys six people's work. Real roles also let you give the whole team access. You no longer funnel every update through one gatekeeper. ### Guided workflows A guided workflow means the software knows the order of steps. An order moves from received to confirmed to picked to shipped to invoiced. The software will not let anyone skip a step. The software asks for the carrier before it allows "shipped." The software flags every order that sits in "confirmed" for more than three days. Guided workflows stop dropped follow-ups. The system chases the next step. No diligent person has to remember. ### An audit trail An audit trail records who changed the promised date, the old value, the new value, and the time. The first question in every customer escalation is who handled the order. A team that can answer fast stops arguing about blame. The team starts fixing the process instead. No spreadsheet gives you an audit trail. Every real database application can. ## A Fair Look at No Code CRM Builders A no code CRM builder is a drag-and-drop platform. You define objects, fields, and views without programming. These platforms are a real step up from the sheet. For some teams they are enough. A team with under ten users, a standard pipeline, and no unusual rules will do well on one. That team can have a CRM or a grid tool running this week. The stall points are consistent. I have watched teams hit all three. The first stall point is relational depth. An account needs orders. Orders need line items. Line items need customer-specific pricing. At that depth the visual builder turns into a fragile web of lookups. The second stall point is workflow logic. Any operator can say the rule: quotes over $10,000 need a second approval. Few no-code platforms can enforce that rule without scripting add-ons. The third stall point is the meter. Most platforms charge per seat per month. Fifteen people touch a customer at your company, and each one needs a seat. The bill grows every time you hire. We covered the same wall in the grid-tool world in [the Airtable alternative for teams that need real software](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet). No-code platforms serve a stage of growth well. The stall points mark the end of that stage. Ask the vendor about the exit before you commit. Some platforms let you export your data and your logic. Others make you rebuild from scratch a second time. ## What "No Code API Builder" Searchers Actually Need The search term no code api builder deserves a plain answer. An API (a data doorway for software) lets other systems read and write your data over the web. Your website checks stock levels. Your accounting system pulls invoices. A partner posts orders in. People who search for a no code API builder are usually operators. Their data sits trapped in a sheet or a SaaS tool. Some other system needs that data. Point-and-click API tools exist. They work for simple cases. You pick a data source and get generated endpoints. One limit matters. An API is only as good as the database behind it. An endpoint that serves rows from a messy sheet serves messy rows. Build your internal tool as a real database application instead. Then clean endpoints come almost free. The application already has structured tables, validation, and access control. One system does both jobs. Your team works in the app. Your website and partners call the same app. ## Why Starting From the Spreadsheet Beats a Blank Canvas Most builders start you at a blank canvas or a template gallery. Both options look helpful. Both throw away your best asset. The spreadsheet your team fights with every day is a field-tested specification of your process. Its columns are your data model. Its tabs are your tables. Its color codes and "do not touch column K" warnings are your business rules. Ten years of orders inside are your test data. Our AI coding agent, Leonardo, builds internal tools at LlamaPress this way. You [upload the workbook that runs your process](https://llamapress.ai/excel-to-app). Leonardo reads the workbook as the spec. Columns become typed database fields. Tabs become related tables. You explain the unwritten rules in plain English. Leonardo turns those rules into enforced validation and guided workflow steps. The output is a real web application on a real database. The app has the roles, history, and audit trail from the checklist above. You own the code. A working first version typically exists in days. No per-seat meter decides who on your team gets a login. A template encodes somebody else's process. You then spend weeks bending your team to the template, or the template to your team. The blank canvas is worse. The blank canvas asks the busiest person in the company to design software part-time. That person must reinvent from memory the rules the spreadsheet already enforces. ### Your spreadsheet is the spec. Bring it. Upload the order sheet, handoff tracker, or homegrown CRM your team runs on. Leonardo turns your sheet into an internal app with roles, guided workflows, and an audit trail. You own the code and the data. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk Through Your Tool](https://llamapress.ai/services) ## Frequently Asked Questions ### What is an internal app builder? An internal app builder turns a business process into an application for your own team. The application runs on a real database. Common examples are an order desk, a customer tracker, and an onboarding checklist. A real builder produces records with history, role-based logins, guided workflows, and an audit trail. A shared grid gives you none of those. ### Can I build a CRM without writing code? Yes. A no code CRM builder lets you define contacts, pipelines, and views without programming. These builders work well for small teams with standard sales motions. They stall on deep relationships, such as accounts with orders with line items. They also stall on custom approval rules and on per-seat pricing across a whole team. An AI-built custom CRM removes those ceilings. You still write no code. ### What does a no code API builder do? A no code API builder generates web endpoints over an existing data source. Other software, such as your website or accounting system, can then read and write that data. These builders work when the underlying data is clean. An internal tool built as a real database application can expose the same endpoints itself. You rarely need a separate API product. ### Why start from a spreadsheet instead of a template? The spreadsheet your team already uses is a tested specification of your process. Columns are fields. Tabs are tables. Warnings and color codes are business rules. The rows are realistic test data. A template encodes someone else's process, so you spend the project bending your team to fit the template. Software built from your own sheet matches how you work on day one. ### How long does it take to build an internal app this way? An AI coding agent works from your real spreadsheet. A working first version of an order tracker or internal CRM typically exists in days. Refinement against your team's feedback takes days to a few weeks. Traditional custom development for the same tool historically ran three to six months. The long timeline is why most operators never considered custom software. ============================================================================== # The LlamaPress AI Audit: Process and Outcome Source: https://llamapress.ai/ai-audit-playbook ============================================================================== # The LlamaPress AI Audit: Process and Outcome > How a LlamaPress AI audit works: interviews with your team, a review of your files and systems, and a report with a ranked plan for AI improvements. Source: https://llamapress.ai/ai-audit-playbook | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) How a LlamaPress AI audit works: interviews with your team, a review of your files and systems, and a report with a ranked plan for AI improvements. [Back to all articles](https://llamapress.ai/blog) An AI audit is a study of how your team works today and where AI tools can remove manual work. LlamaPress runs the audit in five steps. Most audits finish within two weeks of the first interview. This page describes each step, the report you receive, and two past engagements. ## What the Audit Covers The audit covers two levels. At the company level, we record your AI strategy, your current level of AI use, and how you plan to compete with AI. At the person level, we record the tasks, tools, and workflows of each person in the department. ## The Five Steps ### 1. Leadership interview We meet the department head for 60 to 90 minutes. We record the business goals, the current AI strategy, and the current level of AI use across the company. This interview gives each later finding a business context. ### 2. Team interviews We meet each relevant person for 30 to 60 minutes. We record the tasks they do, the tools they use, and the steps in each workflow. We note which tasks take the most time each week. ### 3. File and system review We examine the spreadsheets, reports, and systems named in the interviews. We trace how data moves between them. We note each point where a person copies data by hand. We also record where your data is stored, because the storage location decides which AI tools are safe to use. ### 4. Analysis We list each workflow and score it on two measures: the hours it costs each month, and the work needed to improve it. A workflow with a high cost and a small fix is a quick win. We record the current hours as a baseline, so you can measure the change after the improvements. ### 5. Report and review meeting We present the findings to your leadership in a meeting and answer questions. You keep the written report. ## The Report The report is short enough to read in one sitting. It contains: - An assessment of the company's current AI maturity. - Quick wins that your team can start in the same week. Many use tools you already pay for. - A 90-day roadmap, ordered by expected payoff. - Tool recommendations with monthly costs, and overlapping subscriptions you can cancel. - Data-safety rules that state which data can go into which AI tools. - A training plan. ## What We Need From You One leadership session of 60 to 90 minutes. One interview of 30 to 60 minutes with each person on a list we agree together. Sample files are helpful but optional. Your team does not need to pause normal work. ## Two Past Engagements ### RSB Contracts Commercial steel construction. About 150 employees. The interviews found three problems. A supervisor wrote the outstanding-work list by hand each day, across 30 active projects. The monthly tonnage report was a manual filter and a screenshot. Daily output was recorded but never compared with the daily requirement. The plan led to a production tracker. The tracker builds the work lists automatically and compares output with the requirement each day. > "Ludi will sit there for two, three hours actually manually writing all the things out of the list." Alex, Production Manager, on the process before the audit > "Give us tools that we can use to steer the ship. Without knowing, you can't do anything." Richard, President and CEO [Read the RSB case study](https://llamapress.ai/portfolio/rsb) ### Master of Business Creation (MBC) Graduate program. University of Utah Eccles School of Business. The program matches founders with mentors in two regions. The staff built the meeting schedule by hand. The meeting links took about two hours per round to set up. The same information was kept in nine places. The director planned to hire a second administrator. The first item on the plan was an automatic scheduler. The scheduler reproduced the hand-built schedule in one click. The director did not hire. > "I'm so excited to not do this anymore." Jade Jenson, Program Administrator, on the first quick win > "This is step one of about five things we're going to automate." Jeff Davis, Program Director ### Ask About an AI Audit The price depends on the size of your team and the scope of the audit. Contact us and we will send you a quote. [Contact us for pricing](https://llamapress.ai/contact) ============================================================================== # The Lovable Alternative Beyond the Prototype Source: https://llamapress.ai/the-lovable-alternative-when-your-business-app-has-to-outlive-the-prototype ============================================================================== # The Lovable Alternative Beyond the Prototype > Lovable builds a beautiful prototype in minutes. Then you own the Supabase config, the credit meter, and every fix. An honest alternative for business apps. Source: https://llamapress.ai/the-lovable-alternative-when-your-business-app-has-to-outlive-the-prototype | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Lovable builds a beautiful prototype in minutes. Then you own the Supabase config, the credit meter, and every fix. An honest alternative for business apps. [Back to all articles](https://llamapress.ai/blog) Nobody searches for a Lovable alternative on day one. Day one is the honeymoon. You typed two paragraphs describing an order tracker, and a polished React app assembled itself in front of you like a magic trick. The search starts around week three. Maybe the credit balance evaporated while you asked the AI to fix the same login bug for the fourth time. Maybe the app looks finished but the invite-a-teammate flow silently fails, and the fix lives somewhere inside a Supabase dashboard you have never opened. Maybe you just realized that shipping the prototype was the easy half. I build AI coding agents for a living, and I want to say this plainly: Lovable earned its hype. It is probably the best prompt-to-prototype experience anyone has shipped, and it convinced millions of non-programmers that software was within reach. That achievement is real. So is the wall that operators hit right after it. Most "best Lovable alternatives" roundups will hand you a list of other prompt-to-app tools, which trades one blank text box for another. This page makes a different argument: if the app has to run a real business process, the honest alternative starts from the spreadsheet that already runs it, and it comes with someone who keeps the software alive after launch. ![Laptop with a blank screen on a desk, the blank prompt every Lovable project starts from](https://images.unsplash.com/photo-1660945742817-217842d82b55?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzdGFydHVwJTIwZm91bmRlciUyMGxhcHRvcCUyMHByb3RvdHlwZSUyMGRlc2lnbnxlbnwwfHx8fDE3ODM5MDQ4MDh8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Fujiphilm](https://unsplash.com/@fujiphilm?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-laptop-with-a-blank-screen-lWX55p_GBnE?utm_source=leonardo_rails_app&utm_medium=referral) ## What Lovable Genuinely Does Well Credit where it is due. Lovable's core loop is remarkable: describe an app in plain English and watch it produce a genuinely attractive React frontend wired to a Supabase backend, often in a single sitting. The design defaults are strong enough that a first draft looks like something a real product team shipped. You can sync the whole project to GitHub and take the code with you, which puts Lovable ahead of the no-code platforms that hold your app hostage. Pricing is per workspace rather than per seat, so as of this writing an entire team can share one pool of credits without a per-user meter deciding who gets access. For a landing page, an investor demo, an internal proof of concept, or a technical founder sketching a product before writing serious code, Lovable is honestly hard to beat. The distance from idea to something clickable has never been shorter. ## The Three Walls Between the Prototype and the Business The trouble starts when the app stops being a demo and becomes the way the work gets done. Three walls come up again and again with the operators I talk to, the estimating leads and order desks and onboarding coordinators whose company runs on a spreadsheet today. ### You start from a blank prompt, but your business is not blank Lovable asks you to describe your process in a text box. Here's the problem with that: your process is already described, precisely, in the workbook your team has refined for six years. The estimating sheet with 14 tabs knows that a bid needs a reviewed labor rate before it totals. The order tracker knows which columns the warehouse sees and which ones only accounting touches. None of that survives a two-paragraph prompt. So the prototype comes back beautiful and wrong, and you spend the next forty messages teaching the AI rules your spreadsheet has enforced since 2020. The spreadsheet was the spec all along. A tool that cannot read it makes you retype your own business from memory. ### The credit meter runs hardest when things break Lovable prices in credits, and every message that changes the app consumes them. As of this writing, the Pro tier runs about $25 a month for roughly 100 monthly credits, with plans scaling toward $2,250 a month at the 10,000-credit level, and hosting plus AI usage billed separately. The number that matters is not the sticker price. It is where the credits go. Building the happy path is cheap. Debugging is where the meter spins, because the AI says it fixed the bug, the bug persists or a new one appears, and each retry is another paid message. Users describe getting caught in exactly this loop, and survey data on why people leave the platform puts unpredictable credit burn and repetitive bug loops at the top of the list. Paying per attempt to fix software you already paid to generate is a pricing model that punishes the exact moment you need help most. ### When it's "done," you own everything This is the wall operators feel last and hardest. The day the prototype is declared finished, you become the owner of a React codebase, a Supabase project with its row-level security policies, an authentication system with all of its edge cases, a deployment pipeline, and every future change request your team will ever make. Code export is genuinely great if you have a developer waiting to receive it. Our customers do not. An estimating manager at a 40-person contractor does not want a repository. Independent reviews of AI app builders keep landing on the same finding: satisfaction is very high for landing pages and drops sharply for production business software, because the frontend looks done long before the backend actually is. The prototype was never the hard part. The next five years of Mondays are the hard part. ## Comparing Your Actual Options Here's the honest landscape for an operator who needs real business software, including the option the listicles skip. | | Lovable | Traditional dev shop | LlamaPress custom app | | --- | --- | --- | --- | | Starting point | A blank prompt you write from memory | A spec document built over months of meetings | Your actual Excel or Google Sheets workbook | | Cost model | Monthly credit plans; debugging messages consume credits | $50K to $250K+ project, then retainers | Flat engagement, no per-message meter (see [pricing](https://llamapress.ai/pricing)) | | What you get | React + Supabase codebase you export and run | Code you own, if the budget survives | A running, hosted application plus the code | | Who maintains it | You, or a developer you hire to take it over | The shop, billed hourly, forever | Our AI agent plus a real team, after launch | | Hosting & DevOps | Your Supabase project, your deployment decisions | Scoped into the contract, at contract prices | Managed hosting included, zero DevOps homework | If your shortlist also has the spreadsheet-to-app tools on it, we have written the same honest treatment of [the Glide alternative when your app needs a real database](https://llamapress.ai/the-glide-alternative-when-your-app-needs-a-real-database-not-a-spreadsheet) and [the AppSheet alternative when your spreadsheet deserves real custom software](https://llamapress.ai/the-appsheet-alternative-when-your-spreadsheet-deserves-real-custom-software). Teams weighing the grid-style platforms should read our take on [the Airtable alternative for teams that need real software](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet). ## When Lovable Is the Right Choice Stay with Lovable, sincerely, if most of this describes you. You are a technical founder, or you have a developer on staff who will happily own a React and Supabase codebase. The thing you are building is a prototype, a marketing site, an MVP to put in front of investors, or a product experiment that might get thrown away next month. You enjoy iterating by prompt and you have the patience and budget for the occasional debugging loop. In that world Lovable is a genuinely wonderful tool, and replacing it with a custom build would be spending money to solve a problem you do not have. Speed of exploration is the whole game at that stage, and nothing explores faster. ## When You Need the App to Outlive the Prototype Move on when you recognize the patterns. Your "prototype" quietly became the system of record for orders, bids, or client onboarding, and now a bug is a business outage instead of an inconvenience. You watch the credit balance the way you once watched cell phone minutes, and you hesitate before reporting a bug because the fix will cost messages. The phrase "row-level security" has entered your vocabulary against your will. Or the simplest test of all: the app Lovable built still does not know the rules your spreadsheet has enforced for years, because you have not managed to type all of them into the prompt box yet. ![Operator reviewing a working business application at his desk, the stage after the prototype where the software has to keep running](https://images.unsplash.com/photo-1542744094-3a31f272c490?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkZXNpZ25lciUyMHJldmlld2luZyUyMHdlYiUyMGFwcCUyMG1vY2t1cCUyMHNjcmVlbiUyMG9mZmljZXxlbnwwfHx8fDE3ODM5MDQ4MzB8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Campaign Creators](https://unsplash.com/@campaign_creators?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-using-apple-computer-iEiUITs149M?utm_source=leonardo_rails_app&utm_medium=referral) ## How the LlamaPress Build Works Our AI coding agent, Leonardo, starts where your business actually is. You upload the spreadsheet that runs your estimating desk, your order pipeline, or your client onboarding checklist. Leonardo reads it the way a senior engineer would read a spec, because that is what it is. Your columns become properly typed fields in a real relational database. Your tabs become related tables with genuine foreign keys. The rules buried in your formulas and in your head, like "no bid leaves without a reviewed labor rate," become validation written into the software itself, enforced for every user on every device. Then comes the part that separates this from every prompt-to-app tool: the application launches on managed hosting we run, and it does not get orphaned at the finish line. Leonardo keeps iterating on it after launch, and a real team of humans stands behind him for the changes that need judgment. No credit meter ticking while a bug gets fixed. No Supabase dashboard you are suddenly responsible for. No DevOps homework. You can [turn your spreadsheet into a web application](https://llamapress.ai/excel-to-app) and see the first working version before you commit to anything, and if you want the full picture of how a workbook becomes production software, the [Excel to App master guide](https://llamapress.ai/excel-to-app-master-guide) walks through the entire journey. ### Skip the blank prompt. Bring the spreadsheet. Upload the workbook that already runs your business and Leonardo will build database-backed software from it. Managed hosting, real validation rules, and a team that keeps improving it after launch. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to a Human First](https://llamapress.ai/contact) ## Frequently Asked Questions ### Is there a better alternative to Lovable? It depends on what you are building. For prototypes and experiments, the honest answer is that Lovable is among the best tools available, and switching to a near-identical prompt-to-app competitor rarely fixes anything. For software that runs a real business process, the better alternative is a custom database-backed application built from your existing spreadsheet, delivered on managed hosting, with a team responsible for keeping it working after launch. ### Why do Lovable credits run out so fast? Credits are consumed by messages that change the app, and debugging is message-hungry by nature. A fix attempt that does not land still costs a credit, and complex apps produce more of those attempts. Users consistently report that the meter runs fastest during bug-fix loops rather than during initial building. Exact allocations shift, but as of this writing the pattern has held across plan tiers. ### Is Lovable production ready for business apps? The frontend usually is. Lovable produces polished React interfaces that look production grade on day one. The gap shows up underneath: Supabase configuration, row-level security, authentication edge cases, and deployment are yours to own, and reviews consistently find satisfaction drops as projects move from landing pages toward operational software. With a developer on staff to harden the backend, it can work. Without one, the finished prototype becomes an unfinished responsibility. ### Can I export my app from Lovable? Yes, and this is a real point in Lovable's favor. You can sync your project to GitHub and take the React and Supabase code with you. The catch is what happens next: exported code needs a developer to run, host, secure, and change it. If nobody on your team wants that job, the export is a box of parts rather than a working machine. ### Should I choose Lovable or LlamaPress? Choose Lovable when you want to explore an idea fast, you are comfortable in a Supabase dashboard or have a developer who is, and the stakes of a bug are low. Choose LlamaPress when the software has to run your estimates, orders, or client onboarding: the build starts from your actual spreadsheet instead of a blank prompt, it ships on managed hosting, and an AI agent plus a human team keeps iterating without a credit meter attached to every fix. ============================================================================== # The Monday.com Alternative for Spreadsheet Teams Source: https://llamapress.ai/the-monday-com-alternative-when-your-work-os-is-still-run-from-spreadsheets ============================================================================== # The Monday.com Alternative for Spreadsheet Teams > Monday.com alternative guide for operators: where per-seat pricing, flat boards, and automation caps hit walls, and when AI-built custom software wins. Source: https://llamapress.ai/the-monday-com-alternative-when-your-work-os-is-still-run-from-spreadsheets | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Monday.com alternative guide for operators: where per-seat pricing, flat boards, and automation caps hit walls, and when AI-built custom software wins. [Back to all articles](https://llamapress.ai/blog) Most people searching for a Monday.com alternative are not angry at the product. They are tired of a specific pattern. The trial went well. The boards looked clean. Then the whole operations team needed seats, the per-user invoice tripled, and eighteen months in they noticed something uncomfortable: the estimating numbers still live in Excel, the order history still lives in Excel, and Monday has become the colorful layer where people update statuses about work that actually happens somewhere else. I have spent my career inside operational spreadsheets, first at McKinsey and now helping mid-market operators replace them. I have watched the Monday.com evaluation play out at contracting firms, distributors, and agencies more times than I can count. The tool deserves a fair hearing, so this article gives it one, and then explains why operators running estimating, order tracking, or client onboarding usually need something a generic Work OS cannot be. ![Operations team discussing project boards and task tracking in an office](https://images.unsplash.com/photo-1556761175-b413da4baf72?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx0ZWFtJTIwa2FuYmFuJTIwYm9hcmQlMjBwcm9qZWN0JTIwb2ZmaWNlfGVufDB8fHx8MTc4MzkwMzk5Mnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Austin Distel](https://unsplash.com/@austindistel?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/three-men-sitting-on-chair-beside-tables-mpN7xjKQ_Ns?utm_source=leonardo_rails_app&utm_medium=referral) ## What Monday.com Genuinely Does Well Credit where it is due. Monday.com made shared task tracking something people actually enjoy opening. The boards are fast and legible. Status columns, owners, and due dates are visible at a glance, and the Kanban, timeline, and calendar views let a marketing team, an agency, or a leadership group see who is doing what this week without a standing meeting. Adoption is the hard part of any tool rollout, and Monday's polish buys real adoption. The automation recipes handle the common notification patterns well: when a status changes, notify the owner; when a date arrives, create an item; when a form is submitted, add a row to a board. The integration catalog is broad. For a team whose work is genuinely generic, meaning tasks with owners and deadlines that do not carry much domain structure, Monday.com is a defensible choice and often a good one. The trouble starts when a business tries to promote it from "the place we see work" to "the system that runs the work." That promotion is exactly what the Work OS marketing invites, and it is where the walls appear. ## The Four Walls Operators Hit ### 1. The per-seat meter runs on your entire team Monday.com prices per seat per month, roughly $9 to $12 at the entry tiers and $19 and up on Pro as of this writing, billed annually with a three-seat minimum, and Enterprise quoted separately. The features operators actually need, things like time tracking, formula columns, and meaningful automation volume, sit in the higher tiers. An operational process touches a lot of hands: three estimators, the order desk, two dispatchers, the bookkeeper, the onboarding coordinator, the owner. Fifteen people on Pro runs to several thousand dollars a year, every year, and the renewal only moves in one direction. That is a permanent tax on headcount for what remains, structurally, a shared grid with views. ### 2. Boards recreate the flat-grid problems you already have Underneath the color, a Monday board is a flat list of items. Your customer is an item on one board. Their orders are items on another board, tied back with connect-board and mirror columns. There is no true relational database where a customer record owns its orders, contacts, quotes, and history in one place. The mirror-column lattice works at small scale, then grows brittle in the same way linked Excel workbooks do. Formula columns carry their own ceilings: as of this writing they are gated to the higher plans, they calculate within an item rather than across your whole dataset the way a database query does, and their results famously resist being used in some automations, which sends admins hunting for workaround columns. I wrote about the identical failure shape in [the Smartsheet alternative for operations teams](https://llamapress.ai/the-smartsheet-alternative-when-your-operations-outgrow-a-configurable-spreadsheet), because it is the same disease in different clothing. A distributor I advised kept customers on one board and open orders on another. A duplicated customer item split their order history in two for a month. Nobody caught it until a rep quoted a lapsed discount to the wrong half. ### 3. Automations are capped by tier and notify rather than decide Monday's automations are metered in actions per month, with allowances that step up by plan as of this writing, and heavy months can burn through an allowance faster than you expect once every status change fires a recipe. The deeper limit is what the recipes can express. "When status changes to Done, notify Sarah" is easy. "A bid over $250K cannot be marked Sent until a second estimator approves the labor rates" is business logic, and a recipe cannot enforce it. Neither can it enforce "onboarding cannot advance until the signed agreement and the completed intake questionnaire are both attached." So the rules that protect your margin keep living where they always lived: in one careful person's head, backed by a checklist. ### 4. Somebody has to become the Monday person Every Monday.com deployment I have seen at a mid-market company has one: the operations manager or office lead who builds the boards, wires the automations, untangles the mirror columns, and fields every "why can't I see this" question, all on top of their actual job. Configuration burden does not disappear in a no-code tool. It concentrates. When that person goes on leave or quits, the company discovers that the Work OS has a single administrator the same way the old master spreadsheet had a single owner. You changed the interface. You did not change the risk. ![Team gathered around a table working through an operational process together](https://images.unsplash.com/photo-1681949103006-70066fb25dfe?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHx0ZWFtJTIwa2FuYmFuJTIwYm9hcmQlMjBwcm9qZWN0JTIwb2ZmaWNlfGVufDB8fHx8MTc4MzkwMzk5Mnww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Sable Flow](https://unsplash.com/@sableflow?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-group-of-people-sitting-around-a-white-table-T74mVg__F_k?utm_source=leonardo_rails_app&utm_medium=referral) ## The Real Problem: Generic Boards, Specific Work Here is the pattern I see in the operators who churn off Monday.com. Their work has domain structure. An estimate has assemblies, unit costs, labor rates, and markup rules. An order has line items, a fulfillment status, a shipping record, and an invoice. A client onboarding has documents to collect, steps that gate other steps, and deadlines that trigger follow-ups. A generic board flattens all of that into items with status columns, so the real work retreats to the tool that can hold the detail. Which is Excel. The company ends up paying per seat for a status layer on top of the same spreadsheets they were trying to escape, with the numbers retyped between the two. That double entry is where bids go out with stale rates and orders fall through the gap. If that describes your setup, the question is no longer which project tool to pick. It is whether your revenue process should run on software shaped exactly like the process. Until recently the honest answer was "you cannot afford that." A custom system meant a $100K engagement and six months of discovery meetings. That economics is what changed, and I walk through the whole landscape in the [Excel to App master guide](https://llamapress.ai/excel-to-app-master-guide). ## Monday.com vs. Excel vs. a Custom LlamaPress App This is the whiteboard version I draw for clients weighing the three paths. Readers evaluating other builders may also want [the Airtable alternative breakdown](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet) or [the Power Apps alternative for businesses without an IT department](https://llamapress.ai/the-power-apps-alternative-for-businesses-without-an-it-department); the structural argument rhymes across all of them. | | Excel / Sheets | Monday.com | LlamaPress Custom App | | --- | --- | --- | --- | | Data model | Free-form cells; anything goes anywhere | Flat boards of items; cross-board links via connect and mirror columns | Relational database; a customer record owns its orders, files, and history | | Cost model | Bundled with Office; nearly free | Per seat, per month, roughly $9 to $19+ by tier as of this writing, every user counted | Flat build plus hosting; the 15th user costs nothing extra (see [pricing](https://llamapress.ai/pricing)) | | Process fit | You are the workflow engine | Strong for generic task visibility; domain rules live in helper columns, capped automations, and habit | Guided workflows with enforced business logic: required fields, gated steps, real approvals | | Ownership | Your file, on your drive | Rented; your process lives inside their subscription, tiers, and limits | Your application and your database; an asset that leaves with you | ## When Monday.com Is the Right Choice I would rather lose a reader than pretend otherwise. Keep Monday.com if your team's work is genuinely generic task flow: a marketing calendar, an agency's campaign pipeline, a leadership team that wants shared visibility on initiatives with owners and dates. Keep it if the whole company already lives in it, has trained on it, and the seat count is modest, because switching costs are real and I never wave them away. A team of six coordinating deliverables on a Standard plan is getting fair value. In that situation Monday.com is the correct tool, and nothing below applies to you. ## When the Right Move Is Custom Software The calculus flips when the boards are standing in for an operational system. Estimates that must be priced from your rate tables, reviewed, and sent. Orders that flow from intake through fulfillment to invoice with a full customer history behind them. Client onboarding that collects documents across weeks and stalls the moment nobody chases it. These are workflows with rules, states, and handoffs. They belong in database-backed software shaped like your process, with the logic enforced by the system instead of by vigilance, and priced so that adding your tenth user is free. ## How the Leonardo Build Works LlamaPress builds that application with Leonardo, our AI coding agent, and the starting point is the spreadsheet you already run the business on. Not a blank board, not a template gallery. You [upload the Excel file or Sheets export](https://llamapress.ai/excel-to-app), and Leonardo reads its tabs, columns, and formulas as the specification. Your rate tables become database tables. Your linked sheets become proper relationships. Your "do not send until Dave checks it" rule becomes an actual approval gate that blocks the workflow until someone with authority clicks it. You get a working application to click through in days, then we refine it against how your team actually operates. Unlimited users, because the economics are not per seat. Your data sits in a real database you own. Most builds land well under what a year of Pro seats costs across an ops team, and when you want specifics we will walk you through [pricing](https://llamapress.ai/pricing) or a live conversation via [contact](https://llamapress.ai/contact). From Boards to Software ### Bring the spreadsheet. Leave with software. Upload the sheet that really runs your bids, orders, or onboarding, and watch Leonardo turn it into a database-backed application with your rules built in and no per-seat meter. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to Us First](https://llamapress.ai/contact) ## Frequently Asked Questions ### Is there a cheaper alternative to Monday.com? For generic task boards, lighter tools exist at lower per-seat prices. For operational workflows, the cheaper path over a two to three year horizon is usually a custom database-backed app: a flat build cost instead of a per-seat meter that runs on every estimator, coordinator, and viewer forever, with the break-even against a 10 to 20 seat plan often arriving inside the first year or two. ### What are Monday.com's main limitations? Per-seat pricing across every user with key features gated to higher tiers, boards that are flat grids without a true relational database, formula columns with real constraints, automation actions metered by plan as of this writing, and a configuration burden that lands on one internal administrator. ### Why does Monday.com feel like a prettier spreadsheet? Because structurally it is one: items in a flat grid with typed columns and views on top. Work with domain structure, like estimates, orders, and onboarding checklists, does not fit the flat shape, so the detail retreats to Excel and the boards become a status layer that must be updated by hand. ### Can I move my Monday.com data into a custom app? Yes. Boards export cleanly to Excel, and Leonardo treats that export as the blueprint: boards become database tables, connect-board columns become relationships, and your historical items migrate into the new database so you keep continuity from day one. ### When should I stay on Monday.com? Stay when your work is genuinely generic task flow with modest seat counts: marketing calendars, agency pipelines, leadership visibility boards, or an organization already standardized on it. Move when the boards are standing in for a revenue process with rules, states, and handoffs. ============================================================================== # The Myth of Excel Automation: A Scaling Liability Source: https://llamapress.ai/the-myth-of-excel-automation-why-your-business-needs-a-database-in-2025 ============================================================================== # The Myth of Excel Automation: A Scaling Liability > Excel automation is often a temporary fix for a growing business. Learn why moving from fragile spreadsheets to database-backed apps is the key to scaling in 2025. Source: https://llamapress.ai/the-myth-of-excel-automation-why-your-business-needs-a-database-in-2025 | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Excel automation is often a temporary fix for a growing business. Learn why moving from fragile spreadsheets to database-backed apps is the key to scaling in 2025. [Back to all articles](https://llamapress.ai/blog) ## The "Duct Tape" Trap We've all seen it: the "Master Estimator" workbook that looks like a miracle of engineering but crashes the moment someone adds a new row. This is the inherent fragility of Excel automation. "Automating a spreadsheet is like putting a rocket engine on a tricycle. It goes fast right up until the frame snaps under the pressure." In my experience as a software engineer, I've seen mid-market firms spend thousands on VBA macros and Power Automate flows only to hit a wall. These tools are designed for personal productivity, not for running the operational backbone of a fifty million dollar company. When your business process relies on a complex web of scripts, you are one retired "Excel Wizard" away from a total system collapse. This is the hidden risk that prevents true scaling. ![Fragile mechanism](https://images.unsplash.com/photo-1633451238042-85d93d267866?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxmcmFnaWxlJTIwbWVjaGFuaXNtfGVufDB8fHx8MTc3NTc5MTA3N3ww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Lukas Tennie](https://unsplash.com/@luk10?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-close-up-of-a-watch-face-with-the-gears-missing-3dyDozzCORw?utm_source=leonardo_rails_app&utm_medium=referral) ## Where "Automated" Spreadsheets Fail Most 1 ### Estimation & Bidding For construction and fabrication firms, an "automated" estimator is often a house of cards. You have multiple people touching the same workbook, hidden cells that contain critical pricing logic, and formulas that break if a vendor changes their unit of measurement. The result is a constant fear of sending out a bid with a massive error. Real automation means moving that logic into a database where pricing rules are centralized and protected from accidental deletion. 2 ### Order Tracking & Fulfillment Manufacturing and distribution businesses often try to automate order status with conditional formatting and lookup tables. But when you have hundreds of active orders, these sheets become slow and unreliable. Without a relational database, you can't easily see the full history of a customer's interactions or track which team member handled a specific follow-up. You lose the "single source of truth" that a growing company requires. 3 ### Complex Client Onboarding MSPs and legal firms frequently use "automated" checklists in Excel to track onboarding steps. However, these sheets lack the guided workflows and notification triggers needed to move clients through the process quickly. When onboarding takes six weeks instead of two, it's usually because the process is trapped in a file rather than an application. A database-backed app can trigger tasks, send automated updates, and ensure nothing falls through the cracks. ## When "Free" Tools Start Costing You Money Real automation isn't about running scripts; it's about data integrity and collaboration. ### The Concurrency Wall Excel was designed for one person at one desk. "Locked for editing" isn't just an annoyance; it's a bottleneck that slows down your entire operations team. ### Silent Failures When a macro fails, it often leaves the data in a half-finished state. Without transaction logging, you'll never know which bids were based on corrupted data. ### The Scaling Ceiling As you scale from 10 to 100 projects, the "automated" sheet becomes so bloated it takes minutes to open. A database-backed app stays fast forever. ## The Move to Relational Power 1 ### Structured Data Validation No more "text in a number field." A real app ensures data quality at the source, preventing costly errors downstream. 2 ### Single Source of Truth Every project, client, and line item lives in a central database. No more searching through folders for the latest "v3\_Final" file. 3 ### AI-Powered Orchestration Leonardo doesn't just automate tasks; it builds the entire system for you, ensuring your software matches your workflow perfectly. ![Highly structured server rack cabling in a data center](https://images.unsplash.com/flagged/photo-1579274216947-86eaa4b00475?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkYXRhJTIwY2VudGVyJTIwc2VydmVyfGVufDB8fHx8MTc3NTc5MTEyNHww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Massimo Botturi](https://unsplash.com/@wildmax?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/electronic-wire-lot-zFYUsLk_50Y?utm_source=leonardo_rails_app&utm_medium=referral) ![Digital abstract diagram representing cloud technology architecture](https://images.unsplash.com/photo-1667984390538-3dea7a3fe33d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkaWdpdGFsJTIwY2xvdWQlMjB0ZWNobm9sb2d5fGVufDB8fHx8MTc3NTc5MTEyNXww&ixlib=rb-4.1.0&q=80&w=1080) ## Stop Automating Spreadsheets. Start Engineering Success. The transition from "Excel Automation" to a custom database application is the highest-leverage move for any mid-market company today. [Launch with Leonardo](https://llamapress.ai/excel-to-app) ![Customer avatar](https://i.pravatar.cc/100?u=kody) ![Customer avatar](https://i.pravatar.cc/100?u=4) ![Customer avatar](https://i.pravatar.cc/100?u=5) Join 200+ companies scaling with AI this month ============================================================================== # The Power Apps Alternative for Teams With No IT Source: https://llamapress.ai/the-power-apps-alternative-for-businesses-without-an-it-department ============================================================================== # The Power Apps Alternative for Teams With No IT > Power Apps alternative for businesses without IT: where licensing, Dataverse costs, and Power Fx hit walls, and when custom software from Leonardo wins. Source: https://llamapress.ai/the-power-apps-alternative-for-businesses-without-an-it-department | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Power Apps alternative for businesses without IT: where licensing, Dataverse costs, and Power Fx hit walls, and when custom software from Leonardo wins. [Back to all articles](https://llamapress.ai/blog) If you are searching for a Power Apps alternative, my guess is the story went something like this. You run a real process in Excel, someone technical in your orbit said "Microsoft has a thing for exactly that," and you opened Power Apps expecting a bigger, sturdier spreadsheet. Instead you found environments, connectors, canvas apps versus model-driven apps, a licensing page that reads like a tax code, and a formula language called Power Fx that resembles Excel formulas the way a cockpit resembles a dashboard. Or the story is worse. Somebody at your company actually built the app. It half works, that person left in March, and now an application your dispatch team depends on is a black box nobody dares to touch. I want to be fair to Microsoft here, because Power Apps is a serious product that does what it promises for the organizations it was designed for. The problem is who it was designed for. That was never a 40-person distributor with no IT department. Let me walk through where the platform genuinely shines, where it grinds down businesses like yours, and what the honest alternative looks like now that AI can write the software for you. ![Corporate IT team meeting in a conference room, the kind of staff Power Apps deployments assume you have](https://images.unsplash.com/photo-1606836591695-4d58a73eba1e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxjb3Jwb3JhdGUlMjBJVCUyMHRlYW0lMjBtZWV0aW5nJTIwb2ZmaWNlfGVufDB8fHx8MTc4Mzg4MTAwOXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Rodeo Project Management Software](https://unsplash.com/@getrodeo?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/people-sitting-on-chair-inside-building-ONe-snuCaqQ?utm_source=leonardo_rails_app&utm_medium=referral) ## What Power Apps Genuinely Does Well Credit where it is due. Inside a company that already lives in Microsoft 365, Power Apps is remarkably well connected. It signs users in with the accounts they already have. It talks natively to SharePoint, Teams, Outlook, and Excel, plus hundreds of other systems through its connector library. Dataverse, its underlying data service, is a legitimate relational store with security roles and auditing. Model-driven apps can stamp out consistent, governed business applications across thousands of employees, and the admin tooling around environments and data loss prevention policies gives an IT department real control over what citizen developers can wire together. For a 5,000-person enterprise with a Power Platform Center of Excellence, that is exactly the point. IT sets the guardrails, trained builders work inside them, and the company gets dozens of internal apps without dozens of development contracts. Microsoft built a genuinely good enterprise platform. Notice what every sentence in those two paragraphs assumed, though. An IT department. Governance. Training. A tenancy someone administers. Remove those assumptions and the same platform becomes something quite different. ## The Four Walls a No-IT Business Hits ### 1. The licensing stack is a meter on your whole team Power Apps pricing looks simple until you try to buy it. The Premium plan runs roughly $20 per user per month as of this writing, with a pay-as-you-go variant priced per active user per app and a limited version bundled into some Microsoft 365 subscriptions that excludes the pieces real apps tend to need, Dataverse chief among them. Then capacity enters the picture. Dataverse storage comes with a modest base allocation across your tenancy, and additional database, file, and log capacity is billed separately per gigabyte per month. Add Power Automate premium flows if your process needs serious automation, because some of that metering sits outside the Power Apps license itself. Now do the operator math. Your order desk, your estimators, dispatch, accounting, the warehouse lead, the owner who just wants to look things up: fifteen people at roughly $20 a month is $3,600 a year before storage, before Power Automate, before the consultant. Every new hire raises the bill. The meter never stops, and the process it runs is yours, but the software never will be. ### 2. The learning curve is actually a cliff The pitch says low-code. The reality is that a useful Power Apps build asks you to choose between canvas and model-driven architectures, model your tables in Dataverse, manage environments for development and production, and write Power Fx expressions for anything beyond a basic form. Power Fx borrows Excel's syntax, which sounds friendly, except an Excel formula computes a value in a cell while a Power Fx expression manages screen state, delegation limits against data sources, and control behavior. I have watched genuinely sharp Excel operators, people who write INDEX/MATCH in their sleep, stall for weeks at exactly this point. Their skill did not transfer. It only looked like it would. A flooring contractor I advised last year put their best estimator on "the Power Apps project" for a quarter. He produced one working screen. The quoting logic that took him twenty minutes to express in Excel never made it in, and every hour he spent fighting delegation warnings was an hour not spent on bids. ### 3. Real deployments need a consultant anyway There is a reason a large ecosystem of Power Platform consultancies exists. Enterprises run citizen-developer programs with IT supervision; everyone else hires a partner. That is a fine model when it is honest, but it undercuts the reason you picked a low-code tool in the first place. You wanted to avoid custom development costs, and you end up paying development rates for someone to configure a platform you then rent per user per month. The consultant builds it, hands it over, and leaves you holding an app your team cannot modify. Power Platform is one of the platforms ranked in [the best digital transformation platforms for businesses in 2026](https://llamapress.ai/the-best-digital-transformation-platforms-for-businesses-in-2026-compared-honestly). ### 4. Maintenance concentrates in one head Whether the builder was a consultant or your one semi-technical employee, the result is the same shape of risk your spreadsheet already had. One person understands the app. When they leave, the knowledge leaves. Except a spreadsheet can at least be opened and read by the next person, painfully, cell by cell. An orphaned Power Apps solution, spread across canvas screens, Power Fx expressions, Dataverse tables, and Power Automate flows in somebody's environment, is far harder to archaeologize. You escaped key-person risk in Excel by recreating it one level up, with a subscription attached. ![Business team discussing an operational process in an office meeting room](https://images.unsplash.com/photo-1568992687947-868a62a9f521?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxjb3Jwb3JhdGUlMjBJVCUyMHRlYW0lMjBtZWV0aW5nJTIwb2ZmaWNlfGVufDB8fHx8MTc4Mzg4MTAwOXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Redd Francisco](https://unsplash.com/@reddfrancisco?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/people-sitting-on-chair-5U_28ojjgms?utm_source=leonardo_rails_app&utm_medium=referral) ## Power Apps vs. Grid Tools vs. Traditional Dev vs. a Custom LlamaPress App Here is the four-column version of the whiteboard I draw for clients weighing their options. The grid-tool column covers products like Smartsheet and AppSheet; I have written parallel breakdowns of both in [the Smartsheet alternative for teams running real operations](https://llamapress.ai/the-smartsheet-alternative-when-your-operations-outgrow-a-configurable-spreadsheet) and [the AppSheet alternative when your spreadsheet deserves real custom software](https://llamapress.ai/the-appsheet-alternative-when-your-spreadsheet-deserves-real-custom-software). | | Power Apps | No-Code Grid Tools | Traditional Dev Shop | LlamaPress Custom App | | --- | --- | --- | --- | --- | | Cost model | Per user per month (~$20 Premium as of this writing) plus Dataverse capacity, plus a partner for real builds | Per seat per month, rising at renewal | $50K to $150K+ up front, then retainers | Flat build plus hosting; no per-user meter (see [pricing](https://llamapress.ai/pricing)) | | Skill required | Power Fx, Dataverse modeling, environments; realistically a consultant or trained builder | Low, because the ceiling is low | None from you, but you translate requirements through a project manager | Describe your process in plain English; Leonardo does the developer work | | Time to a working app | Weeks to months for a real multi-user build | Days, for grid-shaped problems | Three to six months, typically | A working app to click through in days, refined against your team's reality | | Fit to your process | High ceiling, if you climb the platform's learning curve to reach it | Your process bends to fit the grid | High, at the price and timeline above | Built from your actual spreadsheet; your rules become enforced workflow logic | | Ownership | Rented; the app lives inside Microsoft's licensing and your tenancy | Rented; export your data and start over | Yours, if the contract says so | Yours outright: real code, a real database, an asset on your books | ## When Power Apps Is the Right Choice I would rather lose a reader than pretend the answer is always us. Stay on Power Apps if your company is already deep in Microsoft 365 and Azure, with identity, security, and data living in that tenancy. Stay if you have IT staff or a committed Power Platform partner who will own the builds and the governance, because in supervised hands the platform is productive and the connector ecosystem is a real advantage. And stay if your need is many governed internal apps across a large workforce, which is the exact scale problem model-driven apps and DLP policies were designed to solve. In those situations Power Apps is a sound decision, and the licensing is simply the cost of an enterprise capability. ## When the Right Move Is Custom Software The calculus flips when there is no IT department to absorb the platform. You have one process that matters: bids that must be priced and reviewed, orders that flow from intake to invoice, client onboarding that collects documents across weeks. It lives in a spreadsheet today, and what you need is that process as software, with a real database under it and your rules enforced in code. I have laid out why the database piece matters so much in [the main difference between spreadsheets and database-backed software](https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software). Here is the distinction I keep coming back to with clients. Power Apps hands you a developer's toolkit and expects you, or someone you hire, to become the developer. That expectation is the whole problem for a business without IT. The alternative that has only existed for a couple of years is software where the AI is the developer. You describe the process. It writes the code. ## How the Leonardo Build Works LlamaPress builds your application with Leonardo, our AI coding agent, and the starting point is the artifact you already trust: your spreadsheet. You [upload the Excel file and convert your Excel spreadsheet to a web application](https://llamapress.ai/excel-to-app), and Leonardo reads its tabs, columns, and formulas as the specification. Your customer tab becomes a customers table in a genuine relational database. Your quoting formulas become tested code. The approval column your team honors on good days becomes an actual gate the workflow cannot skip. Then you tell Leonardo, in plain English, what to change, the way you would brief a contractor. No Power Fx to learn. No environments to administer. No per-user meter, so the fifteenth login costs the same as the first. And the application is yours outright, real code and a real database you can take anywhere, which means the key-person risk finally dies instead of migrating to a new platform. When you want specifics, the [pricing page](https://llamapress.ai/pricing) has numbers and [contact](https://llamapress.ai/contact) gets you a live conversation. Skip the Platform. Keep the App. ### You were never supposed to become the developer. Upload the spreadsheet that runs your bids, orders, or onboarding, and Leonardo builds it into database-backed software you own, with no per-user licensing. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to Us First](https://llamapress.ai/contact) ## Frequently Asked Questions ### Is there a simpler alternative to Power Apps? For grid-shaped tracking, tools like Smartsheet or AppSheet are simpler because they attempt less. For turning a real operational process into an app without learning a platform, the simplest path today is an AI-built custom application: you upload the spreadsheet, describe the process, and the AI agent does the developer work. ### How much does Power Apps really cost? The Premium license runs roughly $20 per user per month as of this writing, with a pay-as-you-go variant billed per active user per app. Dataverse storage beyond the base allocation, premium Power Automate flows, and partner or consultant fees for the actual build typically sit on top. For a 15-person operations team, the license line alone approaches $3,600 a year before any of those extras. ### Do I need a developer for Power Apps? For a simple form over a SharePoint list, no. For a multi-user application with relational data and enforced workflow rules, realistically yes: either a Power Platform consultant or an employee who invests serious time in Power Fx, Dataverse, and environment management. Enterprises solve this with IT-supervised citizen-developer programs, which is precisely the resource a no-IT business lacks. ### How does Power Apps compare to custom software? Power Apps is configuration on a rented platform: faster than traditional development, but metered per user, bounded by the platform, and dependent on whoever built it. Custom software fits your process exactly and is owned outright. AI-built custom apps changed the economics, delivering the ownership and fit of custom development at a build cost and timeline closer to a platform configuration. ### Can a small business use Power Apps without an IT department? It is possible, and some determined owners do it. In practice, businesses without IT tend to stall at Dataverse modeling and Power Fx, or they hire a consultant and inherit an app nobody in-house can maintain. If nobody at your company wants to become the platform administrator, an AI-built application you own is usually the more durable path. ============================================================================== # The Ruby on Rails Development Company Using AI Source: https://llamapress.ai/the-ruby-on-rails-development-company-where-ai-writes-the-code ============================================================================== # The Ruby on Rails Development Company Using AI > Ruby on Rails web application development, priced honestly: what a Rails company should offer, hire vs outsource vs offshore rates, and how AI changes the cost. Source: https://llamapress.ai/the-ruby-on-rails-development-company-where-ai-writes-the-code | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Ruby on Rails web application development, priced honestly: what a Rails company should offer, hire vs outsource vs offshore rates, and how AI changes the cost. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Nobody hires a Ruby on Rails development company to get a framework. They hire one to get working business software, delivered soon, that someone maintains afterward. Ruby on Rails is a web framework: a standard toolkit for building web applications. Rails has carried serious products for twenty years, and it still does. I have evaluated software vendors since my McKinsey years. Rails vendors are easier to judge than most, because the stack is stable. The real differences between them are people, process, and price. A good Ruby on Rails development company should offer four things. First, senior engineers who write and review Rails code every week. Second, code that lives in your own GitHub account from day one. Third, a working version early enough for your team to test it. Fourth, a maintenance plan with a monthly price attached. As of this writing, US Rails agencies bill roughly $150 to $250 an hour. Offshore teams bill $25 to $75 an hour. A senior in-house hire costs $130,000 or more a year. An AI agent that writes the Rails code, supervised by senior US engineers, now delivers most business builds for a fraction of those numbers. This guide walks through each option so you can pick with open eyes. ![Business team reviewing a software project plan with a Ruby on Rails development company](https://images.unsplash.com/photo-1542744173-8e7e53415bb0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMG93bmVyJTIwZGV2ZWxvcGVyJTIwbWVldGluZyUyMHNvZnR3YXJlJTIwcHJvamVjdHxlbnwwfHx8fDE3ODc4OTc3ODN8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Campaign Creators](https://unsplash.com/@campaign_creators?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-standing-in-front-of-people-sitting-beside-table-with-laptop-computers-gMsnXqILjp4?utm_source=leonardo_rails_app&utm_medium=referral) ## Why Rails Still Wins for Business Software in 2026 Rails is boring, in the way you want the thing under your revenue to be boring. One framework covers the database, logins, permissions, email, and background jobs. Background jobs are tasks that run behind the scenes, like a nightly report. With many newer stacks, a vendor assembles those pieces from separate tools, and you pay for the assembly. Large products such as Shopify and GitHub run on Rails today, so the framework is proven at a scale your business will never strain. The trait that matters most to a buyer is speed of change. Ruby on Rails development favors one codebase with strong conventions, so a new developer can find things quickly. When your process changes, the software changes in days instead of quarters. Rails also has a deep hiring pool. Thousands of developers can maintain a Rails app, so no single vendor can hold your software hostage. For business software, those two traits beat novelty every time. ## What a Ruby on Rails Development Company Should Offer Every Rails vendor will show you a portfolio. Judge them on the mechanics of the engagement instead. A serious company puts the repository in your GitHub account before the first invoice. A repository is the folder where your code lives. They write automated tests, so future changes cannot silently break old features. They give you a live staging link in the first week, so you watch the build instead of reading status reports. They quote maintenance as a monthly number that covers hosting, security patches, and small changes. Ask who does the work, in names. At agencies, senior people often sell the project and junior people build it. That gap is where budgets go to die. You want the reviewers named in the contract and reachable on a call. ## Hire, Outsource, or Offshore: The Honest Tradeoffs You have three traditional ways to get Rails work done, plus the newer AI route covered below. The right choice depends on how much software you need and how much management you can supply. ### 1. Hire Ruby on Rails developers in-house An employee makes sense when software is your product, or when the backlog never empties. As of this writing, a senior US Rails developer earns roughly $130,000 to $180,000 a year, plus benefits and equipment. The upside is full attention and deep product knowledge. The downside is concentration risk. One person holds your system in their head, and their notice period is two weeks. To hire a Rails developer for one project, then keep paying that salary for tweaks, is the most expensive path per feature. Most companies under 200 employees do not have enough software work to fill the seat. ### 2. Ruby on Rails outsourcing to an agency Companies outsource Ruby on Rails development when they want a full team without the payroll: a project manager, designers, developers, and testers. US and Western European agencies bill about $150 to $250 an hour as of this writing, and real projects commonly start at $50,000. You get process, and for compliance-heavy or integration-heavy work, process earns its fee. The recurring failure is machinery built for bigger clients. Multi-week discovery phases, change orders, and meetings billed by the hour can double a mid-sized project. Ask early what the smallest engagement they respect looks like. ### 3. Offshore Ruby on Rails development Offshore Ruby on Rails development moves the work to lower-cost regions, usually South Asia, Eastern Europe, or Latin America. Rates run $25 to $75 an hour as of this writing. The rate is real, and so is the catch: the total cost includes your own supervision. Someone on your side must write precise specifications, review every delivery, and absorb the time zone gap. Companies with a technical manager often do well offshore. Companies without one often pay twice, once for the offshore build and once for the local rescue. Price the supervision honestly before you compare the rates. ## Rails Consulting: Advice, Audits, and Rescues Sometimes you need judgment rather than a team. Ruby on Rails consulting services cover an architecture review, an upgrade plan for an aging app, a rescue of a stalled project, or a second opinion on a vendor quote. Rails consulting is usually billed hourly or as a fixed-price audit. A short engagement here can save a long one later. One caution applies: hire a consultant who still ships production Rails code. Advice from someone who last deployed years ago ages badly, because the framework moves every year. ## How an AI Agent Writing Rails Changes the Economics Here is the shift the rate cards above have not caught up with. At LlamaPress, our AI agent, Leonardo, writes the Rails code. The people supervising Leonardo are US-based engineers who ship Rails daily and review every change before it reaches you. Every customer app we ship runs on Ruby on Rails, and we operate a fleet of production Rails apps for our customers. We also maintain an open-source Rails AI framework on GitHub, LlamaBot, with the llama\_bot\_rails gem. Our tools are public, so any developer you trust can inspect how we work. The economics follow from the labor. When an agent writes the first draft of every feature, the billable hours that dominate agency quotes mostly disappear. The senior engineer's time goes to review and judgment, which is where it always belonged. A build that would take an agency a quarter can produce a working first version in days. You still get the things that matter from the checklist above: your repository, real tests, and a live link you can watch. If you want the technical detail on how AI and Rails fit together, we wrote a separate guide on [building AI features into Ruby on Rails apps](https://llamapress.ai/rails-ai-building-ai-features-into-ruby-on-rails-apps). ## The Questions to Ask Any Rails Vendor These five questions expose more than any portfolio. Ask them of us too. 1. **Who writes the code, and who reviews it?** Get names. If AI writes any of it, ask who supervises the AI and how. 2. **Where does the code live?** The only good answer is your own GitHub account, from the first week. 3. **Do you run Rails apps in production yourselves?** A vendor who operates their own fleet has felt the maintenance pain they are quoting you for. 4. **What does month thirteen cost?** Get the maintenance number and what it covers, in writing, before the build starts. 5. **When do I see working software?** The answer should be measured in days. Mockups are not software. ## When You Do Not Need a Rails Company Honesty earns more than a pitch here. If your team already runs on another stack with developers who know it, stay there. A rewrite into Rails rarely pays for itself. If an off-the-shelf tool fits 90 percent of your process, buy the tool. Custom software earns its keep when the process is yours and the tools do not fit it. And if you care about the outcome more than the stack, start from the problem instead. Our guides on [custom app development services](https://llamapress.ai/custom-app-development-services-that-start-from-how-you-already-work) and [custom software development](https://llamapress.ai/custom-software-development-when-off-the-shelf-stops-fitting) cover that decision without the Rails lens. Our [services page](https://llamapress.ai/services) shows how an engagement with us runs from first call to launched app. Rails, Supervised by People Who Ship It ### See your app before you commit. Tell us the process you run today. Our AI agent writes the Rails code, our engineers review it, and you watch a working version take shape in days. [Meet your Rails team](https://llamapress.ai/services) [Describe the app you need](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. Some readers are weighing the framework rather than the vendor. Three guides cover that side. [Websites built with Ruby on Rails](https://llamapress.ai/websites-built-with-ruby-on-rails-and-what-they-tell-you) lists the production sites and the evidence for each. [How to create a website with Ruby on Rails](https://llamapress.ai/how-to-create-a-website-with-ruby-on-rails-from-first-command-to-live-site) walks the build from the first command to a live site. [Open source Ruby on Rails apps worth reading](https://llamapress.ai/open-source-ruby-on-rails-apps-worth-reading-and-what-they-teach-you) points at the codebases worth studying before you commit. ## Frequently Asked Questions ### What does a Ruby on Rails development company do? A Ruby on Rails development company builds and maintains web applications on the Rails framework. Typical work includes custom business software, customer portals, internal tools, integrations, upgrades, and ongoing maintenance. Good ones put the code in your own GitHub account, show working software early, and quote maintenance as a monthly number. ### What is Ruby on Rails web application development? Ruby on Rails web application development is the work of building a database-backed web application on the Rails framework. A project usually covers the data model, the screens your team works in, logins and roles, email, background jobs, reports, and the integrations with tools you already pay for. Rails ships all of those parts in one framework, so a small team can deliver a working application and keep maintaining it for years. ### How much does Ruby on Rails development cost? As of this writing, US agencies bill about $150 to $250 an hour, and offshore teams bill $25 to $75 an hour. A senior in-house hire runs $130,000 or more a year. AI-assisted builds supervised by senior engineers usually land far below agency quotes, with a working first version in days. ### Is Ruby on Rails still a good choice in 2026? Yes, for business software it is one of the safest choices. Rails covers the database, logins, email, and background jobs in one framework. Large products such as Shopify and GitHub still run on Rails. The hiring pool is deep, so you are never tied to a single vendor. ### Should I hire a Rails developer or outsource the work? Hire when software is your product or your backlog never empties. Outsource when you need one build plus maintenance. If you hire a Rails developer for a single project, you keep paying the salary after the project ends. Most companies under 200 employees get better economics from a vendor with a maintenance plan. ### Is offshore Ruby on Rails development cheaper overall? The hourly rate is lower, at $25 to $75 as of this writing. The total cost depends on supervision. You must write precise specifications, review every delivery, and manage time zones. Teams with a technical manager often do well. Teams without one often pay for the build and then pay again for a rescue. ============================================================================== # The Smartsheet Alternative for Real Operations Source: https://llamapress.ai/the-smartsheet-alternative-when-your-operations-outgrow-a-configurable-spreadsheet ============================================================================== # The Smartsheet Alternative for Real Operations > Smartsheet alternative guide for operations teams: where the grid, per-seat pricing, and formulas hit walls, and when custom software from Leonardo wins. Source: https://llamapress.ai/the-smartsheet-alternative-when-your-operations-outgrow-a-configurable-spreadsheet | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Smartsheet alternative guide for operations teams: where the grid, per-seat pricing, and formulas hit walls, and when custom software from Leonardo wins. [Back to all articles](https://llamapress.ai/blog) If you typed "Smartsheet alternative" into a search bar, I suspect I know the week you have had. Maybe the renewal quote landed and the per-user math across your ops team made your controller wince. Maybe a sheet hit its row ceiling in the middle of your busiest quarter. Or maybe you spent an afternoon tracing a broken cross-sheet reference through four linked sheets and realized you had rebuilt the exact Excel fragility you left Excel to escape. I spend my working life inside operational spreadsheets, first at McKinsey and now helping mid-market operators replace them. Smartsheet comes up constantly, and I want to treat it fairly, because it earns a lot of its reputation. The question this article answers is narrower than "is Smartsheet good." It is whether a configurable grid, however polished, is the right home for the process that generates your revenue. ![Operations team reviewing project plans around a conference table](https://images.unsplash.com/photo-1517048676732-d65bc937f952?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHx0ZWFtJTIwcHJvamVjdCUyMHBsYW5uaW5nJTIwbWVldGluZ3xlbnwwfHx8fDE3ODM4NzgyNTd8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Dylan Gillis](https://unsplash.com/@mainermedia?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/people-sitting-on-chair-in-front-of-table-while-holding-pens-during-daytime-KdeqA3aTnBY?utm_source=leonardo_rails_app&utm_medium=referral) ## What Smartsheet Genuinely Does Well Credit first. Smartsheet took the spreadsheet, the most familiar interface in business, and gave it real project management muscle. Gantt views, dependencies, resource views, dashboards, and reports that roll up dozens of sheets. Permissions that Excel never had. An audit trail. Forms that let field crews submit rows without touching the grid. For a PMO coordinating forty concurrent projects, that combination is legitimately hard to beat. The automation engine is solid for what it targets: alert the owner when a status changes, request an update every Friday, move a row to another sheet when a checkbox flips. And at enterprise scale, Control Center can stamp out standardized project sheets by the hundred, though that capability sits behind an enterprise conversation and, as of this writing, a meaningful additional price. So when a client tells me their project portfolio lives in Smartsheet and hums along, I tell them to stay put. The trouble starts when the tool that manages projects gets asked to run operations. ## The Four Walls Operators Hit ### 1. It is still a grid underneath Strip away the views and Smartsheet's atom is a row in a sheet. Your customer is a row. Their orders are rows in another sheet, tied back by cell links or an index-match style formula. There is no true relational model where a customer record owns its orders, its contacts, and its history. I walk through why that distinction matters so much in [Excel vs. databases: the main difference between spreadsheets and database-backed software](https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software), and every word of it applies to any grid-based tool. The practical symptom: an order desk manager I worked with kept customers in one sheet, open orders in a second, and shipment status in a third. To see one customer's full picture she maintained a report stitched across all three. When a salesperson retyped a company name with a trailing space, that customer's orders silently vanished from the rollup. Nobody noticed for nine days. Sheets also have ceilings. As of this writing, a single Smartsheet sheet tops out around 20,000 rows and 500,000 cells, with cross-sheet references capped per sheet as well. Twenty thousand rows sounds generous until your order log or estimate line items hit it mid-year and you start sharding data across "2024 Archive" sheets. Every shard multiplies the linking formulas holding your reporting together. ### 2. The per-seat meter runs on everyone Smartsheet's pricing is per user per month, roughly $9 to $12 on Pro and $19 to $32 on Business as of this writing, with Enterprise quoted separately. Reasonable for five project managers. But an operational process touches far more hands: estimators, the order desk, dispatch, accounting, the onboarding coordinator, the owner who just wants to look. Fifteen people on a Business plan runs to several thousand dollars a year, every year, forever, and the renewal only moves one direction. For a 30-person company that is real money for what remains, structurally, a very capable spreadsheet. ### 3. Cross-sheet formulas recreate the fragility you fled This is the wall that stings, because it is the one Smartsheet was supposed to remove. Cell linking and cross-sheet formulas start clean. Two years later you have a lattice of INDEX/MATCH-style references spanning a dozen sheets, and exactly one person who understands it. Rename a column, archive a source sheet, or hit the inbound reference cap, and something downstream breaks quietly. An estimation shop I advised had a bid summary sheet pulling from six linked sheets. Their senior estimator left. The next bid went out with a stale labor rate that no formula flagged, because grids do not know what a labor rate is. ### 4. Automations notify; they do not decide Smartsheet automations are triggers and alerts. What they cannot express is business logic. "A bid over $250K requires a second reviewer before it can be marked Sent." "An onboarding cannot advance to provisioning until the signed MSA and the completed network questionnaire are both attached." "This discount needs manager approval, and the approval must be recorded against the order, permanently." In a grid you approximate these rules with helper columns, conditional formatting, and human vigilance. Forms have the same shape of limitation: they append a row, then a person shepherds that row through every subsequent step by hand. A form is an intake slot. It is not a guided workflow. ![Colleagues collaborating on an operational workflow at a shared table](https://images.unsplash.com/photo-1521737604893-d14cc237f11d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHx0ZWFtJTIwcHJvamVjdCUyMHBsYW5uaW5nJTIwbWVldGluZ3xlbnwwfHx8fDE3ODM4NzgyNTd8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Annie Spratt](https://unsplash.com/@anniespratt?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/sittin-people-beside-table-inside-room-hCb3lIB8L8E?utm_source=leonardo_rails_app&utm_medium=referral) ## Smartsheet vs. Excel vs. a Custom LlamaPress App Here is the comparison I sketch on a whiteboard for clients weighing all three. If you are also evaluating Airtable, I wrote a parallel breakdown in [the Airtable alternative for teams that need real software](https://llamapress.ai/the-airtable-alternative-for-teams-that-need-real-software-not-a-prettier-spreadsheet); the structural argument is a close cousin of this one. | | Excel / Sheets | Smartsheet | LlamaPress Custom App | | --- | --- | --- | --- | | Data model | Free-form cells; anything goes anywhere | Typed columns in a grid; sheets linked by cell references, ~20K row ceiling per sheet as of this writing | Relational database; a customer record owns its orders, files, and history, effectively unlimited rows | | Cost model | Bundled with Office; nearly free | Per user, per month, every user, rising at renewal | Flat build plus hosting; adding your 15th user costs nothing extra (see [pricing](https://llamapress.ai/pricing)) | | Process fit | You are the workflow engine | Excellent for project portfolios; notifications and approvals, but rules live in helper columns and habit | Guided workflows with enforced business logic: required fields, gated steps, real approvals | | Ownership | Your file, on your drive | Rented; your process lives inside their subscription and their limits | Your application and your database; it is an asset, and it leaves with you | ## When Smartsheet Is the Right Choice I would rather lose a reader than pretend otherwise. Keep Smartsheet if your work is genuinely project-shaped: a PMO tracking a portfolio with dependencies and Gantt timelines, construction schedules where the critical path is the deliverable, or marketing calendars with resource loading. Keep it if your organization has already standardized on it, trained on it, and built its reporting rhythm around it; switching costs are real and I never wave them away. And keep it if your data volumes sit comfortably under the sheet limits and your seat count is small. In those situations Smartsheet is not a compromise. It is the correct tool. ## When the Right Move Is Custom Software The calculus flips when the thing in the grid is an operational process rather than a project plan. Bids that must be priced, reviewed, and sent. Orders that flow from intake through fulfillment to invoice. Client onboarding that collects documents across weeks and stalls the moment nobody chases it. These are workflows with rules, states, and handoffs, and they belong in database-backed software with the logic built in. I lay out the structural reasoning in [the main difference between spreadsheets and database-backed software](https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software). Five years ago that advice came with a $100K price tag and a six-month development schedule, which is exactly why tools like Smartsheet flourished as the affordable middle. AI collapsed that middle. This changed the calculus entirely. ## How the Leonardo Build Works LlamaPress builds your application with Leonardo, our AI coding agent, and the starting point matters: your existing spreadsheet. Not a blank canvas, not a template gallery. You [upload the Excel file or sheet export you run the business on today](https://llamapress.ai/excel-to-app), and Leonardo reads its structure, its tabs, and its formulas as the specification. Your rate tables become database tables. Your linked sheets become proper relationships. Your fragile approval column becomes an actual approval step that blocks the workflow until someone with authority clicks it. You get a working application to click through in days, then we refine it against how your team actually operates. Unlimited users, because the economics are not per seat. Your data in a real database you own. Most builds land at a small fraction of what a year of enterprise grid licenses costs, and when you want the specifics we will walk you through [pricing](https://llamapress.ai/pricing) or a live conversation via [contact](https://llamapress.ai/contact). From Grid to Software ### Bring the spreadsheet. Leave with software. Upload the sheet that runs your bids, orders, or onboarding, and watch Leonardo turn it into a database-backed application with your rules built in. [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to Us First](https://llamapress.ai/contact) ## Frequently Asked Questions ### Is there a cheaper alternative to Smartsheet? For pure project portfolios, lighter grid tools exist at lower per-seat prices. For operational workflows, the cheaper path over a two to three year horizon is usually a custom database-backed app: a flat build cost instead of a per-user meter that runs on every estimator, coordinator, and viewer forever. ### What are Smartsheet's main limitations? Per-sheet capacity limits (roughly 20,000 rows and 500,000 cells per sheet as of this writing), cross-sheet reference caps that force data sharding, per-user pricing across large ops teams, and automations that handle notifications and approvals but cannot enforce multi-step business logic the way real software can. ### How does Smartsheet compare to custom software on cost? Smartsheet is cheap to start and compounds with headcount. Custom software used to be the reverse, expensive to start and cheap to run, with a prohibitive entry price. AI-built applications keep the low running cost while cutting the build cost by an order of magnitude, so the break-even against a 10 to 20 seat Business plan often arrives within the first year or two. ### Can I move my Smartsheet data into a custom app? Yes. Smartsheet exports cleanly to Excel, and Leonardo treats that export as the blueprint: sheets become tables, cell links become relationships, and your historical rows migrate into the new database so you keep continuity from day one. ### When should I stay on Smartsheet? Stay when your work is project-shaped: Gantt-driven schedules, portfolio dashboards, resource plans, or an organization already standardized on it with data volumes well inside the sheet limits. Move when the grid is running a revenue process with rules, states, and handoffs. ============================================================================== # The True Cost of Free Rental Property Spreadsheets Source: https://llamapress.ai/the-true-cost-of-free-rental-property-spreadsheets-scaling-portfolios-in-2025 ============================================================================== # The True Cost of Free Rental Property Spreadsheets > Is your 'free' rental property spreadsheet actually a growth bottleneck? Discover why scaling to 50+ units requires a database-backed application, not a grid. Source: https://llamapress.ai/the-true-cost-of-free-rental-property-spreadsheets-scaling-portfolios-in-2025 | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Is your 'free' rental property spreadsheet actually a growth bottleneck? Discover why scaling to 50+ units requires a database-backed application, not a grid. [Back to all articles](https://llamapress.ai/blog) Every property manager starts with a spreadsheet. It is free, familiar, and seemingly flexible. But there is a hidden limit to this model. I call it the Spreadsheet Ceiling. It is the point where the complexity of your portfolio outpaces the capacity of a flat grid to manage it. When you reach 20, 50, or 100 units, the manual data entry that felt minor becomes a full-time operational burden. In my years advising real estate firms, I have seen multimillion-dollar portfolios managed on tabs that break if a single row is deleted. This is not just a workflow issue. It is a strategic risk. ![Financial spreadsheet complexity](https://images.unsplash.com/photo-1543286386-2e659306cd6c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxmaW5hbmNpYWwlMjBzcHJlYWRzaGVldHxlbnwwfHx8fDE3NzU3OTExODZ8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Isaac Smith](https://unsplash.com/@isaacmsmith?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## The Invisible Overhead of Manual Rent Rolls Spreadsheets are fragile. They lack audit trails, version control, and multi-user synchronization. When three different people edit a rent roll simultaneously, data collision is inevitable. The true cost of "free" is the manual reconciliation required to ensure accuracy. If your team spends 10 hours a month fixing broken formulas or manually updating tenant balances, that is an overhead cost of thousands of dollars per year. A database-backed application eliminates this. It enforces data integrity at the core, ensuring that a rent payment recorded in one section is instantly reflected across your entire financial ecosystem without manual intervention. ## From Flat Grids to Relational Logic Excel treats every row as an isolated island. But property management is inherently relational. A building has units. A unit has tenants. A tenant has a lease. A lease has history. When you use a flat spreadsheet, you often end up duplicating data across multiple tabs. You copy a tenant name from the move-in sheet to the rent roll, and then again to the maintenance log. Relational database logic allows you to store information once and reference it everywhere. This creates a single source of truth. When a tenant moves out, the system automatically updates the unit status, triggers the security deposit workflow, and notifies maintenance. ![Modern rental property](https://images.unsplash.com/photo-1560518883-ce09059eeffa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxyZW50YWwlMjBwcm9wZXJ0eXxlbnwwfHx8fDE3NzU3OTExODV8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Tierra Mallorca](https://unsplash.com/@tierramallorca?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Active Processes vs Passive Storage A spreadsheet is passive. It sits there and waits for you to type something in. It does not remind you that a lease is expiring in 60 days. It does not alert you if a maintenance request has been open for too long. Custom applications built with LlamaPress enable guided workflows. Instead of just storing data, the system drives action. It routes work orders to the right contractors, tracks completion times, and provides real-time analytics on your portfolio health. This shift from passive tracking to active management is what allows you to scale from 20 units to 200 without doubling your head count. You are building an engine, not just maintaining a list. ![Professional property manager using laptop](https://images.unsplash.com/photo-1626178793926-22b28830aa30?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxwcm9wZXJ0eSUyMG1hbmFnZXJ8ZW58MHx8fHwxNzc1NzkxMTg2fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Towfiqu barbhuiya](https://unsplash.com/@towfiqu999999?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ### Stop Fighting Your Grid. Build Your Engine. The "free" spreadsheet is costing you growth. You can [turn your rental spreadsheet into a web app](https://llamapress.ai/excel-to-app) today, or see how project-based teams use [custom estimating software built from a spreadsheet](https://llamapress.ai/custom-estimating-software-built-from-the-spreadsheet-you-already-have). [Launch with Leonardo](https://llamapress.ai/excel-to-app) --- ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) #### About Darren David Spencer Darren David Spencer is a former McKinsey consultant and strategic real estate advisor. With a focus on operational ROI and digital transformation, Darren helps portfolio owners transition from manual 'spreadsheet-first' workflows to scalable, database-backed enterprise applications. He specializes in identifying the 'invisible overhead' that holds growing portfolios back. ============================================================================== # Turn Any Image Into Clean HTML and CSS Source: https://llamapress.ai/turn-any-image-into-clean-html-and-css-you-can-actually-maintain ============================================================================== # Turn Any Image Into Clean HTML and CSS > Most image to HTML CSS converters emit markup nobody can edit. How to judge generated stylesheets, what good output looks like, and a free converter that does it. Source: https://llamapress.ai/turn-any-image-into-clean-html-and-css-you-can-actually-maintain | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Most image to HTML CSS converters emit markup nobody can edit. How to judge generated stylesheets, what good output looks like, and a free converter that does it. [Back to all articles](https://llamapress.ai/blog) Every image to HTML converter can produce something that looks like your picture. That is the easy half, and it stopped being a differentiator a while ago. The half that decides whether the tool saved you time is what the stylesheet looks like when you open it. There is a specific failure mode worth knowing about before you evaluate any of these tools. A converter that reproduces your image by measuring it will emit a page full of absolutely positioned blocks with pixel offsets. It will look perfect in the preview and identical to your screenshot. Then you change one word of copy, the text overflows its box, and you discover that nothing on the page can move, because every element's position was hard-coded relative to the top left corner. That page is not editable. It is a screenshot with extra steps. ![Source code on a screen showing HTML and CSS, the output people evaluate when converting an image to markup](https://images.unsplash.com/photo-1461749280684-dccba630e2f6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&q=80&w=1080) Photo by [Fotis Fotopoulos](https://unsplash.com/@shotbyrain?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/monitor-showing-java-programming-DuHKoV44prg?utm_source=leonardo_rails_app&utm_medium=referral) ## Six Things to Check in Generated CSS Open the output and look for these before you judge whether the conversion worked. They take about two minutes to check and they predict almost everything about how the next hour goes. ### Layout built with flexbox and grid, not offsets Search the stylesheet for `position: absolute`. A handful of instances is normal for overlays, badges, and dropdown menus. Dozens means the converter traced coordinates instead of understanding structure, and the page will break the first time content changes length. Good output describes a row of three cards as a grid with a gap, which is both shorter and survives a fourth card being added. ### Relative units where they matter Fixed pixel widths on containers are the second-order version of the same problem. A card that is 380 pixels wide is fine until the viewport is 360. Look for percentages, viewport units, `min()` and `max()`, or a max-width with auto margins. Type sizes in `rem` rather than `px` means someone's browser zoom settings still work. ### Semantic elements A navigation bar should be a `nav`. A heading should be an `h1` through `h6` in a sensible order rather than a div with a large font size. A list of features should be a `ul`. This costs nothing to generate correctly and it is what makes the page work for screen readers and for search engines. It is also the clearest signal that the model understood the page rather than pattern-matched the pixels. ### A palette defined once Your brand purple should appear as a custom property near the top of the file and be referenced everywhere else. When the same hex value is repeated 40 times inline, changing it later is a find-and-replace that will miss the three places where compression shifted the value by one digit. ### Spacing that follows a scale Good output uses a consistent rhythm: 4, 8, 12, 16, 24, 32. Output that has 13px in one place, 15px in another, and 14px in a third is measuring noise in your screenshot rather than making a design decision. The visual difference is invisible. The maintenance difference is not. ### Real alt text Images should carry descriptions of what they show. Empty alt attributes or filenames as alt text mean the tool skipped a step, and it is a reasonable proxy for how much care went into the rest. ### Convert an image to HTML and CSS, free. Upload a PNG, JPG, WebP, or GIF and get a responsive page back with structured markup and a stylesheet you can read. No credit card, and you keep editing the result in plain English. [Convert My Image](https://llamapress.ai/picture-to-html) [Talk to a Human First](https://llamapress.ai/contact) ## Utility Classes or a Separate Stylesheet Generated pages tend to arrive in one of two shapes, and neither is wrong. Which one you want depends entirely on where the page is going. Utility-first output puts the styling in the markup as classes. It is fast to scan, has no naming decisions, and drops straight into a project that already uses Tailwind or something similar. The cost is that the markup is dense, and a component repeated eight times carries its styling eight times unless it gets extracted. A separate stylesheet with named classes reads better in isolation and is easier to hand to someone who is not familiar with a utility framework. It suits a standalone page, an email template, or anything that has to live inside an older codebase with its own conventions. The practical advice is to say which you want before converting rather than reformatting afterwards. Both are one sentence of instruction, and the model is much better at producing the right shape than at converting between them later. ## Where Most Converters End and the Work Restarts A one-shot converter treats your image as a request and the file as the answer. That model works fine for a landing page you will not touch again. It works badly for the more common case, where the page is a starting point. You want the nav links to go somewhere. You want the contact form to actually send. You want the table of rows to come from a database rather than sitting hard-coded in the markup, and you want somebody to be able to add a row without editing HTML. Each of those requests is small, and each of them means opening an editor if the tool has already finished with you. Our converter is the entry point to a coding agent rather than an export. The generated page stays live and editable in conversation, and the same agent can add a database, user accounts, and real behaviour behind it. That matters most when the image you uploaded was a picture of a tool you want to replace rather than a page you want to publish. If that is the situation, the [Excel-to-app master guide](https://llamapress.ai/excel-to-app-master-guide) covers what the full version of that looks like. For the mechanics of the conversion itself, including what a still image cannot tell the model about hover states, breakpoints, and content below the fold, see [how to turn a screenshot into a working HTML page](https://llamapress.ai/how-to-turn-a-screenshot-into-a-working-html-page). ## Frequently Asked Questions ### Is there a free image to HTML CSS code converter? Yes. The [picture to HTML converter](https://llamapress.ai/picture-to-html) is free to use, needs no credit card, and returns both the markup and the stylesheet as a working page. Paid plans start when you want the result hosted as a real application with a database and users behind it. ### Does it generate the CSS separately or inline? Either, and it is worth asking for the one you want when you upload. Say that you want utility classes if the page is going into a Tailwind project, or a named stylesheet if it needs to stand alone. Both take one sentence and save a reformatting pass. ### Will the generated CSS be responsive? Yes. The output uses flexible layout rather than fixed positioning, so it reflows rather than breaking. The caveat is that a desktop image contains no information about what you want on a phone, so the small-screen behaviour is a sensible default rather than your specific intent. Check it at 375 pixels wide and ask for changes where the stacking order is wrong. ### Can I edit the code afterwards? You own the output and can edit it in any editor. You can also keep editing it in plain English, which is the faster path for the first several rounds of changes. Nothing is locked, and there is no proprietary format to escape from. ### How accurate is image to HTML CSS conversion? Layout, hierarchy, spacing rhythm, colour, and recognisable components come through reliably. Exact typefaces are approximated, since a font file cannot be read out of a picture, and interaction states are not in the image at all. Expect a strong first pass and a short round of corrections rather than a pixel-exact copy. ### What file formats can I upload? PNG, JPG, WebP, and GIF. A sharp capture around 1200 to 1600 pixels wide gives the best result. A blurry very large image performs worse than a crisp smaller one. ============================================================================== # Web to Application: From Lead Form to Estimator Source: https://llamapress.ai/web-to-application-transforming-fragile-lead-forms-into-robust-estimating-engines ============================================================================== # Web to Application: From Lead Form to Estimator > Stop letting your leads die in spreadsheets. Learn how to transition from simple web forms to robust, AI-powered estimating applications with LlamaPress. Source: https://llamapress.ai/web-to-application-transforming-fragile-lead-forms-into-robust-estimating-engines | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Stop letting your leads die in spreadsheets. Learn how to transition from simple web forms to robust, AI-powered estimating applications with LlamaPress. [Back to all articles](https://llamapress.ai/blog) ## The "Web Ceiling" Problem In my time at McKinsey, I saw the same pattern across billion-dollar manufacturing firms and local contractors: the Digital Disconnect. "Your web presence is professional, your lead form is sleek, but the moment a customer clicks 'Submit', your business regresses by thirty years." Structured data from your website hits an inbox, gets manually re-keyed into a spreadsheet, and then enters the "Estimation Void." This is where accuracy dies, and profit margins are left to the mercy of hidden Excel errors and vlookup hallucinations. ![Business Analytics](https://images.unsplash.com/photo-1608222351212-18fe0ec7b13b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMGFuYWx5dGljc3xlbnwwfHx8fDE3NzU3NzQ1Mjd8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [path digital](https://unsplash.com/@pathdigital?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Transitioning from Web to Application True ROI isn't found in 'more leads'. It's found in the velocity and accuracy of the transition from intent to invoice. ### Persistence over Files Stop sending data to die in .xlsx files. A real web application stores every interaction in a structured database, enabling historical analysis and real-time reporting. ### Server-Side Logic Calculations belong in your application code, not in fragile spreadsheet cells. Protect your margins with centralized, unit-tested estimating logic. ### Leonardo Orchestration Leverage AI to bridge the gap between human intent and software execution. Leonardo builds the tools you need in real-time as your process evolves. ## Anatomy of an Estimating Engine 1 ### Semantic Capture Move beyond input fields. Capture the full context of a project's requirements through dynamic, multi-stage interfaces. 2 ### Margin Guardrails Integrated pricing libraries and automated overhead calculations ensure no quote leaves the building below target ROI. 3 ### Instant Collaboration Multiple users, one source of truth. No more 'Final\_v2\_Final\_Actually.xls' versioning nightmares. ![Construction Estimating](https://images.unsplash.com/photo-1542621334-a254cf47733d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxjb25zdHJ1Y3Rpb24lMjBlc3RpbWF0aW5nfGVufDB8fHx8MTc3NTc3NDUyN3ww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Sven Mieke](https://unsplash.com/@sxoxm?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ![Software Architecture](https://images.unsplash.com/photo-1664526937033-fe2c11f1be25?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzb2Z0d2FyZSUyMGFyY2hpdGVjdHVyZXxlbnwwfHx8fDE3NzU3NzQ1Mjd8MA&ixlib=rb-4.1.0&q=80&w=1080) ## Stop Transforming Spreadsheets. Start Building Applications. The "Web to Application" transition is the highest-leverage move you can make in your business today. Don't settle for a lead form. Build an engine. See what that looks like for bid teams: [custom estimating software built from the spreadsheet you already have](https://llamapress.ai/custom-estimating-software-built-from-the-spreadsheet-you-already-have). [Launch with Leonardo](https://llamapress.ai/excel-to-app) ![Customer avatar](https://i.pravatar.cc/100?u=1) ![Customer avatar](https://i.pravatar.cc/100?u=2) ![Customer avatar](https://i.pravatar.cc/100?u=3) Joined by 200+ Founding Pilots this month ============================================================================== # Websites Built With Ruby on Rails: Real Examples Source: https://llamapress.ai/websites-built-with-ruby-on-rails-and-what-they-tell-you ============================================================================== # Websites Built With Ruby on Rails: Real Examples > GitHub, Shopify, GitLab, Basecamp and Doximity all run Ruby on Rails today. See 14 real Rails websites, the evidence for each, and the ones that moved off. Source: https://llamapress.ai/websites-built-with-ruby-on-rails-and-what-they-tell-you | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) # Websites Built With Ruby on Rails, and What Each One Proves GitHub, Shopify, GitLab, Basecamp and Doximity all run Ruby on Rails today. See 14 real Rails websites, the evidence for each, and the ones that moved off. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Updated September 2026 GitHub, Shopify, GitLab, Basecamp, HEY and Doximity are websites built with Ruby on Rails, and every one of them still runs Rails in production. Each is confirmed by a dated first-party source: an engineering blog post, an official Rails Foundation case study, or paid Rails Foundation membership, all read on 4 September 2026. The pattern behind the list is consistent. Rails gets picked for transactional software with a database at the center, several kinds of user, and a long life ahead of it. Some famous names did move off. Twitch began as a Rails monolith and shifted toward Go services, and Coinbase moved a Rails payments service into a Go-first monorepo. Both happened after Rails had already carried the product for years, which is a normal ending for a framework choice. In short - GitHub says on its own engineering blog that GitHub.com has been a Ruby on Rails monolith since the beginning. Shopify, GitLab, Basecamp, HEY and Doximity all run Rails in production too. - The Rails Foundation publishes its paying members, including 1Password, Cookpad, Fleetio, Gusto, Procore, Chime and Clio. That list is a current, first-party signal of live Rails use. - Rails 8.1.3.1 shipped on 29 July 2026 and Ruby 4.0.6 on 14 July 2026. Rails is a maintained framework on a current release line. - Rails suits database-heavy business software with roles, approvals and history. LlamaPress builds that kind of app, and our AI agent Leonardo writes the Rails code. Every customer app we ship runs on Ruby on Rails, and we operate a fleet of production Rails apps for our customers. Our AI agent, Leonardo, writes Rails code, and the people supervising it ship Rails daily. We also maintain an open-source Ruby on Rails AI framework on GitHub, LlamaBot, with the llama\_bot\_rails gem. The list below is not copied from a listicle. Every row carries a source I checked on 4 September 2026, and any company I could not confirm was cut. ## What websites are built with Ruby on Rails? The largest confirmed Rails websites are GitHub, Shopify, GitLab, Basecamp, HEY and Doximity. GitHub's engineering blog states that GitHub.com "has been a Ruby on Rails monolith since the beginning." The same post describes roughly a thousand engineers working inside it, and a weekly automated upgrade against the Rails main branch. That post is [Building GitHub with Ruby and Rails](https://github.blog/engineering/architecture-optimization/building-github-with-ruby-and-rails/), published in April 2023. Shopify runs a whole site about its Rails work at [railsatscale.com](https://railsatscale.com/). Its post [Under Deconstruction: The State of Shopify's Monolith](https://shopify.engineering/shopify-monolith) describes a core monolith of Ruby and Rails applications running on Puma. Basecamp and HEY belong to 37signals, the company Rails was extracted from. Doximity has an official case study hosted on rubyonrails.org. There is a second kind of evidence that is easy to miss. The [Rails Foundation](https://rubyonrails.org/foundation) publishes the companies that pay to support the framework, and it describes them as companies that have been benefiting from Rails over the years. Core members are 1Password, 37signals, Cookpad, Doximity, Fin, Fleetio, GitHub, Judge.me, Procore and Shopify. Contributing members include AppSignal, Cedarcode, Chime, Clio, Fullscript, Gusto, Higher Pixels, makandra, Planet Argon, Planning Center, Renuo, Saeloun, SerpApi and TableCheck. A company writing a cheque to fund a framework in 2026 is a strong sign it still runs on it. ## Rails website examples, with the evidence for each The status column is the honest part. Current means a dated first-party source or live Foundation membership supports Rails use today. Historical means the company started on Rails and has since moved the product elsewhere. | Site | What it does | Evidence it runs on Rails | Status | Source | | --- | --- | --- | --- | --- | | GitHub | Code hosting and collaboration | Own engineering blog: a Rails monolith since the beginning, upgraded weekly against Rails main | Current | [github.blog, 2023](https://github.blog/engineering/architecture-optimization/building-github-with-ruby-and-rails/) | | Shopify | E-commerce platform | Own engineering blog describes a core monolith of Ruby and Rails apps on Puma; publishes railsatscale.com | Current | [shopify.engineering](https://shopify.engineering/shopify-monolith) | | Basecamp and HEY (37signals) | Project management and email | Rails was extracted from Basecamp. Solid Cache stores 10TB at Basecamp and Solid Queue runs 20 million jobs a day for HEY | Current | [Rails 8 announcement](https://rubyonrails.org/2024/11/7/rails-8-no-paas-required) | | GitLab | DevOps and Git platform | Live engineering handbook describes a large monolithic application using the Ruby on Rails framework | Current | [handbook.gitlab.com](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/modular_monolith/) | | Doximity | Platform for US healthcare professionals | Official Rails case study: over 150 developers pushing to production 80+ times a day. Foundation core member | Current | [rubyonrails.org case study](https://rubyonrails.org/docs/case-studies/doximity) | | Cookpad | Recipe-sharing platform | Foundation core member, plus Ruby infrastructure repos pushed on 4 September 2026 | Current | [Rails Foundation](https://rubyonrails.org/foundation) | | Gusto | Payroll and HR platform | Foundation contributing member, and ships ActiveRecord test tooling and a custom RuboCop config, both pushed in September 2026 | Current | [github.com/Gusto](https://github.com/Gusto) | | Procore | Construction management software | Rails Foundation core member. No separate engineering-blog statement was found, so this rests on paid membership | Current | [Rails Foundation](https://rubyonrails.org/foundation) | | Chime | Consumer fintech and banking app | Rails Foundation contributing member. Membership only, no separate engineering citation | Current | [Rails Foundation](https://rubyonrails.org/foundation) | | Clio | Legal practice management software | Rails Foundation contributing member. Membership only, no separate engineering citation | Current | [Rails Foundation](https://rubyonrails.org/foundation) | | Kickstarter | Crowdfunding platform | Maintains Rails-ecosystem gems in the open, including a leader and replica database pool pushed in May 2026 | Partly. Live tooling, no current company statement | [github.com/kickstarter](https://github.com/kickstarter) | | Zendesk | Customer support and helpdesk software | Spoke at the official Rails World 2024 conference about improvements achieved with straightforward Ruby techniques | Partly. Confirmed to 2024, no fresher source | [Rails World 2024](https://rubyonrails.org/world/2024/day-2/david-henner) | | Twitch | Live streaming platform | Own blog confirms Twitch, then Justin.tv, began as a Ruby on Rails monolith and set a long-term goal of moving to Go services | Historical | [blog.twitch.tv, 2022](https://blog.twitch.tv/en/2022/03/30/breaking-the-monolith-at-twitch/) | | Coinbase | Cryptocurrency exchange | Own blog describes moving a Ruby on Rails payments service, handling about 2 million payments a year, into a Bazel monorepo | Historical, with legacy Rails | [coinbase.com blog, 2021](https://www.coinbase.com/blog/payment-services-in-bazel-monorepo) | Every source above was fetched on 4 September 2026, and stack facts age. A company can rewrite a service in a quarter without announcing it. If a name you expected is missing here, no dated first-party source confirmed it during that pass. Popular "built with Rails" listicles repeat claims that are ten years old, and several well-known names were cut from this page for that reason. ![A developer writing code on a laptop, the daily work behind the Rails websites listed on this page](https://images.unsplash.com/photo-1534665482403-a909d0d97c67?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxkZXZlbG9wZXIlMjB3cml0aW5nJTIwY29kZSUyMG9uJTIwbGFwdG9wJTIwc2NyZWVufGVufDB8fHx8MTc4ODU1NDUxN3ww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Danial Igdery](https://unsplash.com/@ricaros?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-programming-using-laptop-FCHlYvR5gJI?utm_source=leonardo_rails_app&utm_medium=referral) ## What do these Rails websites have in common? Every current example is transactional software with a database at the center. Code hosting, e-commerce, DevOps, healthcare networking, payroll, construction management, legal practice management, banking and helpdesk software. None of them are brochure sites. All of them store records, change those records constantly, and have to be right about who changed what. Three properties show up again and again. The first is many kinds of user in one system. A payroll product has employees, managers, accountants and administrators, and each one sees a different slice. The second is a long life. GitHub, Shopify and Basecamp have been running the same codebase for well over a decade, and Rails ships an explicit maintenance policy for that reason. The [official policy](https://guides.rubyonrails.org/maintenance_policy.html) gives each minor release bug fixes for one year and security fixes for two. The third is a team moving fast on a big surface. Doximity's own case study reports over 150 developers pushing to production more than 80 times a day. Rails is opinionated about where code goes, so a new engineer finds the models, controllers and tests in the same places on every project. That convention is worth more at year five than any benchmark. ## Which famous sites have left Rails, and why that is fine Two departures are confirmed by the companies themselves. Twitch, which began as Justin.tv, published [Breaking the Monolith at Twitch](https://blog.twitch.tv/en/2022/03/30/breaking-the-monolith-at-twitch/) in March 2022. It confirms the product started as a Ruby on Rails monolith and that engineering's long-term goal was moving to Go-based services. Coinbase described moving a Rails payments service into a Bazel monorepo in a post dated January 2021. Neither story is an indictment of Rails. Twitch built a video platform where the hard problem is streaming latency at enormous scale. Coinbase standardised on Go and a monorepo build system across many services. Rails carried both products through the years when the company had no idea what it would become, then a specialised runtime replaced part of it. That is the normal life cycle for a framework choice. You pick the stack that puts a working product in front of customers fastest, then replace the small part that becomes a bottleneck at a scale you may never reach. A business with 40 staff is choosing between having software and having none. Nobody at that size is losing to Rails performance. ## Is Ruby on Rails still used in 2026? Yes. The current stable version is Rails 8.1.3.1, released on 29 July 2026, per the [RubyGems API](https://rubygems.org/api/v1/gems/rails.json). Rails 8.1.0 arrived in October 2025 and Rails 8.0 in November 2024. The framework repository was pushed to on 4 September 2026 and carries close to 59,000 stars. Ruby moved too, and this is the fact most people get wrong. Ruby's current major series is 4.0, not 3.x. Ruby 4.0.0 was released on 25 December 2025 and Ruby 4.0.6 on 14 July 2026, with the 3.4 branch still maintained. The dates are on the [official Ruby releases page](https://www.ruby-lang.org/en/downloads/releases/). Recent Rails also removed dependencies. Rails 8 ships Solid Queue, Solid Cache and Solid Cable, which take background jobs, caching and websockets off Redis and put them in your database. The [Rails 8 announcement](https://rubyonrails.org/2024/11/7/rails-8-no-paas-required) reports Solid Queue running 20 million jobs a day for HEY and Solid Cache holding 10 terabytes at Basecamp. New apps also ship with Propshaft, Hotwire, Brakeman, RuboCop, GitHub Actions CI and Kamal deployment. That is a maintained framework getting simpler. ## What does a Rails website look like from the inside? A Rails site is five moving parts, and the same five sit behind GitHub and behind a 40-person contractor's job tracker. Models hold your data and its rules, one per real thing like a customer or an invoice. Controllers receive a request and decide what happens. Views render the HTML a person sees. A database, usually PostgreSQL, stores everything. Background jobs run the slow work, such as sending email, so the page never waits. Modern Rails adds two pieces to that list. Hotwire updates parts of a page without a separate JavaScript application, so a small team can ship interactive screens. Active Storage handles file uploads. Everything sits in fixed folders, so a stranger can find their way around a Rails app in an hour. Our page on [how to create a website with Ruby on Rails](https://llamapress.ai/how-to-create-a-website-with-ruby-on-rails-from-first-command-to-live-site) walks the build steps in order, from the first command to a live site. A Rails website and a Rails web application are the same software. People say website when they mean the public pages and application when they mean the logged-in part, and Rails serves both from one codebase. ## Rails examples you can actually open and read Reading production Rails beats reading about it. Discourse, Mastodon and Chatwoot are large, actively maintained Rails applications with public source code, and cloning one shows how a serious Rails app is organised. The full list, with licences, star counts and last-push dates, is on our page about [open-source Ruby on Rails apps worth reading](https://llamapress.ai/open-source-ruby-on-rails-apps-worth-reading-and-what-they-teach-you). Start there rather than a tutorial repository, because tutorial code never has to survive a second year. ## Where Rails is the wrong choice Rails is a poor fit for a few real cases, and pretending otherwise costs people money. A brochure site with five pages and no logins does not need Rails or any framework. A native mobile app is a different job, though Rails is a fine backend behind one. Video streaming and other latency-bound systems belong on a runtime built for that, which is the Twitch story above. A team with no Ruby experience will be slower in Rails than in the stack it already knows. Our own offer has limits too. We build custom business applications, so if you need a WordPress blog or a Shopify storefront, buy those instead and keep the money. An existing Rails app that only needs patching and version bumps is maintenance work. It costs far less than a rebuild, and our page on [Rails upgrades and maintenance](https://llamapress.ai/rails-upgrade-and-maintenance-for-apps-you-cannot-afford-to-lose) covers it. ![Network cabling in a data centre rack, the infrastructure a production Rails website runs on](https://images.unsplash.com/photo-1691435828932-911a7801adfb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzZXJ2ZXIlMjByb29tJTIwZGF0YSUyMGNlbnRlciUyMGluZnJhc3RydWN0dXJlfGVufDB8fHx8MTc4ODU1NDUwN3ww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Albert Stoynov](https://unsplash.com/@albertstoynov?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/a-close-up-of-a-network-with-wires-connected-to-it-dyUp7WPu5q4?utm_source=leonardo_rails_app&utm_medium=referral) ## What this means if you are choosing a stack for a business app Two kinds of reader reach the bottom of this page. Some of you want to learn Rails and build the thing yourself. Go and do that. Start with the official Getting Started guide, read one of the open-source apps above, and pick a first project from our list of [Rails project ideas worth building](https://llamapress.ai/ruby-on-rails-project-ideas-worth-building-and-the-ones-to-skip). The rest of you do not want to become Rails developers. You run a company with 10 to 200 staff, the process lives in a spreadsheet, and you want the software every name in the table above already has. Leonardo writes the Rails code, and US-based engineers who ship Rails daily review every change before it reaches you. You get a standard Rails app on PostgreSQL, the same shape as the applications on this page, and the code lives in your own repository. The fastest way to start is to hand us the spreadsheet you already run on. Leonardo reads the tabs, headers, formulas and dropdowns and builds a first working app from them. To see how the work is structured, read our page on the [Ruby on Rails development company where AI writes the code](https://llamapress.ai/the-ruby-on-rails-development-company-where-ai-writes-the-code). The piece on [building AI features into Rails apps](https://llamapress.ai/rails-ai-building-ai-features-into-ruby-on-rails-apps) covers the architecture. Your App, Same Stack ### Get the Rails app without becoming a Rails developer. Upload the spreadsheet your process runs on. Leonardo reads the tabs, formulas and dropdowns and builds a first working Ruby on Rails app. An engineer reviews it with you. Free, no credit card. [Build My Rails App](https://llamapress.ai/excel-to-app) [Talk to an Engineer](https://llamapress.ai/contact) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your process with you. ## Frequently Asked Questions ### What websites are built with Ruby on Rails? GitHub, Shopify, GitLab, Basecamp, HEY and Doximity are the largest confirmed examples, and all of them still run Rails. Cookpad, Gusto, Procore, Chime and Clio pay to support Rails as Rails Foundation members. Twitch and Coinbase started on Rails and have since moved core parts of their products to Go. ### Is Ruby on Rails still used in 2026? Yes. The current stable version is Rails 8.1.3.1, released on 29 July 2026, and the framework repository was pushed to on 4 September 2026. Ruby itself moved to a 4.0 series, with Ruby 4.0.6 released on 14 July 2026. The Rails Foundation lists 24 paying member companies, including GitHub, Shopify and 1Password. ### Is GitHub built on Ruby on Rails? Yes. GitHub's own engineering blog states that GitHub.com has been a Ruby on Rails monolith since the beginning. The same post describes about a thousand engineers working in that codebase and a weekly automated upgrade against the Rails main branch. GitHub is also a core member of the Rails Foundation. ### Does Shopify still use Ruby on Rails? Yes. Shopify's engineering blog describes a core monolith made of Ruby and Rails applications running on Puma, and Shopify publishes ongoing Rails work at railsatscale.com. Shopify is also a core member of the Rails Foundation. Its engineering posts describe splitting parts out of the monolith, which is architecture work rather than a move off Rails. ### What is the difference between a Rails website and a Rails web application? There is no technical difference. Both terms describe the same Rails codebase serving HTTP requests. People usually say website when they mean public pages that anyone can read, and web application when they mean the logged-in part with accounts, records and permissions. Rails serves both from one project, using the same models, controllers and views. ### Can Ruby on Rails handle a large website? Yes. GitHub runs a Rails monolith with roughly a thousand engineers working in it. Doximity reports over 150 developers pushing to production more than 80 times a day. Solid Queue processes 20 million background jobs a day for HEY. Scale problems at that level are database and architecture problems, and they arrive long after most businesses need them. ### Where can I see example Rails code? Clone an open-source Rails application and read it. Discourse, Mastodon and Chatwoot are large, actively maintained Rails codebases with public source. Our page on open-source Ruby on Rails apps lists each one with its licence, star count and last-push date. That lets you avoid the archived projects that still rank well in search results. ============================================================================== # What a Static Spreadsheet Export Really Costs You Source: https://llamapress.ai/high-cost-of-static-xls-to-html-converters-vs-dynamic-web-apps ============================================================================== # What a Static Spreadsheet Export Really Costs You > A one-off export freezes your data into a dead table, and somebody re-does it every week. The real cost of that habit, and when a database-backed web app is the cheaper answer. Source: https://llamapress.ai/high-cost-of-static-xls-to-html-converters-vs-dynamic-web-apps | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) # The Hidden Cost of a Static Spreadsheet Export A one-off export freezes your data into a dead table, and somebody re-does it every week. The real cost of that habit, and when a database-backed web app is the cheaper answer. [Back to all articles](https://llamapress.ai/blog) ## The Evolution of Data Sharing ### The Source Excel is where logic is born, but it's siloed and hard to share securely among team members and clients. ### The Converter Trap Static HTML is a "dead snapshot." Every minor update requires a full manual re-conversion and re-upload cycle. ### The Portal A dynamic web app keeps data live, searchable, and collaborative with proper permissions and history. **Just need the table today?** Use the free [Excel to HTML converter](https://llamapress.ai/excel-to-html). It runs in your browser and gives you clean table markup in about ten seconds. This page is about what happens when you end up doing that every week. ## 1. The "Static" Trap: Snapshots are for Photos, Not Business An HTML file generated by a converter is a **snapshot in time**. The moment you hit "save" on your Excel sheet, your web page is already obsolete. This creates what we call "Data Decay"—where the gap between your real numbers and your web view grows larger every hour. - **The Update Cycle:** Change one number in Excel? You have to re-convert, re-upload, and re-link. If you do this daily, you're wasting hours every week on manual labor that should be automated. - **Version Confusion:** When static files are floating around, your team never knows if they're looking at the "Final\_V3\_Latest" or the actual current state of the business. This leads to costly errors and miscommunication. ## 2. Data Integrity & Security Risks Spreadsheets are often packed with sensitive business logic—formulas that represent years of industry expertise. When you use a generic converter, two things usually happen: ### The "Dumb" Table The converter strips away your formulas, leaving you with a dead table of numbers. The intelligence of your spreadsheet—the logic that makes your business run—is lost. ### Security Leakage Static HTML files are rarely behind proper authentication. Your proprietary data is often just one "hidden link" away from being public or indexed by search engines. ## 3. The LlamaPress Way: Converting Intent, Not Just Tags At LlamaPress, we don't believe in "converters." We believe in **transformations**. When Leonardo looks at a spreadsheet, he's not just looking for cells and rows. He's identifying the business process behind them: - ### Data Relationships Leonardo recognizes that "Client Name" is a resource that should be linked across your entire app, not just a text string in a table. - ### Business Logic Those complex VLOOKUPs and nested IFs are turned into robust, server-side Ruby code that calculations accurately every time. - ### Search & Interactivity Filters, sorting, and pagination are added automatically—giving you a professional tool that works like a modern app, not a printed document. ## Case Study: The "Dead" Estimator vs. The Portal A regional construction firm used a massive Excel sheet for project estimations. They tried a standard XLS to HTML converter to show clients their quotes online. Comparison ### The "Static" Version Clients saw a blurry, non-responsive table. They couldn't adjust quantities or see how changes affected the bottom line without calling the office and waiting for a new file. ### The LlamaPress Portal Leonardo built a dynamic Estimation Portal. Clients log in, see their specific quotes, can toggle optional "Add-ons," and approve the estimate with a digital signature—all updating the database in real-time. ## Stop Settling for Snapshot Data Your spreadsheets are the engine of your business. Don't hide them in static files. Transform them into living, breathing web applications today with Leonardo. [Build Your App](https://llamapress.ai/users/sign_up) [See How LlamaPress Works](https://llamapress.ai/how-it-works) ============================================================================== # What an AI Automation Agency Does and How to Pick One Source: https://llamapress.ai/what-an-ai-automation-agency-actually-does-and-how-to-pick-one ============================================================================== # What an AI Automation Agency Does and How to Pick One > Three different businesses sell under the AI automation agency label. Learn how to tell them apart, what each charges, and which one fits your problem. Source: https://llamapress.ai/what-an-ai-automation-agency-actually-does-and-how-to-pick-one | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Three different businesses sell under the AI automation agency label. Learn how to tell them apart, what each charges, and which one fits your problem. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent An AI automation agency is an outside firm that uses AI to do work your team now does by hand. One label covers three different businesses. The first is a marketing agency that runs your ad and email campaigns with AI tools. The second is an implementation shop that configures automation software you rent, such as Zapier or HubSpot. The third is a software company that builds custom AI tools you own. Each type sells a different thing at a different price. Hire the wrong type and you can pay for months before you notice. I am a software engineer. I build AI coding agents at LlamaPress. People call us every week after a confusing conversation with an AI agency that turned out to sell something else. The label is the problem, so this guide sorts the label out. It covers what each of the three businesses does, how each one makes money, and the checks that reveal which one a vendor is. ![An agency team reviews automation plans with a client in a meeting room](https://images.unsplash.com/photo-1542744173-8e7e53415bb0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxhdXRvbWF0aW9uJTIwYWdlbmN5JTIwb2ZmaWNlJTIwdGVhbSUyMG1lZXRpbmd8ZW58MHx8fHwxNzg3ODk1NzE2fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Campaign Creators](https://unsplash.com/@campaign_creators?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/man-standing-in-front-of-people-sitting-beside-table-with-laptop-computers-gMsnXqILjp4?utm_source=leonardo_rails_app&utm_medium=referral) ## Type 1: The Marketing Automation Agency Runs Your Campaigns A marketing automation agency plans and runs campaigns for you. The team writes ads, builds email sequences, scores leads, and reports on results. AI changed the speed of that work. Copy drafts arrive in minutes. Audience tests run in parallel. Reports assemble themselves overnight. A digital marketing automation agency is the same business with a focus on online channels only. You pay a monthly retainer. Retainers vary widely by market and by scope. Many start near $1,000 a month and pass $10,000 for larger accounts as of this writing. The agency works inside your ad and email accounts. When the contract ends, the campaign activity usually ends with it. Hire this type when your problem is demand. You need more leads, and nobody on your team runs campaigns full time. Do not hire this type to fix a broken internal process. Campaign skills do not build software. ## Type 2: The Implementation Agency Configures Tools You Rent A marketing automation implementation agency sets up software you subscribe to. Common platforms are HubSpot, Marketo, Zapier, Make, and n8n. The agency maps your process, connects the tools, and trains your team. Some also sell managed support after launch. The pricing has two layers. You pay the agency a setup fee, often a few thousand dollars as of this writing. You also pay the software vendors every month, for as long as you use the tools. Many implementation shops are certified partners of the platforms they recommend. Partners can earn a margin on your subscription. Ask about that margin directly. Disclosure makes it normal. Hiding it is a warning sign. Hire this type when you already picked your tools and need them wired together well. Know the ceiling before you commit. Rented tools bend your process to fit their templates. When ten automations orbit one spreadsheet, the process has outgrown configuration. At that point you need software shaped like your business. ## Type 3: The Custom Builder Ships Software You Own The third business builds software from scratch. You describe the workflow. The company delivers a working app with a database, logins, and the AI features wired inside. Real examples of the category: a quoting tool that drafts estimates from job records, a client portal that answers questions from your documents, an intake app that chases its own missing fields. The code can live in a repository you control. Pricing is a project fee, sometimes with hosting or support after launch. Traditional development firms quote $50,000 and up for this kind of build as of this writing. AI coding agents cut that cost hard. A first working version can now land in the low four figures. For a concrete map of what custom AI features look like in practice, read our guide on [adding AI to your website, from chat widgets to real workflows](https://llamapress.ai/how-to-add-ai-to-your-website-from-chat-widgets-to-real-workflows). Hire this type when the process itself is the problem. The work lives in a spreadsheet only one person can run. The steps are unique to your business. No rented tool matches how you actually operate. ## How the AI Agency Business Model Works People searching for an AI agency usually reach one of the three businesses above. Follow the money and the three separate fast. The campaign agency earns a retainer. Its incentive is to stay useful month after month. The implementation shop earns setup fees plus tool margins. Its incentive is to recommend more software. The builder earns a project fee. Its incentive is to finish and hand over. None of those incentives is dishonest. Each one shapes the advice you receive. Ask a retainer agency about automation and you get a campaign plan. Ask a platform partner and you get a bigger software stack. Ask a builder and you get a build quote. Weigh every recommendation against the AI agency business model behind it, ours included. ## How to Pick One Start from your problem. An empty pipeline points to a marketing automation agency. Tools you bought but never configured point to an implementation shop. A process that breaks daily across spreadsheets and inboxes points to a custom builder. Then run four checks on any vendor. First, ask what you own when the contract ends. Ad accounts, tool configurations, and source code are three different answers. Second, ask what you will pay monthly after the project, and to whom. A quote that hides permanent subscriptions is incomplete. Third, ask for a small working demo before you sign a large contract. A vendor with real capacity can show progress in days. Fourth, ask who does the work. Some agencies white-label another company's team. Disclosed, that arrangement is common. Hidden, it tells you how the relationship will go. One more check applies to every type. The vendor should ask detailed questions about how work moves through your business today. A proposal that arrives before anyone understood your workflow describes their product. A proposal that arrives after describes a fix built for you. ## Where LlamaPress Sits LlamaPress is the third type. We build custom software and AI tools. Our AI coding agent is named Leonardo. He writes real Ruby on Rails code, and you watch the build happen in your browser. The code can sync to your own GitHub account. Human engineers stand behind the agent when a problem is genuinely hard. > "An agent that is our business partner, that's saying, based on the data and KPIs, here's where you're doing well and here's where you need to improve." That is the bar we build toward. We meet one agency owner on a weekly build call. Recent sprints shipped a client-impact dashboard and a pipeline that turns his recorded calls into approved tasks in ClickUp. Here is what we do not do. We do not run ad campaigns. We do not manage Google Ads or buy media. We do not offer white-label campaign management, and we never touch your client relationships. Agencies hire us to build the tool underneath the service: a reporting app, a client portal, an internal workflow system. The campaigns, the clients, and the strategy stay yours. If you run a creative shop yourself, our piece on [AI for design agencies](https://llamapress.ai/ai-for-design-agencies-ship-more-without-losing-the-craft) shows how that split works in practice. Fit matters more than any pitch, ours included. If your problem is lead volume, a campaign agency serves you better than we do. If your problem is an unconfigured HubSpot, hire a certified implementer. If your problem is a workflow trapped in a spreadsheet, that is our lane. Leonardo [converts the spreadsheet into working software](https://llamapress.ai/excel-to-app), and [our services team scopes and builds the rest with you](https://llamapress.ai/services). ### Build the tool under your workflow Tell us how work moves through your business today. Leonardo builds the database-backed app and the AI features around it. You own the code. Your campaigns and your clients stay yours. [Talk Through Your Stack](https://llamapress.ai/services) [See Leonardo Build](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What does an AI automation agency do? The label covers three different businesses. A marketing automation agency runs ad and email campaigns for you with AI tools. An implementation agency configures automation software you rent, such as HubSpot or Zapier. A custom builder writes AI-powered software that you own. Ask any vendor which of the three they are before you compare prices. The answers are rarely interchangeable. ### What is the AI agency business model? There are three common models. Campaign agencies charge a monthly retainer, so they profit from staying engaged. Implementation shops charge setup fees and can earn margins on the software subscriptions they recommend. Custom builders charge a project fee, sometimes with hosting or support after, so they profit from finishing. Each model shapes the advice the vendor gives you. ### What is the difference between a marketing automation agency and an implementation agency? A marketing automation agency operates campaigns. Its people write the ads, send the emails, and report the results, usually inside your accounts. A marketing automation implementation agency configures software instead. It connects platforms like HubSpot or Make to your process and trains your team to run them. One sells ongoing labor. The other sells setup. ### How much does an AI automation agency cost? Cost depends on which of the three types you hire. Campaign retainers often run from about $1,000 to over $10,000 a month as of this writing. Implementation projects often cost a few thousand dollars, plus the monthly software subscriptions. Custom builds from traditional firms start around $50,000 as of this writing. AI-built custom software can start in the low four figures. Always ask what you keep paying after the engagement ends. ### Do I need an AI agency or custom software? Match the fix to the problem. Hire a campaign agency when you need more leads. Hire an implementation shop when you own good tools that sit unconfigured. Choose custom software when the process itself is broken: the work lives in a fragile spreadsheet, the steps are unique to you, and rented tools keep almost fitting. Custom software costs more up front and less in permanent subscriptions. ============================================================================== # What Construction Estimating Software Really Costs Source: https://llamapress.ai/what-construction-estimating-software-really-costs-over-three-years ============================================================================== # What Construction Estimating Software Really Costs > Compare three-year costs for construction estimating software in Australia, then see what a custom build costs. Published prices, checked July 2026. Free 30-minute review. Source: https://llamapress.ai/what-construction-estimating-software-really-costs-over-three-years | Updated: 2026-09-08 --- [LlamaPress Blog](https://llamapress.ai/blog) Compare three-year costs for construction estimating software in Australia, then see what a custom build costs. Published prices, checked July 2026. Free 30-minute review. [Back to all articles](https://llamapress.ai/blog) ## The three-year picture Subscription figures come from each vendor's own published pricing, on their cheapest annual plan, checked 28 July 2026. Our figure covers a typical first build plus hosting. | Option | Year 1 | Year 3 total | Then what? | | --- | --- | --- | --- | | Buildxact Pro | $4,070 | $12,210 | Keeps billing | | Cubit Estimating, 2 estimators | $4,008 | $12,024 | Keeps billing, per user | | EstimateOne | from $3,000 | from $9,000 | Keeps billing | | A custom build plus hosting | about $4,900 | about $6,900 | Hosting only. You own the software | Read year one honestly. A custom build is not cheaper in the first year. It costs about the same as one year of a mid-tier subscription. The difference shows up in year two, when one bill stops and the other does not. Break-even lands around month 14. All figures in Australian dollars. Vendor prices are their published Australian rates and exclude GST where they say so. Our build and hosting are billed in US dollars and converted here at roughly 0.65 for comparison, so your actual figure moves with the exchange rate. Most first builds land between $1,500 and $3,000 US, and hosting is $54.99 US per month. Check current vendor pricing yourself: [Buildxact](https://www.buildxact.com/au/pricing/), [Cubit](https://buildsoft.com.au/cubit-estimating-pricing/), [EstimateOne](https://estimateone.com/). RIB CostX, RIB Candy, Databuild and BEAMS do not publish prices, so we have not estimated them. Read this before you talk to us ## Where an off-the-shelf package beats a custom build These products are good. They have years of engineering behind them, and for a lot of firms they are the right answer. Three places they win outright: ### Breadth Takeoff tools, supplier price lists, quote letters, purchase orders and reporting, all in one subscription. A first build covers one workflow properly, not all of that. ### It works today You sign up and start this afternoon. We need days to build a first cut, and a few weeks to get it right against live tenders. ### A trodden path Training material, user communities and years of bug fixes. A system built for you is new, and new software has a settling-in period. ### So here is the honest test If the package almost fits, buy the package. If you are paying four thousand dollars a year to work around one, build yours instead. ## What you get for the money instead Every estimating package asks you to move your process into its shape. Some are rigid about it. Others are flexible and hand you a blank engine, which sounds better until you work out that somebody has to spend months building your rates, formulas and templates inside it. That somebody is one of your estimators. We do that work, we do it from the workbook you already price with, and the result belongs to you. | | A subscription | A build | | --- | --- | --- | | Payment | Every month, per seat or per company | Once, then hosting | | Minimum term | Commonly 12 months | None | | Ownership | The vendor owns it | You own it, and you can have the source code | | Your rate logic | You configure their engine | We build your logic in, from your workbook | | Excel | Varies by product | Kept. Import what arrives, export whenever | | Changes | Request it and wait for the roadmap | Quoted as a sprint, built for you | | Support | Included in the subscription | Included with hosting | ## Two contractors who did exactly this Civil construction, Australia ### Lohman Contracting Lohman's estimating logic had grown inside a macro-heavy workbook. We rebuilt the workflow as secure software: BOQ mapping, quantity-based productivity, regional rate sets, materials, equipment, project costs, pricing schedules and tender versions. The proprietary rate logic stayed protected rather than exposed to every user. > "I wouldn't hesitate to recommend you. Keep on doing what you did with me." [Read the Lohman build](https://llamapress.ai/portfolio/lohman-construction-erp) Structural steel ### RSB Contracts RSB fabricates and erects structural steel. We automated BOQ inputs, built tendering and revisions, tracked production across every live project, and matched purchase orders to supplier invoices. The same job data carries through each step, so commercial, production and finance share one view. > "I spent 100+ hours trying to improve our estimating spreadsheet with ChatGPT before I found LlamaPress. This new software reflects the way we actually think and has made everything so much more streamlined and practical." [Read the RSB build](https://llamapress.ai/portfolio/rsb) Free, 30 minutes ## Find out which answer is right for you Bring one completed tender package, the spreadsheet your team used to price it, and whichever product you are currently weighing up. We walk the process with you. ### What you leave the call with - Which parts of your process a package would cover, and which parts you would still handle by hand. - The setup work a flexible package would put on your estimators, with rough hours attached. - A three-year cost comparison using your real seat count. - A straight answer on which option fits. If the package wins for your volume, we will say so. ### Send a workbook and we build first Tick the box below and we email you a secure upload link. We build a first cut before the call, so you spend the 30 minutes reacting to working software instead of describing your process. ### Book your review We reply within one business day to confirm a time that suits AEST hours. ## Questions we get from people comparing options ### What happens after the build? Who supports it? We do, and support is included with hosting. Hosting is $54.99 US per month, and it covers running the system, backups, questions and bug fixes. New features are quoted as a sprint, the same way the first build was. ### If we own it, are we stuck maintaining it ourselves? No. Ownership means you hold the software and can be given the source code, so you are never locked to us. Day to day, we run it. If you ever want to take it in-house or hand it to another developer, you can, which is not true of a subscription. ### Do our estimators have to stop using Excel? No. Estimators keep using Excel where Excel is the right tool. The system imports what arrives and exports whenever a client or head contractor wants a spreadsheet. ### Will our rates and formulas be visible to everyone? No. Permissions let estimators price with the rate sets without reading or altering the formulas behind them. Lohman Contracting had exactly that requirement. ### How long until we can use it? A first working cut usually takes days, because our AI agent builds from your existing workbook rather than starting from a blank page. You then run a live tender through it and we adjust from what you find. A package works the same afternoon you buy it, so if speed is the deciding factor, buy the package. ### Are these price comparisons current? They were checked on 28 July 2026 against each vendor's published Australian pricing, and we link to those pages so you can verify them. Vendors change prices, and several do not publish any, so treat the table as a starting point and confirm your own quote. ## Bring one tender. We will show you where the hours go. Thirty minutes, no deck, and a straight answer on which option fits your business. [Book a free 30-minute review](https://llamapress.ai/what-construction-estimating-software-really-costs-over-three-years#book) ============================================================================== # What GEO Stands For: Generative Engine Optimization Source: https://llamapress.ai/what-does-geo-stand-for-in-ai-generative-engine-optimization-explained ============================================================================== # What GEO Stands For: Generative Engine Optimization > In AI, GEO stands for Generative Engine Optimization: making your site visible and citable to ChatGPT, Perplexity, and Google AI Overviews. Plus how to start. Source: https://llamapress.ai/what-does-geo-stand-for-in-ai-generative-engine-optimization-explained | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) In AI, GEO stands for Generative Engine Optimization: making your site visible and citable to ChatGPT, Perplexity, and Google AI Overviews. Plus how to start. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert In AI and digital marketing, GEO stands for Generative Engine Optimization. GEO is the practice of making your site easy for AI answer engines to find, read, and cite. Answer engines are AI systems such as ChatGPT, Perplexity, and Google AI Overviews. Traditional SEO helps a page rank in a list of links. GEO helps the same page get quoted inside the AI-written answer. The work has five parts: answer questions directly, structure pages clearly, add schema markup, publish a machine-readable site summary, and let AI crawlers reach your pages. The paragraph above is the complete answer. The rest of the page explains the origin of the term, the link to SEO, and the five steps that matter most. I run GEO audits for business owners. The same faults appear on almost every site. One fault surprises almost every owner. The fix costs nothing. ## The Short Answer: What GEO Stands For in AI GEO is Generative Engine Optimization. A generative engine is an AI system that writes a new answer to your question instead of returning links. ChatGPT, Perplexity, Microsoft Copilot, and Google AI Overviews all work this way. GEO is the work of earning a place inside those written answers. The prize is a citation with a link, or credit as the source of a fact. The term comes from a 2023 research paper titled "GEO: Generative Engine Optimization." Researchers at Princeton and several other universities wrote the paper. They tested which content changes made a source more visible in AI answers. Quotations, statistics, and clear sourcing lifted a page's visibility in their benchmark by large margins. The name stuck. By 2026, GEO is the standard label for the practice. The abbreviation has other meanings outside AI. In advertising, GEO often means geographic targeting. In aerospace, GEO means geostationary orbit. In a conversation about AI, search, or marketing, GEO means Generative Engine Optimization. ![A person asks an AI assistant a question on a laptop instead of scanning search results](https://images.unsplash.com/photo-1616499452581-cc7f8e3dd3c9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxwZXJzb24lMjBhc2tpbmclMjBBSSUyMGNoYXRib3QlMjBsYXB0b3AlMjBzZWFyY2h8ZW58MHx8fHwxNzg3ODc4MDg4fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Firmbee.com](https://unsplash.com/@firmbee?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-using-macbook-pro-on-table-31OdWLEQ-78?utm_source=leonardo_rails_app&utm_medium=referral) ## GEO vs SEO: What Carries Over and What Changes GEO does not replace SEO. The two practices share a foundation. Most answer engines still use search indexes to find candidate pages before they write. A site that Google cannot see is probably invisible to Perplexity too. Useful content, working pages, real expertise, and links from other sites help in both worlds. The prize changes. SEO competes for a spot in a ranked list, where the reward is a click. GEO competes for a citation inside one written answer. A search results page has ten slots. An AI answer often cites only three sources. The narrower funnel makes a quotable page worth more. The unit of competition changes too. Search engines rank whole pages. Answer engines lift passages. One clear paragraph that states a fact plainly can earn a citation, even on a modest page. GEO work therefore concentrates on paragraph-level clarity. Give a direct answer, keep one idea per section, and make claims a machine can extract. The queries differ as well. People type fragments into Google and full questions into ChatGPT. Shape GEO content around questions and complete answers. FAQ sections and definitional headings now pull more weight than they did in classic SEO. ## How AI Answer Engines Pick Their Sources The pipeline explains every practical GEO tactic. You ask an answer engine a question. The engine runs a search behind the scenes and retrieves a set of candidate pages. The engine extracts the passages that seem to answer the question. The engine then writes a response from those passages and cites some of them. Each stage filters you out or keeps you in. To survive retrieval, your page must be indexed and reachable. To survive extraction, your page must answer the question in plain language, near a heading that names the topic. To get cited, the passage must carry something concrete: a definition, a number, a named process, or a clear comparison. Vague content dies at the extraction stage. A page that buries the answer under eight hundred words of preamble dies there too. Engines also favor pages they can parse cleanly. Semantic HTML means markup that names each part of the page. A page with real headings, lists, and tables is easy to slice into passages. A page built from nested layout divs gives the extraction step little to hold. A PDF gives even less. Keep the parsing rule in mind, because the biggest structural decision in this article builds on the same rule. ## Five GEO Basics That Actually Move the Needle ### 1. Answer the question in the first two paragraphs Open every page with a complete, quotable answer to its target question. Two to four sentences an engine can lift verbatim are enough. This page opens the same way. Put elaboration below the answer, never above. ### 2. Structure the page like a document, because it is one Use one H1. Write descriptive H2 headings that read like the questions people ask. Use short paragraphs, real lists, and real tables. Page structure is the cheapest GEO win available. Most business sites fail here because a page builder assembled their pages visually. A written, structured document beats a visual collage. ### 3. Add schema markup Schema markup is a small block of structured data (JSON-LD) that labels your content for machines. The block states the article, the author, and the FAQ questions with their answers. Schema removes ambiguity for crawlers and costs a few minutes per page. Article and FAQPage schema are the two workhorses for content pages. ### 4. Publish an llms.txt file llms.txt is a proposed convention: a plain text file at the root of your site, like yoursite.com/llms.txt. The file lists your most important pages with short descriptions. AI systems read the file to orient quickly. As of this writing, adoption is uneven across the industry. Still, the file takes minutes to create, and several AI tools already read it. The sites this page lives on publish one. ### 5. Let AI crawlers in, and verify it The crawler check surprises almost everyone. Many sites block AI crawlers such as GPTBot, PerplexityBot, and ClaudeBot without knowing. A firewall, CDN, or security plugin often ships with strict bot protection turned on. The site then returns a 403 Forbidden error to every AI crawler while humans see a normal site. In a recent audit for a services business, we found every major AI crawler blocked this way. The owner had no idea. No amount of content work matters while the block stands. Check your robots.txt. Check the bot rules in your firewall. Then request a page with an AI crawler's user agent string and read the status code. ## Why Clean, Structured Sites Win GEO Pull the five basics together and a pattern appears. GEO rewards sites built as clean, structured documents with real information behind them. The pattern has a practical consequence for business owners. The sites that get cited give every service, product, and question its own well-structured page. Their HTML is semantic. Their content reflects real operational knowledge instead of thin marketing copy. A business site can be a real application, with pages generated from a database of your services, projects, inventory, or FAQs. Answer engines prefer these pages because they stay consistent, structured, and crawlable. Fifty hand-built pages from a page builder drift apart. Fifty pages from one template and one database stay uniform. An AI coding agent can build this kind of database-backed software for you at a lower cost than most owners assume. The build fixes your GEO structure while it fixes your operations. Two lighter starting points exist as well. If your current site is old page-builder output, rebuild it with AI help. I walk through the rebuild process in [how to redesign your website with AI](https://llamapress.ai/how-to-redesign-your-website-with-ai-a-practical-guide). Our [Picture to HTML](https://llamapress.ai/picture-to-html) tool turns a screenshot of any page into clean, structured markup you can read. For the full audit-and-fix path, our team offers [GEO and site services](https://llamapress.ai/services). We check crawler access, structure, and schema against everything in this article. When Buyers Ask AI, Be the Answer ### Find out if AI engines can even see your site. We audit crawler access, structure, schema, and llms.txt. Then we fix what blocks you. Many sites return a 403 to every AI crawler right now and do not know. [Get Found by AI](https://llamapress.ai/services) [Try Picture to HTML](https://llamapress.ai/picture-to-html) ## Frequently Asked Questions ### What does GEO stand for in AI? GEO stands for Generative Engine Optimization. GEO is the practice of preparing your site so AI answer engines can find, understand, and cite your content. ChatGPT, Perplexity, and Google AI Overviews are the main answer engines. A cited page appears inside the answers they write for users. ### Is GEO replacing SEO? No. GEO extends SEO. Answer engines still use search indexes to find candidate pages. Indexability, useful content, and authority feed both practices. GEO adds a layer on top: direct quotable answers, clear passages, schema markup, and confirmed AI crawler access. A sensible strategy does both at once. ### What is the difference between GEO and AEO? Very little in practice. AEO stands for Answer Engine Optimization. Most people use the two terms for the same work: earning citations in AI answers. GEO comes from the 2023 academic paper that named the field. AEO grew out of the older featured-snippet world. When a vendor pitches either term, ask about the same fundamentals: crawler access, direct answers, structure, and schema. ### How do I know if AI engines can see my website? Check three layers. First, read yoursite.com/robots.txt and look for rules that disallow agents like GPTBot, PerplexityBot, or ClaudeBot. Second, check the bot protection settings in your CDN or firewall. Those settings block crawlers before robots.txt is read. Third, request one of your pages with an AI crawler's user agent string and read the HTTP status code. A 200 means the crawler gets through. A 403 means the engine cannot see your content at all. ### What is llms.txt? llms.txt is a proposed standard: a plain text file at the root of your site that summarizes the site for AI systems. The file lists your most important pages. Think of the file as a sitemap written for language models. As of this writing, adoption varies across AI providers. The file is trivial to create. Publishing one has no downside. ============================================================================== # What Is a Digital Transformation Platform? A Plain Guide Source: https://llamapress.ai/what-is-a-digital-transformation-platform-and-does-a-mid-market-business-need-one ============================================================================== # What Is a Digital Transformation Platform? A Plain Guide > A digital transformation platform is sold by the seat plus a yearlong project. What it holds, what it costs, and when a 10 to 200 person business can skip it. Source: https://llamapress.ai/what-is-a-digital-transformation-platform-and-does-a-mid-market-business-need-one | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) A digital transformation platform is sold by the seat plus a yearlong project. What it holds, what it costs, and when a 10 to 200 person business can skip it. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert Updated September 2026 A digital transformation platform is a vendor bundle of five things: a database, workflow and forms tools, integrations, reporting, and user permissions. ServiceNow, Salesforce, Appian, Pega and Microsoft Power Platform each sell that bundle by the seat, plus an implementation project. No vendor uses the phrase as a product name. A 10 to 200 person business rarely needs the enterprise version. The transformation for a business that size is the three or four workflows still running in spreadsheets. A custom database-backed app built from those spreadsheets delivers the same five capabilities without seat fees or a yearlong programme. In short - A digital transformation platform is a bundle: database, workflow and forms tools, integrations, reporting, and permissions. Vendors call it "AI Platform", "process automation platform" or "Power Platform". - Enterprise platforms price by the user per month or by a contact-sales quote. Power Apps Premium is $22 per user per month paid yearly; Appian, Pega and ServiceNow publish no price. - BCG found that 70% of digital transformations fall short of their objectives. Scope and adoption are the two usual reasons. - For a 10 to 200 person business, a custom app built from your own spreadsheet delivers the five capabilities with no per-user fees. LlamaPress builds it, and a human engineer reviews every build. I spent my consulting years at McKinsey on operations strategy, and I now build apps for businesses with 10 to 200 people. The phrase digital transformation platform comes up in nearly every first call. The owner has heard it from a software vendor, a consultant, or both. This page gives the plain answer. If you want the platforms ranked against each other, read [the best digital transformation platforms for businesses, compared](https://llamapress.ai/the-best-digital-transformation-platforms-for-businesses-in-2026-compared-honestly). ![A woman working on a laptop at a desk with notebooks, the kind of desk where estimating, orders and onboarding still run on spreadsheets](https://images.unsplash.com/photo-1762341110466-7d493b93ab4c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxsYXB0b3AlMjBzcHJlYWRzaGVldCUyMGRlc2slMjBvZmZpY2V8ZW58MHx8fHwxNzg4NDg0MjMwfDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Zulfugar Karimov](https://unsplash.com/@zulfugarkarimov?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/woman-working-on-laptop-at-desk-with-notebooks-pzjeeyl5C38?utm_source=leonardo_rails_app&utm_medium=referral) ## What is a digital transformation platform? A digital transformation platform is a suite of software that replaces spreadsheet and email processes with a central database, workflow tools, integrations, reporting and permissions. The phrase is a search term and a consultant's label. No vendor I checked in September 2026 uses it as a product name. ServiceNow calls its product the "ServiceNow AI Platform". Appian and Nintex say "process automation platform". OutSystems and Mendix say "low-code" or "AI development platform". Microsoft says "Power Platform". SAP sells "Business Transformation Management". monday.com says "work management platform". All of them sell the same five capabilities in different packaging. IBM's definition is the clearest of the vendor definitions. "Digital transformation is a business strategy initiative that incorporates digital technology across all areas of an organization," says [IBM's explainer](https://www.ibm.com/think/topics/digital-transformation). Deloitte adds that digital transformation "is a continuous effort that extends well beyond one single technology, platform, or skill set", in [its value study](https://www.deloitte.com/us/en/insights/topics/digital-transformation/digital-transformation-value-roi.html). Read those two lines together and the trap appears. The definitions describe a company-wide programme. The platforms are sold as the tool for that programme. A 40 person contractor does not have a company-wide programme. That contractor has an estimating spreadsheet, an order log and an onboarding checklist. Those three files are the transformation. Everything else on the vendor's slide is packaging for a company with a programme office. ## What is the difference between a digital transformation platform and a business transformation platform? A business transformation platform is the management layer that maps and redesigns processes, and a digital transformation platform is the technology layer that runs them. SAP draws the line in its own explainer: "digital transformation is a subset of business transformation," it says in [SAP's guide to digital transformation](https://www.sap.com/resources/what-is-digital-transformation). SAP's product line for the management layer is called Business Transformation Management. That portfolio bundles SAP LeanIX for enterprise architecture, SAP Signavio for process analysis and WalkMe for digital adoption. None of the three carries a public price. The call to action is "Request a demo". Salesforce collapses the distinction into four words: "Digital transformation is business transformation," on [its digital transformation page](https://www.salesforce.com/digital-transformation/). IBM lands in the middle. IBM's explainer says digital transformation "is as much about business transformation and change management" as about technology. For a business with 200 people or fewer, the distinction is academic. You do not need process mining software to find your slow process. Your estimator can name it before the coffee cools. The business transformation is the decision that estimates will live in one database with one approval step. The digital transformation is the app that enforces that decision. One decision, one app. Buying two platforms to make one decision is where the enterprise model stops fitting. ## What does a digital transformation platform actually include? A digital transformation platform includes five capabilities, and each one already exists in a rough form inside your spreadsheet. The list below pairs each capability with the spreadsheet version it replaces. 1. **A database.** The tabs in your spreadsheet are the database. A platform gives each tab a proper table with typed fields, required values and a history of every change. Appian's Standard tier, for example, allows a "Single data source" and "4M rows/record type". 2. **Workflow and forms.** The status column and the email that says "approved" are the workflow. A platform turns them into a form, a queue and a rule about who may move a record to the next state. 3. **Integrations.** The copy and paste between the spreadsheet and your accounting system is the integration. ServiceNow says its platform connects "to more than 450 systems". A 40 person business needs three. 4. **Reporting.** The summary tab full of SUMIFS is the reporting. A platform gives the same numbers as live dashboards that nobody has to refresh or email. 5. **Identity and permissions.** The shared drive password is the permission model. A platform gives each person a login and a role, and records who changed what and when. Those five are the whole product. The enterprise platforms wrap them in an app studio, an AI layer and a partner ecosystem. Microsoft, for instance, sells Copilot Studio as "Copilot Credit packs of 25,000 Copilot Credits each, priced at $200.00/pack/month". Those layers are real, and a 20,000 person company uses them every day. A 50 person company pays for them and uses the five basics. ## What does a digital transformation platform cost? A digital transformation platform costs between $8 and $100 per user per month on the platforms that publish a price. The rest quote through contact sales. Every price below is a USD list price taken from the vendor's own page, as of this writing in September 2026. Where a vendor's pricing URL redirects to a contact form, the table says so. The last row is ours, from our [pricing page](https://llamapress.ai/pricing) and [services page](https://llamapress.ai/services). | Platform | What the vendor calls it | Public price (as of this writing) | Seat model | | --- | --- | --- | --- | | Microsoft Power Apps | Power Platform | Premium $22.00 user/month, paid yearly; $14.00 tier needs a 2,000-seat minimum | Per user, annual | | Microsoft Power Automate | Low-code cloud automation platform | Premium $15.00 user/month, paid yearly; Process $150.00 bot/month | Per user or per bot, annual | | Salesforce Platform | Headless 360 platform | Platform Starter $25 user/month; Platform Plus $100 user/month, billed annually | Per user, annual | | Zoho Creator | Low-code app builder | Standard US$8, Professional US$20, Enterprise US$25 user/month, billed annually | Per user, annual | | Quickbase | No-code platform | Team from $35, Business from $55 user/month, priced annually; platform minimum not included | Per user plus a platform minimum | | monday.com | Work management platform | Basic $9, Standard $12, Pro $19 seat/month, billed annually | Per seat, annual | | Mendix (Siemens) | Low-code platform | Standard from $1,090/month; hosting is an additional cost; Premium by quote | Per platform, monthly | | Appian | Process automation platform | Contact sales; "Priced per user, per month, per app" | Per user, per app | | Pega | Pega Platform | Contact sales; pricing URL redirects to the product page | Not published | | ServiceNow | ServiceNow AI Platform | No public price; "Schedule Demo" | Not published | | LlamaPress | Custom app built from your spreadsheet | Starter $9.99/mo, Pro $21.99/mo, Business $54.99/mo; build sprints from $2,000 | No per-user fees | Table sources, checked in September 2026: [Power Apps pricing](https://www.microsoft.com/en-us/power-platform/products/power-apps/pricing), [Power Automate pricing](https://www.microsoft.com/en-us/power-platform/products/power-automate/pricing), [Salesforce Platform pricing](https://www.salesforce.com/platform/enterprise-app-development/pricing/), [Zoho Creator pricing](https://www.zoho.com/creator/pricing.html) and [Quickbase plans](https://www.quickbase.com/plans-and-pricing). Also [monday.com pricing](https://monday.com/pricing), [Mendix pricing](https://www.mendix.com/pricing/), [Appian pricing](https://appian.com/products/pricing), [Pega Platform](https://www.pega.com/products/platform) and [ServiceNow AI Platform](https://www.servicenow.com/platform.html). Four details hide in the footnotes. Power Apps' $14 tier carries a "2,000-seat minimum", so $22 is the real figure for a mid-market business. Quickbase's per-user price "does not include platform minimum", and the minimum amount is not published. Salesforce's page says it "is provided for information purposes only and subject to change". Mendix charges for hosting on top of the $1,090 platform fee. The seat model has one more cost that no table shows. Every person who needs to open a record needs a seat, so the bill grows with every hire. The second bill is the implementation project. No enterprise vendor publishes that number. Appian comes closest, with its guarantee to deliver a first app "in 8 weeks or less". ## Does a 10 to 200 person business need a digital transformation platform? Most 10 to 200 person businesses do not need a digital transformation platform, and the transformation failure statistics explain why. The record of enterprise transformation programmes is poor, and the analysts who advise those enterprises say so. BCG's research found that "70% of digital transformations fall short of their objectives," in its report on [flipping the odds of digital transformation success](https://www.bcg.com/publications/2020/increasing-odds-of-success-in-digital-transformation). 30% met or exceeded their target value. 44% created some value but missed their targets. 26% created limited value and produced no sustainable change. Gartner's 2026 CIO and Technology Executive Survey reports that "only 48% of digital initiatives meet or exceed business targets," in [Gartner's CIO agenda article](https://www.gartner.com/en/articles/cio-agenda). [McKinsey's 2018 global survey of digital transformations](https://www.mckinsey.com/capabilities/people-and-organizational-performance/our-insights/unlocking-success-in-digital-transformations) put the success rate at 16 percent. A further 7 percent improved performance without sustaining it. In traditional industries such as automotive, infrastructure and oil and gas, the same survey found success rates between 4 and 11 percent. The same McKinsey survey carries the finding that matters most for this page. Respondents at organisations with fewer than 100 employees were 2.7 times more likely to report a successful digital transformation than those above 50,000 employees. My reading is simple. A small company succeeds more often because the scope is smaller and the people who will use the tool are in the room. The two failure modes I saw as a consultant were scope and adoption. Scope first. The programme tries to change the whole operating model at once. In McKinsey's survey, 68 percent of respondents named digitizing the operating model as the objective. Adoption second. The new platform arrives with new screens, new field names and a training course, and the team quietly reopens the spreadsheet. Deloitte's study of Fortune 500 companies found that digital strategy and technology investment "without change capability results in a significant erosion of enterprise value". That is a large-cap finding, and the mechanism is the same at 50 people. Starting from the spreadsheet the team already uses fixes adoption. The fields keep their names. The estimator's tab becomes the estimator's screen. Nobody learns a platform, because there is no platform. **An enterprise platform is the right call in four cases, and I will say so plainly.** First, 500 or more seats. At that size the per-seat price buys an admin console, single sign-on and an audit trail that you would otherwise build yourself. Second, IT service management. If the problem is an IT help desk with tickets, assets and change approvals, ServiceNow built its platform for that work. Third, a regulated industry with a platform mandate. If your auditor or your parent company requires a named platform with a named certification, buy the platform. Fourth, an existing Microsoft estate with an IT team that already builds in Power Platform. One more Power App inside that estate is cheaper than anything else. LlamaPress does not do those jobs. We do not replace a general ledger, run payroll or build an IT help desk. We build the operational apps that sit beside those systems: estimating, orders, onboarding, scheduling and job tracking. ![A small team at laptops around a whiteboard, planning the three or four workflows that make up a mid-market transformation](https://images.unsplash.com/photo-1557804506-669a67965ba0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzbWFsbCUyMHRlYW0lMjBtZWV0aW5nJTIwd2hpdGVib2FyZCUyMHBsYW5uaW5nfGVufDB8fHx8MTc4ODQ4Mzc1OXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Austin Distel](https://unsplash.com/@austindistel?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/three-men-sitting-while-using-laptops-and-watching-man-beside-whiteboard-wD1LRb9OeEo?utm_source=leonardo_rails_app&utm_medium=referral) ## What should a mid-market business use instead? A mid-market business should use a custom database-backed app built from the spreadsheet it already runs on. That app is a category of its own, and it delivers the five capabilities directly. The tabs become tables in a PostgreSQL database. The status column becomes a workflow with an approval step. The summary tab becomes a dashboard. Each person gets a login and a role. Integrations connect the two or three systems you actually use. There is no seat fee, because you own the app. LlamaPress is the way to get that app. You upload the spreadsheet at [the Excel to app page](https://llamapress.ai/excel-to-app), with no credit card. Leonardo, our AI coding agent, reads the tabs, formulas and validation lists and writes a standard Ruby on Rails app on a PostgreSQL database. The code lives in your own GitHub repository. A human engineer reviews every build before you rely on it. Hosted plans are $9.99 a month for Starter, $21.99 for Pro and $54.99 for Business, with no per-user fees. Done-for-you build sprints start at $2,000, and an ongoing build partnership starts at $1,500 a month. We have converted 400+ spreadsheets this way. RSB, a steel contractor, priced every job from one estimating spreadsheet. We rebuilt that spreadsheet's logic as a custom app in 6 weeks from kickoff to deployment. Estimates now go out 62% faster, and each estimate costs 40% less to produce. The full account is in [how we rebuilt a contractor's Excel logic as an app](https://llamapress.ai/we-rebuilt-a-contractors-excel-logic-as-an-app). Six weeks was the whole programme. No platform licence, no implementation partner, no seat count. If the spreadsheet is old and everyone is afraid to touch it, read [legacy application modernization without a yearlong rewrite](https://llamapress.ai/legacy-application-modernization-without-a-yearlong-rewrite). If an off-the-shelf product almost fits, read [custom software development when off-the-shelf stops fitting](https://llamapress.ai/custom-software-development-when-off-the-shelf-stops-fitting). If the pain is a chain of approvals, read [workflow automation software and when to build the workflow instead](https://llamapress.ai/workflow-automation-software-and-when-to-build-the-workflow-instead). If a vendor has pitched Power Apps and you have no IT department, read [the Power Apps alternative for businesses without an IT department](https://llamapress.ai/the-power-apps-alternative-for-businesses-without-an-it-department). If you are unsure the spreadsheet needs replacing at all, read [should you rebuild your Excel spreadsheet as software or keep using Excel](https://llamapress.ai/should-you-rebuild-your-excel-workbook-as-software-or-keep-using-excel). ## How do you start a digital transformation from a spreadsheet? Start a digital transformation from a spreadsheet by picking one file, naming its users, uploading it, checking the numbers and retiring the file. Five steps, in this order. 1. **Pick the spreadsheet that hurts most.** Choose the file with the most tabs, the most people editing it and the most "which version is current" emails. Estimating, orders and onboarding are the usual three. 2. **Write a roles list.** Name each person who opens the file and what each may see and change. That list becomes the permission model on day one. 3. **Upload it at [the Excel to app page](https://llamapress.ai/excel-to-app).** No credit card and no clean-up required. Leonardo maps tabs to tables and formulas to rules, and a first working app follows. 4. **Check the numbers side by side.** Price real jobs in the spreadsheet and in the app until every difference is explained. The engineer fixes what the AI could not know. 5. **Retire the spreadsheet.** Lock the old file, keep an export, and move the team to the app. The next spreadsheet goes through the same five steps. That is the whole transformation for a business your size. Three or four spreadsheets, three or four short builds, no programme office. The database, workflow, integrations, reporting and permissions arrive one workflow at a time, in the order your team feels the pain. From Spreadsheet to Software ### Skip the platform. Start from the spreadsheet. Upload the spreadsheet that runs your process. Leonardo reads the tabs, formulas and dropdowns and builds a first working app. An engineer reviews it with you, and there are no per-user fees. [Upload Your Spreadsheet](https://llamapress.ai/excel-to-app) [Talk to an Engineer](https://llamapress.ai/contact) Prefer to talk first? [Contact us](https://llamapress.ai/contact) and we will look at your spreadsheet with you. ## Frequently Asked Questions ### What is a digital transformation platform? A digital transformation platform is a software bundle that replaces spreadsheet and email processes with a central database, workflow tools, integrations, reporting and permissions. No vendor uses the phrase as a product name. ServiceNow, Appian, Pega, Salesforce and Microsoft Power Platform sell the bundle by the seat plus an implementation project. ### Is a digital transformation platform the same as a business transformation platform? No. A business transformation platform is the management layer that maps and redesigns processes, and a digital transformation platform is the technology layer that runs them. SAP calls digital transformation a subset of business transformation. For a business with 200 people or fewer, the two collapse into one decision and one app. ### How much does a digital transformation platform cost? As of September 2026, the platforms that publish a price charge between $8 and $100 per user per month, billed annually. Power Apps Premium is $22 per user per month, Salesforce Platform Starter is $25 and Zoho Creator Standard is US$8. Appian, Pega, ServiceNow, Kissflow and Nintex quote through contact sales. Implementation is a second, unpublished bill. ### Do small businesses need a digital transformation platform? Most small and mid-market businesses do not. BCG found that 70% of digital transformations fall short of their objectives, and scope and adoption are the usual reasons. A business with 10 to 200 people usually needs three or four workflows moved out of spreadsheets. A custom app built from those spreadsheets does that without seat fees. ### What is the best digital transformation platform for a small business? The best digital transformation platform for a small business is usually no platform at all. A custom app built from the spreadsheet the team already uses delivers the database, workflow, integrations, reporting and permissions with no per-user fees. Among the platforms, Zoho Creator publishes the lowest per-user price at US$8 per user per month billed annually, as of September 2026. ### Can a custom app replace a digital transformation platform? Yes, for the operational workflows of a 10 to 200 person business. A custom database-backed app built from your spreadsheet provides the same five capabilities as a platform and you own the code. LlamaPress builds one as a Ruby on Rails app on PostgreSQL in your own GitHub, reviewed by a human engineer, with no per-user fees. ============================================================================== # White Label Client Portal Software Your Agency Can Own Source: https://llamapress.ai/the-client-portal-your-agency-can-actually-put-its-name-on ============================================================================== # White Label Client Portal Software Your Agency Can Own > Status emails eat agency hours. What a client portal must show, what clients should never see, and when to own your portal instead of renting software. Source: https://llamapress.ai/the-client-portal-your-agency-can-actually-put-its-name-on | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Status emails eat agency hours. What a client portal must show, what clients should never see, and when to own your portal instead of renting software. [Back to all articles](https://llamapress.ai/blog) ![Darren David Spencer](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/vdqignlvmc1rxv5n41gd4ihb12h5) Written by Darren David Spencer Ex-McKinsey Consultant | Operations Strategy Expert An agency with twenty clients answers the same email twenty times a week. The email asks how the project is going. Each answer takes ten minutes of checking tools, grabbing screenshots, and writing a careful update. Across a month, that is days of senior time spent proving that work happened. I watched service firms leak margin this way for years, first at McKinsey and then with mid-market operators. The clients are not being difficult. They pay every month and cannot see what they get. A portal fixes the visibility problem at the root. A client portal system is a private website where each client signs in and sees their own work. A complete portal shows four things: current status, shared files, pending approvals, and a decision history. White label means the portal runs on your domain and carries your agency's name and logo. You can get one in two ways. You can rent white label client portal software and pay per seat or per client each month. Or you can own a custom portal built around your process, with no per-seat fees. Renting starts faster. Owning fits your process better and costs less once the client count grows. ![Agency team walking a client through project status on a shared screen](https://images.unsplash.com/photo-1590650516494-0c8e4a4dd67e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxhZ2VuY3klMjB0ZWFtJTIwcmV2aWV3aW5nJTIwZGFzaGJvYXJkJTIwY2xpZW50JTIwbWVldGluZ3xlbnwwfHx8fDE3ODc4OTU3MjJ8MA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [LinkedIn Sales Solutions](https://unsplash.com/@linkedinsalesnavigator?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/two-women-sitting-at-a-table-looking-at-a-computer-screen-46bom4lObsA?utm_source=leonardo_rails_app&utm_medium=referral) ## What a Client Portal Must Show Customer portal features lists run long on vendor sites. Four features do almost all of the work. Get these four right before you add anything else. - **Status.** The client sees where every project sits without asking anyone. A named stage and a date beat a progress bar. "Waiting on your logo files since Tuesday" ends a whole category of email. - **Files.** Every deliverable lives in one place, with the final version marked as final. Nobody digs through email attachments to find round three of a design. - **Approvals.** The client approves or rejects work inside the portal. The portal records who approved what and when. Approval buried in an email thread is how scope disputes start. - **History.** Every status change, upload, and decision gets a timestamped entry. A new contact on either side reads the history and catches up in minutes. Everything else is optional. Messaging, invoices, and dashboards all help. Add them after the four basics work every day. ## What Information Can a User See in Their Customer Portal? The fastest way to sink a portal is to show clients the wrong things. A customer facing portal needs a hard wall between client data and internal operations. A signed-in client should see their own projects, statuses, deliverables, approvals, and invoices. They should see who at your firm handles their account. They should never see another client's data, your margins, your hourly costs, internal comments, or half-finished drafts. The wall has to live in the software, and where it lives matters. In a database-backed portal, every record carries a client id. The portal shows a user only the rows that match their id, enforced in code. In a shared spreadsheet or a loosely configured tool, the wall is a filter someone must remember to apply. One forgotten filter leaks a client list. Firms that handle financial, legal, or health information should treat this as a hard requirement. ## How to Build Client Marketing Dashboards Marketing agencies get asked for one portal page more than any other: the campaign dashboard. A marketing agency client dashboard shows each client the numbers their campaigns produced. Three decisions make one worth opening. ### 1. Pick the data sources List where the numbers live today: ad platforms, web analytics, search console, call tracking, your CRM. Start with the two sources your clients ask about most. Pull them by API where the platform offers one, or by a scheduled export where it does not. Two reliable numbers beat ten stale ones. ### 2. Build one page per client Every client gets the same layout with only their data in it. Show five to eight numbers with plain-English labels: spend, leads, cost per lead, top channel. Put the current month next to the last one. A client should understand the page in thirty seconds without a call. ### 3. Set a refresh cadence and print it Decide how often each number updates: spend nightly, rollups weekly, the written summary monthly. Print the cadence on the page, such as "Updated nightly at 2am". A dashboard with a visible refresh time earns trust. One that silently goes stale destroys it. One boundary matters here. The dashboard reports campaign data. Your team plans and runs the campaigns, and that stays true if we build the dashboard for you. We build the software. The campaign work and the client relationship stay yours. For the reporting side in depth, read our guide to [automated marketing reporting without another subscription](https://llamapress.ai/automated-marketing-reporting-without-another-subscription). ## Buy or Build: The Two Kinds of White Label Portal Software Online client portal software splits into two classes: portals you rent and portals you own. Rented portal tools charge per seat or per client, monthly, and many charge extra for white label branding as of this writing. The upside is speed. You can be live this week, and the vendor handles hosting and updates. The downside is the template ceiling. Your process bends to fit the vendor's screens, your data lives in their system, and the fee grows with every client you add. An agency with five clients and a standard process should usually rent. The math works and the setup takes an afternoon. A white label customer portal you own is a custom web app on your domain, backed by your own database. The screens match your actual stages, your approval steps, and your dashboard metrics. There are no per-seat fees, so the cost stays flat while the client list grows. Custom used to mean an agency-sized build at agency prices. AI-built development changed that math. An AI coding agent now produces a working portal in days, and builds usually land in the low thousands of dollars. The portal also becomes something your firm owns rather than a line in the software budget. > "It's one thing for me to be married to you guys, but I don't want my clients to have to be." Ownership also changes the revenue math. One agency we build for resells a white-labeled reporting dashboard we made for its home-services client, at about three times what it pays us. The honest test is simple. Count your clients, then multiply the per-client fee by twenty-four months. If that number makes you wince, or the templates fight your process, you have outgrown renting. ## Where LlamaPress Fits LlamaPress builds custom portals for agencies and service firms. Our AI coding agent, Leonardo, builds a database-backed web app with your branding, on your domain. The code is standard Ruby on Rails and lives in your own GitHub account. You watch the build happen in a live session, starting from the spreadsheet or tool you track clients in today. The boundary stays plain: we build the tools, and you keep the clients and the campaigns. A portal often starts as one module and grows. We build the same pattern as [guided client onboarding software](https://llamapress.ai/guided-client-onboarding-software-that-replaces-your-checklist-spreadsheet) for the intake side. For firms that ship physical work, the same structure runs [custom order tracking](https://llamapress.ai/custom-order-tracking-software-that-gives-your-team-one-source-of-truth). Our [services page](https://llamapress.ai/services) explains how an engagement runs from first call to a launched portal. Your Name on the Door ### Stop answering the status email. Tell us what your clients ask for every week. We will show you a working portal with your branding before you commit to anything. [Get your portal built](https://llamapress.ai/services) [Describe the portal you need](https://llamapress.ai/) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What is white label client portal software? White label client portal software is a portal product that carries your firm's branding instead of the vendor's. Clients sign in on your domain, see your logo, and never see the tool's maker. You can rent white label software by the seat, or own a custom-built portal outright. Both count as white label. Ownership adds control over screens, data, and cost. ### What features should a customer portal have? Start with four: project status, shared files, approvals with a recorded trail, and a history of every change. Add invoices, messaging, and reporting dashboards once those four work reliably. Every feature should answer a question a client currently asks by email. ### Do web portals for customer engagement replace email? Web portals for customer engagement replace routine update email, which is most of the volume. Status checks, file requests, and approval chasing move into the portal. Strategy conversations stay human. Most firms see update email fall off within a few weeks of clients trusting the portal. ### How much does online client portal software cost? Rented tools charge per seat or per client each month, and white label branding often sits on a higher tier, as of this writing. Total cost grows with your client list. A custom portal is one build cost with no per-seat fees. AI-built portals usually land in the low thousands of dollars, with a first working version in days. ### Should an agency build its own client portal? Build when you have roughly ten or more clients, a process the templates fight, or per-client fees that sting. Rent when you have a handful of clients, a standard process, and need something live this week. Either way, insist that your client data can be exported at any time. ============================================================================== # Why a Client Onboarding Spreadsheet Loses Clients Source: https://llamapress.ai/why-your-client-onboarding-spreadsheet-is-quietly-losing-you-clients ============================================================================== # Why a Client Onboarding Spreadsheet Loses Clients > Your client onboarding spreadsheet works until week 6 of a 2-week setup. What a real onboarding tracker needs, and why the checklist itself is the problem. Source: https://llamapress.ai/why-your-client-onboarding-spreadsheet-is-quietly-losing-you-clients | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Your client onboarding spreadsheet works until week 6 of a 2-week setup. What a real onboarding tracker needs, and why the checklist itself is the problem. [Back to all articles](https://llamapress.ai/blog) ## The 40-Row Tracker Every Growing Firm Builds I have reviewed onboarding operations at insurance agencies, MSPs, wealth management firms, and healthcare practices, and the client onboarding spreadsheet is nearly identical everywhere. One tab per client, or one row per client with 40 columns marching to the right. "Sent welcome email?" "Received signed MSA?" "Collected W-9?" "Kickoff call scheduled?" Someone builds it in an afternoon, usually after a new client fell through the cracks, and it genuinely helps for a while. Here is the number that should worry you. At one MSP I worked with, onboarding a 30-seat client was scoped at two weeks. Their actual average was six. Not because any single task was slow. Because between every task sat a waiting period where nobody knew it was their turn. "Nobody cancels over one late deliverable. They cancel because the first month told them what the next three years would feel like." Onboarding is the one process your client experiences at full attention. They just signed. They are watching. A messy quarter-end report in year two gets forgiven. A messy first month gets remembered at renewal. ![Client filling out onboarding paperwork by hand at an office desk](https://images.unsplash.com/photo-1603796846097-bee99e4a601f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxjbGllbnQlMjBvbmJvYXJkaW5nJTIwcGFwZXJ3b3JrJTIwb2ZmaWNlfGVufDB8fHx8MTc4Mzg3ODI0MXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Romain Dancre](https://unsplash.com/@romaindancre?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/person-in-orange-long-sleeve-shirt-writing-on-white-paper-doplSDELX7E?utm_source=leonardo_rails_app&utm_medium=referral) ## What a Client Onboarding Spreadsheet Actually Needs If you are going to run onboarding from a grid, run it properly. Most client onboarding checklist templates you can download are a task list and nothing more. A tracker that earns its keep has five distinct layers. 1 ### Stages, Not Just Tasks Group your 40 tasks into 5 or 6 named stages: Sales Handoff, Data Collection, Systems Setup, Configuration, Training, Go-Live. A client is always in exactly one stage. When someone asks "where is Hartwell Insurance in onboarding?", the answer should be one word, never a scroll through checkboxes. 2 ### An Owner on Every Single Row Every task gets a name and a due date, including tasks the client owns. "Waiting on client" is where onboardings go to die, so give client-owned tasks their own status and their own follow-up date. If a row can sit for five days with nobody accountable, it will. 3 ### A Status the Client Can See The single highest-leverage addition to any new client onboarding process template. When clients can see "Stage 3 of 6, two items waiting on you," the check-in emails stop and the missing documents show up faster. A spreadsheet cannot safely do this, which matters later in this analysis. 4 ### Document Collection With Versions Track each required document as its own item: requested date, received date, verified date, and where the file actually lives. The gap between "received" and "verified" is where the expired insurance certificate and the unsigned page four hide. A checkbox that says "Docs? ✓" tracks nothing. 5 ### Nudges That Fire Without a Human Every stalled onboarding I have audited stalled at a handoff. The client sat on a form for six days and nobody noticed until Friday's review meeting. A real client onboarding workflow sends the day-three reminder automatically, at 9am, every time, whether or not your coordinator is on vacation. Build all five layers and you will have the best client onboarding tracker in your industry. You will also have discovered the ceiling, because layers three and five cannot live inside Excel. You can conditional-format a cell red. You cannot make a red cell send an email. ## The Four Places the Spreadsheet Drops Your Clients These failures rarely show up as a complaint. They show up as a client who is slightly colder on the go-live call than they were on the sales call. ### The Sales Handoff Gap Sales closes on Thursday. The tracker row gets created the following Tuesday, after the weekly pipeline meeting. Five days of silence, at the exact moment the client's enthusiasm peaks. Everything the client told sales about their setup lives in a call recording nobody rewatches, so onboarding opens with questions the client already answered. ### The Client Repeats Themselves One financial services firm I advised asked a new client for their EIN three separate times: once on the intake PDF, once in the account manager's email, once on the compliance form. Each department kept its own copy of the truth. The client's operations lead finally replied, "This is the third time I've sent this. Do you keep anything?" That sentence should terrify you. ### Status Lives in One Person's Head The spreadsheet says "In progress." Your coordinator knows it actually means "waiting on the client's IT contact, who is out until Monday, and then the firewall change needs scheduling." When she takes a week off, onboarding does not slow down. It stops. Your onboarding process has a single point of failure with a first name. ### The Silent Stall Week three. Nothing is technically late because nothing had a hard date. The client thinks you are working. You think you are waiting on them. The spreadsheet thinks nothing, because spreadsheets do not think. Six-week onboardings are almost never six weeks of work. They are two weeks of work and four weeks of undetected waiting. ## A Checklist That Needs a Shepherd Will Always Leak Clients Notice what all four failures share. None of them is a missing column. You could add "Days in current stage" and "Client last contacted" to your tracker this afternoon, and I would encourage it. But someone still has to open the file, read the numbers, and act. The checklist stays passive. Your coordinator stays the engine. There is a category of tool built for exactly this shape of problem: [guided client onboarding software](https://llamapress.ai/guided-client-onboarding-software-that-replaces-your-checklist-spreadsheet). A database holds every client, every stage, every document, in one place, entered once. The workflow drives itself. Day three with no response fires the reminder. Completing "Signed MSA received" unlocks "Schedule kickoff" and assigns it, with a due date, automatically. The client logs into a portal, sees "Stage 3 of 6," and uploads their EIN exactly one time. The structural difference between a grid of cells and a system like this is worth ten minutes of your time. I have written up [the main difference between spreadsheets and database-backed software](https://llamapress.ai/excel-vs-databases-main-difference-between-spreadsheets-and-database-backed-software), and separately, [why the Excel customer database template traps scaling businesses](https://llamapress.ai/the-hidden-trap-of-the-excel-customer-database-template-why-scaling-businesses-need-more-in-2025). Onboarding is the same trap with higher stakes, because the person your errors land on just wrote you a check. The reason firms stay on the spreadsheet is price, or the memory of price. Custom software meant $80,000 and six months, so the coordinator kept shepherding. That math is gone. An AI coding agent can now [turn your onboarding spreadsheet into a web app](https://llamapress.ai/excel-to-app) that keeps your exact stages and your exact document list, because your tracker already is the specification. Forty columns of it. You spent two years writing requirements without noticing. ![New client signing onboarding documents across the table from an account manager](https://images.unsplash.com/photo-1562564055-71e051d33c19?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxjbGllbnQlMjBvbmJvYXJkaW5nJTIwcGFwZXJ3b3JrJTIwb2ZmaWNlfGVufDB8fHx8MTc4Mzg3ODI0MXww&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Gabrielle Henderson](https://unsplash.com/@gabriellefaithhenderson?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/woman-signing-on-white-printer-paper-beside-woman-about-to-touch-the-documents-HJckKnwCXxQ?utm_source=leonardo_rails_app&utm_medium=referral) ## What Actually Changes When the Workflow Drives Itself The MSP with the six-week average got it to 16 days. Not by working faster. Every task took roughly as long as before. The waiting disappeared, because every handoff had an automatic trigger and every stall older than 48 hours surfaced on a dashboard instead of waiting for Friday's meeting. Their coordinator did not lose her job to the software. She stopped being a human cron job and started doing the work the checklist could never capture: the judgment calls, the awkward "your IT guy has ghosted us" phone call, the third client this month with a weird legacy phone system. The 30 minutes a day she spent asking teammates "did you send the welcome email?" went back into onboarding two more clients per month. And when she finally took that vacation, a new client signed on Tuesday, got their portal invite in four minutes, and was in Stage 2 before she landed. Nobody had to open the tracker to find out whose turn it was. Nothing needed a shepherd. ## Your Tracker Is Already the Blueprint Send us the onboarding spreadsheet you are running today. Leonardo, our AI coding agent, converts it into a database-backed onboarding system with your stages, your documents, a client portal, and nudges that fire on their own. [Convert My Onboarding Spreadsheet](https://llamapress.ai/excel-to-app) [Or talk to us about your process first](https://llamapress.ai/contact) ## Client Onboarding Spreadsheet FAQs ### What should a client onboarding spreadsheet include? Five layers: named stages (Sales Handoff through Go-Live), an owner and due date on every task including client-owned ones, a status summary the client could understand at a glance, per-document tracking with requested, received, and verified dates, and a follow-up date on anything waiting on the client. Most downloadable templates only give you the task list. ### How do I automate client onboarding? Move the checklist out of a spreadsheet and into a database-backed workflow where completing one task triggers and assigns the next, reminders fire automatically after a set number of days, and clients enter their information once through a portal. AI coding agents can now build this directly from your existing tracker in days, at a small fraction of traditional custom software cost. ### Why does client onboarding take so long? In most firms the tasks themselves are quick. The delay is undetected waiting between tasks: nobody notices the client sat on a form for six days, or that a handoff between departments never happened. Onboardings scoped at two weeks routinely run six because the tracker cannot flag a stall on its own. ### What is the difference between an onboarding checklist and an onboarding workflow? A checklist records what should happen and depends on a person to read it and act. A workflow enforces what happens next: it assigns tasks, sends reminders, collects documents, and shows the client their status without anyone shepherding it. The checklist is the specification; the workflow is the machine built from it. uched. --> ============================================================================== # Why an AI App Builder Beats Your Spreadsheet Source: https://llamapress.ai/why-an-ai-app-builder-is-the-only-way-to-replace-your-spreadsheet-in-2025 ============================================================================== # Why an AI App Builder Beats Your Spreadsheet > Don't just prompt an app; preserve your logic. Discover why an import-first AI app builder is the strategic choice for replacing fragile spreadsheets in 2025. Source: https://llamapress.ai/why-an-ai-app-builder-is-the-only-way-to-replace-your-spreadsheet-in-2025 | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Don't just prompt an app; preserve your logic. Discover why an import-first AI app builder is the strategic choice for replacing fragile spreadsheets in 2025. [Back to all articles](https://llamapress.ai/blog) ## The "Sunday Night Spreadsheet" Anxiety It’s 9:00 PM on a Sunday. You open the "Master Estimate v12\_FINAL\_FINAL.xlsx" to prepare for Monday's meeting. Your eyes scan across 42 columns of nested IF statements and VLOOKUPs. You know that one accidental keystroke—one "Delete" in the wrong cell—could send the entire operation into a tailspin. This isn't just a file; it's your brain on a screen. But it's fragile. It doesn't scale. And every time you try to "automate" it with a basic \*\*AI app builder\*\*, you find yourself spending more time correcting the AI's guesses than actually building software. The problem isn't the AI. The problem is that most builders expect you to translate your life's work into a chat prompt. The Logic Gap ## Why Prompt Engineering Fails for Complex Sheets Most "AI app builders" operate on a prompt-first basis. You tell a chatbot, "Build me an inventory tracker," and it gives you a generic template. Prompts miss the "Secret Sauce"—the specific margins, lead times, and nuances buried in your formulas. Prompting forces you to be a developer. You have to specify every field, every relation, and every validation rule manually. If the prompt is 5% off, the database schema is 100% wrong. Fixing it requires more prompting, leading to an endless loop of frustration. ![Software logic visualization](https://images.unsplash.com/photo-1551302175-952301267d19?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxhYnN0cmFjdCUyMHNvZnR3YXJlJTIwZGF0YSUyMHZpc3VhbGl6YXRpb258ZW58MHx8fHwxNzc2MjAzMzI4fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by Skye Studios on Unsplash ## Import vs. Prompt: The Strategic Pivot In 2025, the strategic advantage goes to the company that can move their existing, proven logic into a scalable infrastructure without starting from scratch. ### The Prompt-First Trap You spend hours trying to describe "If the material is Cedar and the wastage is 15%, then multiply by the surcharge..." only for the AI to hallucinate a simple addition field. You lose your competitive edge in translation. ### The Import-First Solution LlamaPress reads your spreadsheet. It sees the relationships. It understands the math. It \*\*preserves the logic\*\* you've spent years refining and turns it into a relational database with a professional UI in seconds. ## From Fragile Cells to Robust Apps ### Complex Estimation Transform massive bidding sheets into a mobile-ready app. Sales teams can quote in the field while the backend handles the complex math you've perfected. ### Order Management Stop tracking orders in a list. A database creates a relational history of every interaction, file, and payment status, visible across the entire team. ### Onboarding Replace the static "New Hire" sheet with a workflow app that triggers notifications, tracks document uploads, and keeps everyone on schedule. ## Ready to Graduate from Spreadsheets? The spreadsheet was a great prototype. Now, let LlamaPress AI build the production-ready application your business deserves. [BUILD WITH LLAMAPRESS](https://llamapress.ai/users/sign_up) First Build complete in under 5 minutes ============================================================================== # Why Formula Generators Won't Save Your Spreadsheet Source: https://llamapress.ai/why-formula-generators-wont-save-your-spreadsheet-scaling-to-database-apps ============================================================================== # Why Formula Generators Won't Save Your Spreadsheet > Think an AI formula generator is the answer to your Excel woes? Discover why complex formulas create operational debt and how database apps solve the root cause. Source: https://llamapress.ai/why-formula-generators-wont-save-your-spreadsheet-scaling-to-database-apps | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Think an AI formula generator is the answer to your Excel woes? Discover why complex formulas create operational debt and how database apps solve the root cause. [Back to all articles](https://llamapress.ai/blog) ## The Seduction of the "Quick Fix" The seduction of the formula generator is understandable. You describe a complex piece of business logic, and a bot spits out a perfect nested IF statement or a convoluted VLOOKUP. It feels like magic. "Smarter formulas are not the solution to your spreadsheet woes. They are often the primary fuel for your operational debt." Every time you use an Excel formula bot to solve a structural problem, you are signing a high-interest loan. You are taking logic that should be transparent and burying it inside a single cell that only an AI understands. ![Complex data metaphor](https://images.unsplash.com/photo-1668853907313-3334ad773a39?auto=format&fit=crop&q=80&w=2000) Photo by [Growtika](https://unsplash.com/@growtika?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## The Skyscraper Problem Spreadsheets were designed for solo analysts, not for the multi-user engines of a mid-market enterprise. When 100 people share one workbook, the friction becomes terminal. You cannot build a 50-story building on a foundation made for a garden shed. No matter how much you reinforce the shed's walls with a formula generator, the weight of the enterprise will eventually crush the structure. No real audit trail for logic changes No role-based access to protect formulas No relational integrity across sheets ![Scaling skyscraper metaphor](https://images.unsplash.com/photo-1764521879538-46fe59d8f265?auto=format&fit=crop&q=80&w=2000) Photo by [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=leonardo_rails_app&utm_medium=referral) ## Graduate from Operator to Architect The transition from Spreadsheet Operator to System Architect is the most profitable move a business owner can make. It is about moving your core logic out of fragile cells and into a robust system. ### Institutional Guardrails Replace brittle VLOOKUPs with server-side logic that cannot be "accidentally" deleted by a new hire. ### Immutable Audit Trails Track every change to your business logic. Know who changed what, when, and why—instantly. ### Exponential Scalability A database-backed app handles millions of records without a hiccup. Your system finally matches your ambition. ![Software Architecture](https://images.unsplash.com/photo-1664526937033-fe2c11f1be25?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwxfHxzb2Z0d2FyZSUyMGFyY2hpdGVjdHVyZXxlbnwwfHx8fDE3NzU3NzQ1Mjd8MA&ixlib=rb-4.1.0&q=80&w=1080) ## Stop Patching Your Past. Start Building Your Future. The formula generator era is over. It's time to graduate to a custom database app that grows with you. [Launch Your App with Leonardo](https://llamapress.ai/contact) ![Customer avatar](https://i.pravatar.cc/100?u=1) ![Customer avatar](https://i.pravatar.cc/100?u=2) ![Customer avatar](https://i.pravatar.cc/100?u=3) Join 200+ Operators scaling this month ============================================================================== # Why Your Dashboard Feels Overwhelming, and the Fix Source: https://llamapress.ai/why-your-dashboard-feels-overwhelming-and-how-we-fixed-ours ============================================================================== # Why Your Dashboard Feels Overwhelming, and the Fix > Our support dashboard put forty elements and six colors on one screen. Here is the progressive disclosure method that made it readable in three seconds. Source: https://llamapress.ai/why-your-dashboard-feels-overwhelming-and-how-we-fixed-ours | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Our support dashboard put forty elements and six colors on one screen. Here is the progressive disclosure method that made it readable in three seconds. [Back to all articles](https://llamapress.ai/blog) ## The page nobody could read We built an internal page for handling customer support. It pulled in the whole email thread, whether we had replied, how long someone had been waiting, which server the customer was on, their billing plan, our internal notes, the version numbers, and the tags. Every one of those facts was true and useful. We shipped it. "Way too much information, at the wrong time, for things I don't care about. My eyes are just overwhelmed." That was the verdict from the person who had to use it every morning. When we counted, the page put about forty elements in front of you before you scrolled. It used six colors. Six separate status badges competed for attention, and two of the colors meant two different things each. Purple meant "a reply is drafted" and also "this ticket was reopened." Green meant "we answered" and also "this customer pays us." Nothing on the page was wrong. The page was still unusable. ## The cause: building from the data outward Here is the trap, and it is almost invisible while you are in it. You open the database table, see twenty columns, and ask yourself the wrong question: "where do I put these?" Everything gets shown, because everything is true and you did real work to get it. Then everything gets a colored badge, because each fact felt important during the hour you spent building it. Nobody decides to make a cluttered screen. Clutter is what accumulates when no one is allowed to say no. The cost lands on the reader. With everything shouting at the same volume, the eye has no entry point, so a person has to read the whole page to find any single thing on it. Researchers call the avoidable part of that extraneous cognitive load: mental work your design created, that the actual task never required. The better question is the opposite one. Not "where do these fields go," but "what is the one decision this person is here to make." ## Two questions and a budget The method we adopted comes from a 1996 idea in information visualization that has aged extremely well: overview first, zoom and filter, then details on demand. We turned it into three steps a person can actually run on a Tuesday. ### 1. Write one sentence about the job A person doing a specific thing needs to decide one specific thing. Ours: "Someone triaging support needs to decide who is waiting on me, and what do I say to them." If your sentence needs the words "and also," you have two screens, or one screen with two tabs. ### 2. Name the three second question What must be answerable with no scrolling, no clicking, no reading of paragraphs? Exactly one question per screen. On the ticket page it was "does this need me right now, and what did they say?" Anything that does not answer that question is demoted by default. Most of the work is demoting. ### 3. Cap the glance layer at five things Information lives on four layers. The glance layer is free to the reader, so it is the scarce one. Scanning costs attention. A click costs more. Navigating away costs the most. The cap is the part that actually works, and it is the part most teams skip. To promote a sixth thing onto the glance layer, you have to demote something else. Without a fixed number, every field somebody is proud of drifts back to the top over the following six months, and you rebuild the same mess. A budget forces a trade instead of an addition. Demoting is not hiding. Every lower layer needs a visible door: a chevron, a count, a row that reads "8 earlier messages" and shows the first line of each. Content tucked away with no sign that it exists is the classic way this goes wrong. ## Color is a currency, not decoration Our six colors were the loudest symptom. The fix was to write down what each color is allowed to mean, pick three, and delete the rest. Amber means a human has to act. Nothing else is ever amber. Blue means interactive. Links and buttons only, never a status. Grey is everything else, which is most of the page. That left one question. If our replies are no longer blue and the customer's are no longer amber, how do you tell them apart? The answer turned out to be the useful insight of the whole exercise. Roles are structural. Colors are exceptional. "Ours versus theirs" is not an alert, it is a role, so it should be shown with structure. We indented our replies and gave them a thin left rule, the way a chat transcript does. It reads instantly, costs no color, and freed amber to mean the only thing that needed a color: somebody is waiting on you. ## What actually changed | | Before | After | | --- | --- | --- | | Elements at a glance | ~40 | 5 | | Status badges | 6 | 1 | | Colors | 6 | 3 | | Messages expanded | all 10 | 2 | | Internal notes | same screen | own tab | The internal notes moving to a tab is the change worth copying. Our diagnosis of the problem and the customer's own words are two different jobs. They were sitting at the same size, on the same screen, competing. Splitting them cost one line of controller code and made both easier to read. We also added a rule to the review process. Anyone shipping a screen has to name what they removed or demoted. If that list is empty, the screen was not designed. It was accumulated. ## This gets more important when AI writes the code, not less Ask any AI coding tool to build a page for a table with twenty columns and you will reliably get a page with twenty columns on it. The model has no idea which three of them your warehouse manager checks every morning, and it will not ask. It optimizes for completeness, because completeness is what it can see. That is worth being clear about, because we build software with AI for a living. Moving a business off spreadsheets and into a real database application is the easy half now. The half that decides whether anyone actually uses the thing is whether a person can open a screen and know what to do in three seconds. So we stopped treating design as taste and wrote it down as a process, with a number in it. The team gets the same method whether a human or an agent is doing the building. The published version of that method is linked below, with the Rails and Tailwind code for the tabs, the collapsed rows, and the single status badge. ## Get the software, and the screens people can read We turn spreadsheets into database applications your team will actually open. If you are staring at a workbook that four people edit and nobody trusts, that is the conversation we have every week. [Turn your spreadsheet into an app](https://llamapress.ai/excel-to-app) Keep reading [The full method, with code ### The layer map, the tab pattern, the collapsed rows, and the color budget Rails and Tailwind you can copy straight into your own app. Read article](https://llamapress.ai/cookbook/progressive-disclosure-detail-page) [Why formula generators won't save your spreadsheet ### The same accumulation problem, one layer down in the data Why formulas can't keep up once your workbook becomes the system of record. Read article](https://llamapress.ai/why-formula-generators-wont-save-your-spreadsheet-scaling-to-database-apps) [Beyond the CRM Excel template ### What breaks when a shared workbook becomes the system of record The moment a file people share quietly becomes the thing everyone trusts. Read article](https://llamapress.ai/crm-excel-template-scaling-bottleneck) ============================================================================== # Workflow Automation Software, or Build Your Own Source: https://llamapress.ai/workflow-automation-software-and-when-to-build-the-workflow-instead ============================================================================== # Workflow Automation Software, or Build Your Own > Zapier fixed one handoff. Now ten automations orbit one spreadsheet and nobody trusts the process. When to stop patching and build the workflow as an app. Source: https://llamapress.ai/workflow-automation-software-and-when-to-build-the-workflow-instead | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Zapier fixed one handoff. Now ten automations orbit one spreadsheet and nobody trusts the process. When to stop patching and build the workflow as an app. [Back to all articles](https://llamapress.ai/blog) ![Kody Kendall](https://llamapress-ai-image-uploads.s3.us-west-2.amazonaws.com/jujc1ep8nuqrdiftdfer1ngp833u) Written by Kody Kendall AI & Software Engineer | Creator of the Leonardo Coding Agent Workflow automation software moves work between people and systems without manual handoffs. The label covers three different products. Trigger-action tools such as Zapier connect two apps when an event fires. Workflow automation platforms run multi-step processes with forms, rules, and approvals. RPA tools drive old software by simulating human clicks. All three patch the process you already have. There is a fourth option most buyers never price. You can build the workflow itself as one small app. Past about ten automations around one spreadsheet, building is usually the cheaper path. I build AI coding agents for a living. I also read the automation stacks that companies bring to us. The same shape appears again and again. A spreadsheet sits in the middle. Automation tools orbit that spreadsheet and copy data in and out of it. Each automation made sense on the day someone added it. Together they form a machine nobody fully understands. This guide maps the real categories, explains what AI changes, and shows where the build option wins. ## The Three Categories of Automation Software Vendors use one label for three different products. Sort any tool you evaluate into one of the buckets below. The bucket predicts the price, the setup effort, and the ceiling. ### Trigger-action tools Zapier, Make, and IFTTT are trigger-action tools. Each automation watches one app for an event. The event fires an action in a second app. A new form entry creates a row in a sheet. A new invoice posts a Slack message. Setup takes minutes and needs no code. Paid plans run from about $20 to a few hundred dollars a month as of this writing. Price scales with how many tasks you run. These are the best workflow automation tools for simple handoffs between two systems. They are honest products and I recommend them for that job. Their limit is memory. A trigger-action tool moves a message and then forgets it. Nothing tracks where each order or client stands. The state of your process still lives somewhere else, usually in the spreadsheet. ### Workflow automation platforms A workflow automation platform runs a whole process, step by step. Think of tools in the Process Street, Pipefy, or Kissflow class. You define stages, forms, assignees, and approval rules. The platform tracks each item through the stages. Vendors also sell this category as business process automation software. Enterprise sellers prefer the phrase business process automation solutions. The label changes with the deal size. The idea underneath is the same. Business process automation tools fit processes that match their templates. Purchase approvals, leave requests, and document sign-offs work well. The ceiling is fit. Your process must bend to the platform's stages, forms, and field types. Real operations carry exceptions the template never imagined. Every exception becomes a workaround, a side spreadsheet, or a rule nobody documents. You also rent the platform forever, usually per user per month. ### RPA: robots for software without an API RPA (robotic process automation) scripts a bot to use software like a person. The bot opens screens, types into fields, and clicks buttons. UiPath and Automation Anywhere lead this class. RPA exists for one situation: a system you must use but cannot integrate with. Old ERP screens and government portals are the classic cases. RPA is powerful there and fragile everywhere else. A moved button can break the bot. Most companies under 200 people never need this category. ![Operations team working at desks in an open office, the kind of team that runs its process on spreadsheets and automation tools](https://images.unsplash.com/photo-1560264280-88b68371db39?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4NTU2MDF8MHwxfHNlYXJjaHwyfHxidXNpbmVzcyUyMHByb2Nlc3MlMjB3b3JrZmxvdyUyMGF1dG9tYXRpb24lMjBvZmZpY2V8ZW58MHx8fHwxNzg3ODk1NzI2fDA&ixlib=rb-4.1.0&q=80&w=1080) Photo by [Arlington Research](https://unsplash.com/@arlington_research?utm_source=leonardo_rails_app&utm_medium=referral) on [Unsplash](https://unsplash.com/photos/people-working-at-desks-in-open-office-kN_kViDchA0?utm_source=leonardo_rails_app&utm_medium=referral) ## AI Workflow Automation, Without the Hype AI workflow automation means adding a language model as a step inside an automation. The model reads messy input and produces structured output. That is the whole trick. It is a genuinely useful trick. An email arrives and the model extracts the customer, the order number, and the request type. A call transcript comes in and the model drafts the follow-up task list. Before AI, a person did that reading. Rules and keyword filters could not. Two honest cautions. First, a model is sometimes wrong. Any AI step that commits money or sends words to a customer needs a human approval step. Second, AI does not fix a broken process. If your automations already fight each other, an AI step adds a smarter worker to a confused assembly line. Add AI to a process you trust. I wrote more about the difference between chat widgets and real AI workflows in [how to add AI to your website](https://llamapress.ai/how-to-add-ai-to-your-website-from-chat-widgets-to-real-workflows). ## The Duct-Tape Ceiling: When Automations Orbit a Spreadsheet Here is the pattern I see most in companies of 10 to 200 people. The core process lives in a spreadsheet. Orders, jobs, or clients each get a row. Around that spreadsheet, automation software accumulates. One zap adds rows from a form. Another sends a reminder when a date passes. Another copies rows to a second sheet for the field team. A fourth posts status changes to Slack. Each patch was faster than fixing the process. That was true every single time. Count your automations around one spreadsheet. At ten or more, you have built an application by accident. It is the worst kind of application. Its logic is scattered across two vendors and a formula bar. Only one person knows why zap six exists. When a row gets edited mid-automation, two systems disagree and someone reconciles by hand. You pay subscriptions for the tools plus hidden hours for the reconciling. The process wants to be an app. The duct tape is telling you so. ## The Fourth Option: One App That Is the Workflow The alternative to patching a process is building the process. A custom workflow app holds the steps, the approvals, and the records in one place. Each order or client becomes a database record with a status. The allowed steps are buttons on the screen. An estimate cannot be sent without an approval, because the button will not appear. The reminder logic lives next to the data it reminds about. There is nothing to sync, so nothing falls out of sync. Custom software used to lose this comparison on price. A $50,000 agency quote made ten zaps look rational. AI changed the economics. Our coding agent, Leonardo, builds database-backed workflow apps from a plain-English description. Even better, he builds them from the spreadsheet you already run the process in. Every tab becomes a table. Every color code becomes a status. The build takes days, and you own the code. If your need is closer to shared records than a step-by-step process, read about [the internal app builder that starts from your spreadsheet](https://llamapress.ai/the-internal-app-builder-that-starts-from-your-spreadsheet). Workflow apps and record-keeping apps are cousins, and Leonardo builds both. Building is honestly the wrong choice in some cases. If two apps just need one handoff, use a trigger-action tool. If a template platform matches your process closely, rent it. Build when the process is yours, has exceptions, and sits at the center of the business. ## How to Choose: A Short Decision Path People ask me for the best workflow software as if one winner exists. The best workflow software is the one that matches the shape of your problem. Use this path. One handoff between two apps: a trigger-action tool, done in an afternoon. A standard approval process with no exceptions: a workflow automation platform on a monthly plan. A legacy system with no API: RPA, with a maintenance budget. A process with exceptions, approvals, and a spreadsheet at its center: build the workflow as an app. Price the build option before you assume it is out of reach. The quote is smaller than it was in 2020, by a lot. ### Turn the spreadsheet into the workflow app Upload the spreadsheet your process lives in. Leonardo builds a database-backed app with the steps, approvals, and records inside it. You watch him work, and you own the code. [Start From Your Spreadsheet](https://llamapress.ai/excel-to-app) [See How We Build](https://llamapress.ai/services) Prefer to start with a message? [Contact us](https://llamapress.ai/contact) and tell us what you run today. ## Frequently Asked Questions ### What is workflow automation software? Workflow automation software moves work between people and systems without manual handoffs. The category has three product types. Trigger-action tools connect two apps when an event fires. Workflow automation platforms run multi-step processes with stages and approvals. RPA bots operate old software by simulating clicks. A custom-built workflow app is the fourth route. It holds the steps and the records in one owned system. ### What is the difference between workflow automation and business process automation? In practice, very little. Business process automation software is mostly a sales label for the same platforms. Enterprise vendors say business process automation solutions when the buyer is large. Some analysts use workflow for single processes and business process automation for company-wide programs. When you evaluate a tool, ignore the label. Check whether it tracks state, handles your exceptions, and fits your budget. ### What is AI workflow automation? AI workflow automation adds a language model as a step inside an automated process. The model turns messy input into structured data. It can read an email and extract the order details. It can turn a call transcript into a task list. Keep a human approval on any AI step that spends money or messages a customer. AI improves a working process. It cannot repair a broken one. ### How many Zapier automations are too many? Watch for about ten automations around one spreadsheet or one process. At that point you have built an application by accident, spread across vendors. Symptoms matter more than the count. Nobody remembers why an automation exists. Records disagree between systems. One person reconciles by hand each week. Those symptoms mean the process has outgrown trigger-action tools and wants to be one app. ### What is the best workflow software for a small business? Match the tool to the shape of the problem. For one handoff between two apps, a trigger-action tool like Zapier is the fastest fix. For a standard approval process, a workflow automation platform works on a modest monthly plan. For a process with exceptions and a central spreadsheet, a custom-built workflow app now competes on price. AI-built software has moved custom builds from months to days. ============================================================================== # Your Accounting Spreadsheet Template Kills Growth Source: https://llamapress.ai/why-your-accounting-spreadsheet-template-is-killing-your-growth ============================================================================== # Your Accounting Spreadsheet Template Kills Growth > Accounting spreadsheet templates are a liability for $1M-$50M companies. Learn why mid-market growth requires database-backed financial systems. Source: https://llamapress.ai/why-your-accounting-spreadsheet-template-is-killing-your-growth | Updated: 2026-09-04 --- [LlamaPress Blog](https://llamapress.ai/blog) Accounting spreadsheet templates are a liability for $1M-$50M companies. Learn why mid-market growth requires database-backed financial systems. [Back to all articles](https://llamapress.ai/blog) Every founder starts with a search for an "accounting spreadsheet template". It makes sense. It's flexible, zero-cost, and you already know how to use it. You can build a P&L in an afternoon. For a while, it works. But there is a silent threshold where flexibility becomes fragility. ## The Template Phase: $500k and Below When your revenue is under half a million, a template is your best friend. You are likely the only person touching the data. You know exactly which cells have manual overrides. You know why the June "Misc" column is so high. At this stage, the overhead of a formal ERP system feels like overkill. The spreadsheet is fast. It's reactive. It feels like control. ## The Reality: Silent Data Corruption ![Complexity of data](https://images.unsplash.com/photo-1686061592689-312bbfb5c055?auto=format&fit=crop&q=80&w=2000) Photo by [1981 Digital](https://unsplash.com/@1981digital) on Unsplash Research across thousands of corporate spreadsheets shows a terrifying reality: **88% of spreadsheets contain significant errors**. In a small business, a $5,000 formula error is annoying. In a growth-stage company, it's a strategic disaster. This is "Silent Data Corruption". Your P&L looks green, your charts look professional, but the underlying logic is broken. Manual Work 20h Monthly reconciliation time Error Rate 88% In large financial models ## The Scaling Wall: Why $10M Breaks the Sheet Scaling to $10M revenue brings complexity that a template cannot handle. You now have 5 departments. You have multiple people trying to update the same "Master File". Welcome to versioning chaos. Is "Finance\_V4\_FINAL\_Actual.xlsx" the right one? Or is it the one "Darren\_Edited\_Fixed.xlsx"? Without a database-enforced audit trail, your financial integrity is gone. You cannot scale what you cannot verify. ## The Pivot: From Flat Sheets to Robust Systems ![Professional software solution](https://images.unsplash.com/photo-1648134859182-98df6e93ef58?auto=format&fit=crop&q=80&w=2000) Photo by [Team Nocoloco](https://unsplash.com/@teamnocoloco) on Unsplash The solution isn't to stop using spreadsheet logic. It is to stop using a spreadsheet as your database. A database-backed app gives your logic a professional skeleton. It enforces user permissions. It keeps an immutable record of every change. It lets you generate real-time reports without "refreshing" a pivot table that might crash. It's the difference between a amateur hobbyist and a professional operator. ## The Solution: LlamaPress AI ### Turn Your Fragile Template Into a Scaling Machine At LlamaPress AI, Leonardo specializes in taking those business-critical spreadsheets and converting them into robust, multi-user applications. "We don't just build apps; we institutionalize your financial intelligence." [Convert My Spreadsheet](https://llamapress.ai/excel-to-app) ============================================================================== # Adding Your Own Environment Variables Source: https://llamapress.ai/wiki/adding-environment-variables ============================================================================== # Adding Your Own Environment Variables > Add API keys and other environment variables from Settings, then restart Leo so your app can use them. Source: https://llamapress.ai/wiki/adding-environment-variables | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Give your app API keys and other secret settings — right from the Settings panel. An **environment variable** is a named value your app can read while it runs. It is the standard, safe place to keep **secrets** — things like an API key for Stripe, Google Gemini, OpenAI, or an email service. The secret stays out of your code and out of your pages, but your app can still use it. **The short version:** Settings Environment & Models Your Variables Add Variable. Then type `/restart` in the Leo chat. Done. ## Before you start - You need the value you want to store — for example, the API key from your provider's dashboard. - This feature ships with LlamaPress version **0.7.1** and newer. If you don't see "Your Variables" in Settings, email [support@llamapress.ai](mailto:support@llamapress.ai) and we'll update your instance. ## Step 1 — Add the variable in Settings 1. Open your app in LlamaPress so you can see the Leo chat panel. 2. Click the **Settings** icon ( the cog at the top, next to Leo's name). 3. Click **Environment & Models**. 4. Find the **Your Variables** section. 5. Click **Add Variable**. 6. Type the **key name**. Use all capital letters, no spaces, with an underscore (`_`) between words — for example `GEMINI_API_KEY` or `STRIPE_SECRET_KEY`. 7. Paste the **value**. 8. Click **Save**. **Naming rules:** ALL\_CAPS, no spaces, underscores between words. `GEMINI_API_KEY` works. `gemini api key` does not. ## Step 2 — Restart your app Your app only reads environment variables when it starts. So after you save a new variable, restart the app: 1. Click into the Leo chat box. 2. Type `/` — a command menu appears. 3. Type `restart` and press **Enter**. Leo restarts your application. This takes a moment — your app may be briefly unavailable while it comes back up. When it's back, the new variable is live. ## Step 3 — Use it in your app Now you (or Leo) can read the value anywhere in your Rails app with `ENV["YOUR_KEY_NAME"]`. The easiest way: just tell Leo the variable exists. For example: > "I added a variable called `GEMINI_API_KEY` in Settings. Please use it to connect the app to the Gemini API." Leo will wire it up with `ENV["GEMINI_API_KEY"]` in the right place — without ever writing the secret itself into your code. **Keep secrets secret.** Never paste an API key into the chat, into your code, or onto a page of your app. Put it in Your Variables instead, and refer to it by its key name. If you think a key has leaked, generate a new one in your provider's dashboard and update the value in Settings. ## Updating or removing a variable Go back to **Settings → Environment & Models → Your Variables**. You can change a value or remove a variable there. After any change, run `/restart` again so the app picks it up. ## Troubleshooting - **The app can't see my variable.** Did you restart? New and changed variables only take effect after `/restart`. - **My key name won't save.** Check the naming rules: all capital letters, no spaces, underscores between words. - **I don't see "Your Variables" in Settings.** Your instance may be on an older version. Email [support@llamapress.ai](mailto:support@llamapress.ai) and we'll update it. - **The integration still fails after the restart.** Double-check the value for extra spaces at the start or end, and confirm the key is active in your provider's dashboard. See [Common Errors and Fixes](https://llamapress.ai/wiki/common-errors-and-fixes) for more. Want to see everything else Leo can do? Read [Leo Tools and Features](https://llamapress.ai/wiki/leo-tools-and-features). Curious what happens to your app's code and data over time? See [You Own Your App](https://llamapress.ai/wiki/you-own-your-app). Stuck connecting an API, or not sure which variables your integration needs? Email [support@llamapress.ai](mailto:support@llamapress.ai) and we'll walk through it with you. ============================================================================== # Checkpoints & Version History: Save and Restore Source: https://llamapress.ai/wiki/checkpoints-and-version-history ============================================================================== # Checkpoints & Version History: Save and Restore > Save checkpoints, roll back or discard changes, and push to GitHub — keep your app stable as you build. Source: https://llamapress.ai/wiki/checkpoints-and-version-history | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) # Checkpoints & Version History Save your work, undo a bad change, and keep your app stable as you build. Every change Leo makes to your app lives in a **version history** — a timeline of save points you control. A save point is called a **checkpoint**. Checkpoints are how you keep your app **stable and recoverable**: save one when things are working, and you can always come back to it if a later change goes sideways. Think of a checkpoint like a **save point in a video game**. You can keep playing, but if something breaks, you reload from the last good save instead of starting over. ## Opening the History panel At the top of the Leo chat panel, click the **History icon** ( a clock with an arrow). That opens the **History** panel, where every checkpoint is listed newest-first. **See a red dot on the clock, or an "Unsaved changes" banner?** That just means you've made changes since your last checkpoint. It's your cue to save a new one (below). Click the banner to see exactly which files changed. ## Saving a checkpoint 1. Open the **History** panel (clock icon). 2. Click the purple **plus** button. 3. Type a short **message describing your changes** (e.g. *"Added the invoices page"*) — future-you will thank you. 4. Hit **Save**. Your work is now a labeled point in your history. The golden habit for a stable app **Save a checkpoint whenever your app is in a good, working state** — and *especially before* asking Leo for a big or risky change. If the change doesn't work out, you've got a clean point to roll back to. Small, frequent checkpoints with clear messages beat one giant one. ## Undoing changes — two ways to go back ### 1. Discard unsaved changes (undo everything since your last checkpoint) If Leo made a mess in the current session and you just want to get back to your last saved checkpoint, open the History panel and click **Discard** in the "Unsaved changes" banner. This throws away *all* changes made since your last checkpoint and returns your app to that saved state. ![Click the red Discard button in the History panel to throw away unsaved changes](https://llamapress.ai/assets/llamapress-leo-discard-local-changes-by-pressing-red-discard-button-d08d9e484a4dc1f63dd9d8f7259320f5e89fec13e4b8048df7058d27657d41fe.jpg) **Discard can't be undone.** It permanently removes any work you haven't saved to a checkpoint yet. If there's anything in the current changes you might want, **save a checkpoint first** (you can always roll it back later) — only discard once you're sure. ### 2. Roll back to an earlier checkpoint Want to return to a version from earlier today, or last week? In the History panel, **click any checkpoint** to open its details. You'll see its message, when it was saved, and which files it changed. From there you can: ![Click any checkpoint card in the History panel to see its details](https://llamapress.ai/assets/llamapress-leo-go-back-to-previous-git-checkpoint-commit-by-pressing-a-checkpoint-card-0124616d8337b47d8774af8d1a4815fa0aeef484c9f0be9cbb49f9f888221ee9.png) - **View Full Diff** — see exactly what changed in that checkpoint before you decide. - **Rollback to this commit** — return your whole app to that checkpoint's state. ![Click the Rollback button to confirm returning to a previous checkpoint](https://llamapress.ai/assets/llamapress-leo-click-rollback-to-confirm-checking-out-previous-checkpoint-a2eedab858c18d2d5afe5fd1b85aacbb9ec7e3ad59345589db2771cd920fa3f1.jpeg) Rolling back doesn't erase your history — it moves your app back to a known-good point. Save a fresh checkpoint right after you roll back so your next changes build on a clean base. Tip: click the **expand** button to see the full visual history of your checkpoints. ## Pushing your code to GitHub Checkpoints live with your app by default. To keep your own copy **off-platform** — a backup you control, like Google Drive but for code — push your checkpoints up to **GitHub**: 1. **Connect GitHub first.** In Leo's chat, run `/gh` (sign in), then `/git-config`, then `/gh-copy`. If you see a *"Contact kody@llamapress.ai for your code"* prompt, the GitHub button needs enabling for your account — just email us and we'll switch it on. 2. **Save a checkpoint** (the step above) for anything you haven't saved yet. 3. Click the **Push to remote** (cloud) button to send your saved checkpoints up to GitHub. Connect GitHub Type `/gh` in Leo's chat, then `/git-config`, then `/gh-copy`. ![Type /gh in Leo's chat to authenticate with GitHub](https://llamapress.ai/assets/llamapress-leo-how-to-authenticate-with-github-b95dbbc92effd727b40a8e5d2dcffa109c1dd6cb66c0a02c1ce50af2c0945ad7.png) Open History Click the **History icon** (clock with indicator) at the top of the page. ![Click the History icon at the top of the page](https://llamapress.ai/assets/GitHub-get-code-from-leo-tutorial-click-history-icon-next-to-leos-head-at-top-of-page-0760b4f3b3b1f3cfcdbc1f4d81547649f5035ae6940c618d45ac94e4cd5e8e26.png) Save Checkpoint Click the purple **+** button, type a message, and hit **Save**. ![Click the purple plus button to save a checkpoint](https://llamapress.ai/assets/GitHub-get-code-from-leo-tutorial-click-purple-plus-button-to-commit-changes-9749748be811f3b2a9385b442a293eea51dc332f8d5f01c99183259736c094bf.png) Push to GitHub Click the **upward arrow** button to push your checkpoints to GitHub. ![Click the arrow button to push code to GitHub](https://llamapress.ai/assets/GitHub-get-code-from-leo-tutorial-click-arrow-to-push-leo-code-to-GitHub-05842cc0190c78547eb0ba2dcb2c06c6142fa83cc188ff7357b91ddb68e47055.png) Full walkthrough with screenshots: [Getting Your Source Code](https://llamapress.ai/wiki/getting-your-source-code). ## What about "pulling" my code? "Pulling" can mean a couple of different things — here's how each one works: - **Getting a copy of your code out** (to view or download it) — that's the GitHub or zip route in [Getting Your Source Code](https://llamapress.ai/wiki/getting-your-source-code). - **Pushing updates from a dev app to your live app** — that's the dev → live flow in [Dev → Live: Pushing & Pulling Updates](https://llamapress.ai/wiki/pushing-and-pulling-updates). We help coordinate that step. - **Platform updates** — when a new version of LlamaPress is available, an **Update Now** banner appears in Leo. That updates the underlying platform (not your app's content) and may briefly disconnect you while it restarts. There isn't a one-click "pull my GitHub code back into Leo" button today — your app is the working copy, and GitHub is the copy you keep. If you've edited your code directly on GitHub and want those changes back in your app, email [support@llamapress.ai](mailto:support@llamapress.ai) and we'll help you sync them. ## Checkpoints vs. backups These are two different safety nets — use both: - **Checkpoints** are the *manual save points you create* in the History panel. You decide when to save, roll back, or discard. - **Backups** are the *automatic safety net* — your app and its database are backed up behind the scenes (and when it goes to sleep), so your work is protected even if you forget to checkpoint. See [Sleeping, Waking & Saving Your Work](https://llamapress.ai/wiki/sleeping-waking-and-saving-your-work). Related reading: [Getting Your Source Code](https://llamapress.ai/wiki/getting-your-source-code) · [Saving Your Work](https://llamapress.ai/wiki/sleeping-waking-and-saving-your-work) · [Dev → Live Updates](https://llamapress.ai/wiki/pushing-and-pulling-updates) · [Leo Tools & Features](https://llamapress.ai/wiki/leo-tools-and-features) ============================================================================== # Common Errors & When Leo Needs a LlamaPress Admin Source: https://llamapress.ai/wiki/common-errors-and-fixes ============================================================================== # Common Errors & When Leo Needs a LlamaPress Admin > Decode the scary error messages (502, 409, "Puma restart", "redeploy") and how to get unstuck fast. Source: https://llamapress.ai/wiki/common-errors-and-fixes | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) What the scary messages mean — and the fastest way to get back up. Sometimes Leo runs into something it can't fix on its own and shows a technical message — or your app shows an error page. Most of these are **environment-level issues** (the server or container behind your app), not problems with your actual code. They're quick for our team to resolve. This page helps you recognize them and get unstuck fast. **The 10-second version:** if you see any of the errors below, email [support@llamapress.ai](mailto:support@llamapress.ai) with your app name and a **copy of the exact message** (or a screenshot). These almost always just need a quick **restart or redeploy** on our side, and your code/data is safe. ## Error cheat-sheet ### 502 error, blank white page, or "Puma needs a restart" Your app's web server needs a restart. This often happens right after an app wakes from sleep, or after a big change. Try a **hard refresh** (Ctrl/Cmd + Shift + R) and wait a couple of minutes first — if it persists, email us and we'll restart it. ### "409 Conflict" / "every command returns a 409" / `ERROR CREATE-EXEC ... 409` Leo's file tools (read/edit) still work, but its ability to *run commands* in your container is temporarily blocked. The container needs a reset. This isn't something Leo can fix from inside — email us and we'll restart the container; it's usually back within minutes. ### "My edits won't take effect" / "shared volume doesn't sync" / "needs a redeploy" Some changes — especially to configuration files (for example session/login settings) — only take effect after the app is **redeployed and the server restarted**. If Leo says it made a fix but tells you it "needs a LlamaPress admin to redeploy," that's expected for those files. Let us know what changed and we'll deploy it. ### "Leo needs write access to `public/`" / "allow inline scripts" / "run precompile" Parts of the app environment are intentionally read-only for safety, so Leo can't always move files into certain folders or precompile assets itself. There's usually a cleaner way to achieve the same result — email us the request (paste exactly what Leo asked for) and we'll either open the right access or suggest the better approach. **A note on Leo's diagnoses:** when Leo gets stuck, it sometimes *guesses* at the cause and can be confidently wrong (for example blaming a "permission" or "cache" problem that isn't real). That's okay — just forward us what it said *and* what you were actually trying to do, and we'll find the real cause. The error name and your goal are the two most useful things to include. ## What to send us (so we can fix it on the first try) - **Your app name / URL** (e.g. `leo-yourname`). - **The exact error** — copy Leo's message or screenshot the page. - **What you were doing** when it happened. Reach us at [support@llamapress.ai](mailto:support@llamapress.ai) (or kody@ / darren@llamapress.ai). ## How to hit fewer of these - **An always-on paid plan** avoids most sleep-related 502s and wake errors — your app stays warm 24/7. See [Plans & Pricing](https://llamapress.ai/wiki/plans-and-pricing). - **Save checkpoints** as you go so you can always roll back a change cleanly. See [Saving Your Work](https://llamapress.ai/wiki/sleeping-waking-and-saving-your-work). - If your app freezes during a heavy task (like generating PDFs), that's usually a *resource* issue, not an error — see [Why Is My App Slow or Frozen?](https://llamapress.ai/wiki/app-performance-and-speed) ============================================================================== # Connecting Your Custom Domain Source: https://llamapress.ai/wiki/connecting-your-custom-domain ============================================================================== # Connecting Your Custom Domain > Point your own domain (yourdomain.com, app.yourdomain.com) at your app with one CNAME record. HTTPS is automatic. Source: https://llamapress.ai/wiki/connecting-your-custom-domain | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Put your app on your own domain — like app.yourdomain.com — in a few minutes. HTTPS is set up for you automatically. Your app comes with a built-in web address, but for a real launch you'll want it on **your own domain** — something like `app.yourdomain.com` or `yourdomain.com`. This guide shows you exactly which DNS record to add. It works the same at any provider (Cloudflare, GoDaddy, Namecheap, Google Domains, and so on). **The golden rule: use a CNAME record, not an "A record" pointed at an IP address.** A CNAME points your domain at your app's stable address, which we keep aimed at the right server for you. That means your domain keeps working even if we move your app to new hardware — you set it up once and never touch it again. ## Step 1 — Find your app's address Every app has a permanent address that looks like this: `your-app.leo.llamapress.ai` This is the value you'll point your domain at. If you're not sure what yours is, just email [support@llamapress.ai](mailto:support@llamapress.ai) and we'll send it to you. ## Step 2 — Add a CNAME record at your domain provider In your domain provider's DNS settings, add a **CNAME** record. For an app on a subdomain like `app.yourdomain.com`, it looks like this: | Type | Name / Host | Value / Target | | --- | --- | --- | | CNAME | app | your-app.leo.llamapress.ai | That's it for the record itself. You can repeat the same record for any subdomain you want — for example `docs` for `docs.yourdomain.com`. **Using Cloudflare?** Set each record to **"DNS only"** — click the orange cloud next to the record so it turns **grey**. This lets us set up your HTTPS certificate cleanly. You can switch Cloudflare's proxy back on later once you're live if you'd like its CDN features. ## Using your root domain (yourdomain.com, with no "app." in front) Plain domains (the "root" or "apex", like `yourdomain.com`) have a small DNS quirk: the internet's rules don't allow a normal CNAME directly on the root. You have two easy options: - **Easiest — use a subdomain** like `www.yourdomain.com` or `app.yourdomain.com`, which can use a CNAME with no issues. - **Or use your provider's "CNAME flattening" / "ALIAS" / "ANAME" record** on the root. Cloudflare, AWS Route 53, and many others support this — it lets the root behave like a CNAME. Point it at the same `your-app.leo.llamapress.ai` value. ## Redirects (www → your main domain, and extra domains) Want `www.yourdomain.com` to send people to `yourdomain.com`, or a second domain (like a `.ai` or `.co`) to redirect to your main one? Most providers have a **redirect rule** feature for exactly this (in Cloudflare it's *Rules → Redirect Rules*). Set up a **301 redirect** to your main domain. If you'd rather we handle the redirects for you, just ask. ## Step 3 — Tell us, and we'll connect it Once your DNS records are in, reply to us (or email [support@llamapress.ai](mailto:support@llamapress.ai)) with the list of domains and what each one is for. We'll switch them on for your app, and your site goes live on your domain within a few minutes. **HTTPS / SSL is automatic.** As soon as your domain points to us and we enable it, a secure certificate is issued and renewed for you automatically — there's nothing to buy, upload, or renew. **You do not need any "A" records or "TXT" records** just to connect your domain or get HTTPS. ## Common questions **Why not an A record to an IP address?** An IP address can change if we move your app to a new server. A CNAME always follows your app to the right place, so it won't break. **Will my current LlamaPress address still work?** Yes. Your original address keeps working — connecting a custom domain just adds your own on top, with no downtime during the switch. **Can I use several domains and subdomains?** Yes — add a CNAME for each one (for example `app`, `docs`, `www`) and let us know. **How long until it works?** DNS changes usually take effect within minutes, though they can occasionally take a few hours to spread worldwide. Stuck or want us to set it up with you? Email [support@llamapress.ai](mailto:support@llamapress.ai) and we're happy to help. ============================================================================== # Data Residency, Security & Isolation Source: https://llamapress.ai/wiki/data-residency-security-and-isolation ============================================================================== # Data Residency, Security & Isolation > EU data residency, security controls, isolation/ring-fencing, and source-code rights — the trust questions, answered plainly. Source: https://llamapress.ai/wiki/data-residency-security-and-isolation | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Where your data lives, how it's protected, and how it stays yours. If you're moving real business operations onto a platform, you're right to ask where your data physically lives, who can reach it, and what happens if you ever want to walk away with everything. Here are clear, straight answers. **The short version:** your app runs on European servers, in its own isolated database that no other customer can reach. You can lock down access with IP restrictions, 2FA, audit logging, and role-based permissions — and you can take a full export of your code *and* data with you at any time. ## 1. Where your servers live - **European data residency.** Our infrastructure runs in **Helsinki, Finland** and **Falkenstein, Germany** — your application and its data stay within the EU. - **Dedicated to your app.** Your application runs in its own isolated environment on that infrastructure (see ring-fencing below), not pooled with other customers' data. - **Need a specific region or a dedicated host?** For commercial deployments we can discuss pinning your app to a particular location or running it on dedicated infrastructure — just ask. ## 2. Security controls We can layer several controls on top of your application to match the security posture your organization needs: - **Geographic / IP restrictions.** We can limit access by IP address or geography, so the app is only reachable from the locations and networks you approve. - **Audit logging of user activity.** A record of who did what and when, so you have accountability and a trail to review. - **Two-factor authentication (2FA).** We can require a second factor at sign-in to protect against compromised passwords. - **Role-based access control.** Granular roles and permissions so each user only sees the data and workflows they're authorized for — preventing unauthorized access to sensitive data or operations. These are configured per app to fit your requirements. Tell us your security needs and we'll map the right combination of controls to them. ## 3. Ring-fencing & isolation "Ring-fencing" means your app and its data are walled off from every other customer on the platform. Concretely: - **Your own isolated database.** Your data sits in a database that is **inaccessible to any other LlamaPress user** — it is not shared or co-mingled with anyone else's. - **Fully exportable.** You can pull a complete export of your data at any time, and we run **automated backups** with on-request downloads. (See [Downloading Your App's Data](https://llamapress.ai/wiki/how-to-download-your-apps-data).) - **Your own URL or domain.** Your app can run on its own dedicated URL or custom domain rather than a shared address. (See [Connecting Your Custom Domain](https://llamapress.ai/wiki/connecting-your-custom-domain).) - **Your own dedicated email address.** We can set up a dedicated email address for the application, so notifications and correspondence come from your own identity. ## 4. Source code & your right to leave - **You own your application's code.** The app-specific code built for your business is yours, and we can make it available to you — as a downloadable export or a GitHub repository invite. (See [Getting Your Source Code](https://llamapress.ai/wiki/getting-your-source-code).) - **A standard, portable stack.** Your app is a normal **Ruby on Rails + PostgreSQL** application, so it isn't trapped inside a proprietary black box — it can run independently of LlamaPress. - **Self-hosting under a licensing agreement.** If you ever want to take full control, you can eventually self-host the application under a licensing arrangement, running it on your own infrastructure. We'll help with the handoff. - **No lock-in by design.** Between the full source export and the complete database export, you're never solely dependent on us — your exit path is simple and documented. (See [You Own Your App](https://llamapress.ai/wiki/you-own-your-app).) **The honest framing:** some of these controls (dedicated regions, formal SLAs, advanced access policies) are part of a dedicated or enterprise setup rather than the default plan. We're glad to put the specifics in writing for your deployment — the point is that nothing here locks you in, and your data stays in the EU, isolated, and exportable. Want a dedicated-infrastructure, formal-SLA, or licensing/self-host option mapped out for your organization? Email [support@llamapress.ai](mailto:support@llamapress.ai) and we'll walk through it with you. ============================================================================== # Dev → Live: Pushing & Pulling Updates Source: https://llamapress.ai/wiki/pushing-and-pulling-updates ============================================================================== # Dev → Live: Pushing & Pulling Updates > Build safely in a dev app, push changes to your live app, and connect a custom domain. Source: https://llamapress.ai/wiki/pushing-and-pulling-updates | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Build safely, then ship to your users — without breaking what's live. Once real users depend on your app, you don't want to experiment directly on the version they're using. The answer is a **two-app setup**: a **development site** where you build and test, and a **live site** where your users live. When a change is ready, you push it from dev to live. Prerequisites - You must be **signed in to your GitHub account** and have your GitHub username configured with us. - A **GitHub repository** must already be set up for your app. Not there yet? See [Getting Your Source Code](https://llamapress.ai/wiki/getting-your-source-code) to connect your GitHub account and set up a repository. The two-app (dev + live) setup is included on the **Business** plan. See [Plans & Pricing](https://llamapress.ai/wiki/plans-and-pricing). On other plans you can still keep your own copies via [GitHub](https://llamapress.ai/wiki/getting-your-source-code) — reach out and we'll help you set up the right flow. ## The idea - **Development site** — your safe sandbox. Build features, try ideas, let Leo make big changes. If something breaks here, your users never see it. - **Live site** — the stable version your users are on. It only changes when *you* decide to push an update to it. ## The flow 1. **Build & test in dev.** Make your changes with Leo in the development workspace and confirm everything works. 2. **Save a checkpoint.** In the History panel (clock icon), save your work and push it to GitHub (the cloud button). This is the "source of truth" for the update. See [Saving Your Work](https://llamapress.ai/wiki/sleeping-waking-and-saving-your-work). 3. **Push to live.** Promote the tested changes to your live site so your users get the update. We help coordinate this step — just let us know when a change is ready to go live. **Keep dev and live in sync.** Always make changes in *dev* and flow them toward live — not the other way around. Editing the live app directly can cause the two to drift apart and make the next update messy. If you're unsure where a change should happen, ask us. ## Custom domains Want your live app on your own web address (like `app.yourcompany.com`) instead of a `llamapress.ai` URL? We can point a custom domain at your live site. Email [support@llamapress.ai](mailto:support@llamapress.ai) with the domain you own and we'll walk you through the DNS step. We can also **rename your app's URL** to something tidier (this involves a short migration, so the app may be briefly unavailable while it switches), or set you up on a **dedicated server** as you scale. Related: [You Own Your App](https://llamapress.ai/wiki/you-own-your-app) (export, self-host) and [Getting Your Source Code](https://llamapress.ai/wiki/getting-your-source-code). ============================================================================== # Getting Started with LlamaPress Source: https://llamapress.ai/wiki/getting-started ============================================================================== # Getting Started with LlamaPress > A quick orientation to building your first app with LlamaPress AI: what to expect in the chat, how Leo makes changes, how to preview your pages, and where to go when you get stuck. Source: https://llamapress.ai/wiki/getting-started | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Go from idea to a running app in a few minutes. LlamaPress turns a plain-English description — or even a spreadsheet — into a real, deployable web application. This guide walks you through the first steps. ## 1. Describe what you want to build Start on the homepage and tell Leonardo, our AI coding agent, what you're trying to make. Be specific about the data you track and the actions you take on it. ## 2. Let Leonardo provision your instance Each app runs on its own dedicated Leonardo instance. While it spins up, Leonardo scaffolds the Rails app and starts iterating on your request. ## 3. Iterate in the chat Use the left-hand chat to refine. Ask for new pages, fields, styling changes, or integrations and watch the preview update live. ## Next steps - Connect a custom domain. - Invite teammates to your workspace. - Browse the rest of the wiki for deeper guides. ============================================================================== # Getting Your Source Code Source: https://llamapress.ai/wiki/getting-your-source-code ============================================================================== # Getting Your Source Code > How to get a full copy of your code (GitHub or zip), and why you don't need GitHub to build. Source: https://llamapress.ai/wiki/getting-your-source-code | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Your code is yours. Here's how to get a copy — and why GitHub is optional. A question we get a lot: *"How do I get my code? Do I have to learn GitHub?"* Short answer — your code is 100% yours, there are two easy ways to get a copy, and **you do not need GitHub for everyday building**. **You don't need GitHub to use LlamaPress.** You can build, edit, and run your entire app without ever touching it. GitHub is only how you get a *copy of the code* for yourself — it's optional and you can set it up whenever you're ready. ## Two ways to get your code ### 1. GitHub (recommended) GitHub is like **Google Drive, but for code** — a safe place online to store and share it. It's the standard, easiest way to keep your own copy that stays in sync as you build. 1. **Make a free GitHub account** at [github.com/signup](https://github.com/signup) if you don't have one. 2. **Send us your GitHub username** at [support@llamapress.ai](mailto:support@llamapress.ai). 3. We'll **add you to your app's repository** as an owner. You'll get an email invite from GitHub — accept it, and your code is right there to view and download anytime. #### Authenticate Leo with your GitHub account Before you can push code, you need to **connect Leo to your GitHub account** using these slash commands in Leo's chat interface: 1. **Type `/gh`** in Leo's chat input field. A popup will appear where you can select **GitHub** and sign in to your account. ![Type /gh in Leo's chat](https://llamapress.ai/assets/llamapress-leo-how-to-authenticate-with-github-b95dbbc92effd727b40a8e5d2dcffa109c1dd6cb66c0a02c1ce50af2c0945ad7.png) ![GitHub sign-in modal](https://llamapress.ai/assets/llamapress-leo-connect-to-github-modal-0461336fe6d04fb834081c6066fb08ff9f2e7e55a7ed5ff5a8ba25297e57bdb4.png) 2. **Run `/git-config`** in Leo's chat to configure your Git credentials. 3. **Run `/gh-copy`** in Leo's chat to complete the GitHub authentication. Once that's done, the **History icon** (clock with red indicator) at the top of the page will be enabled. You're now ready to push your code: Step 7 Click the **History icon** (clock with the red indicator) at the top of the page. ![Click the history icon](https://llamapress.ai/assets/GitHub-get-code-from-leo-tutorial-click-history-icon-next-to-leos-head-at-top-of-page-0760b4f3b3b1f3cfcdbc1f4d81547649f5035ae6940c618d45ac94e4cd5e8e26.png) Step 8 Click the purple **+** button to commit your changes. ![Click purple plus to commit](https://llamapress.ai/assets/GitHub-get-code-from-leo-tutorial-click-purple-plus-button-to-commit-changes-9749748be811f3b2a9385b442a293eea51dc332f8d5f01c99183259736c094bf.png) Step 9 Type a **commit message** describing your changes, then hit purple **Save**. ![Type commit message and save](https://llamapress.ai/assets/GitHub-get-code-from-leo-tutorial-type-git-commit-message-into-box-hit-purple-save-c9fdb4efa4c9c682ea4ec448dfaecdab61a145ab97837b18e70793f8296532d9.png) Step 10 Click the **upward arrow** button to push your code to GitHub. ![Push to GitHub](https://llamapress.ai/assets/GitHub-get-code-from-leo-tutorial-click-arrow-to-push-leo-code-to-GitHub-05842cc0190c78547eb0ba2dcb2c06c6142fa83cc188ff7357b91ddb68e47055.png) See the full [History & checkpoints](https://llamapress.ai/wiki/leo-tools-and-features#workspace) guide for more details. ### 2. Download an archive Prefer a one-off copy? Open [My Leos](https://llamapress.ai/user_instances), click the gear icon on your app's card, and use **Prepare download** under **App source code**. You get a compressed archive of your Rails app. Your `.env` file and other secrets are never included. **Source-code export starts on the Pro plan.** On Free and Starter the button is disabled. See [pricing](https://llamapress.ai/pricing), or email [support@llamapress.ai](mailto:support@llamapress.ai) and we'll turn it on for your workspace. Downloading your **database** is different, and it stays available on every plan including free. Your data is yours. See [How to Download Your App's Data](https://llamapress.ai/wiki/how-to-download-your-apps-data). ## Common gotchas **"Contact Kody to connect your GitHub."** The GitHub button on your Leo needs to be enabled for your account first. Just email us and we'll switch it on. ## What you get Your export is **Ruby on Rails** code, with a **PostgreSQL** database. Curious what you can do with it, or whether you can host it yourself? See [You Own Your App: Ownership, Portability, & Self Hosting](https://llamapress.ai/wiki/you-own-your-app). ============================================================================== # How Large Can a Leo App Get? Source: https://llamapress.ai/wiki/how-large-can-your-app-get ============================================================================== # How Large Can a Leo App Get? > How big your app can grow, why Rails + Postgres scale, and the habits that keep a large app stable. Source: https://llamapress.ai/wiki/how-large-can-your-app-get | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) You can keep adding modules, users, and data — and keep it stable — because it's a real Rails + PostgreSQL app. This is one of the most important questions to ask before you invest months building a platform for your organization — so it's worth answering clearly. **Short answer: you can go very large.** Leo isn't building a toy or a locked-in "no-code" gadget. It's writing a real **Ruby on Rails** application backed by a real **PostgreSQL** database — the exact same battle-tested technology stack that runs some of the biggest software companies in the world. You can keep adding modules, features, users, and data, and the system will handle it. ## Why this stack scales Ruby on Rails and PostgreSQL are not new or experimental. They've been refined for nearly two decades and power applications serving **billions of requests**: - **Shopify** — runs millions of stores on Rails and handles enormous traffic spikes (think Black Friday) on the same framework your app uses. - **GitHub** — the home of over 100 million developers and their code, built on Rails. - **Airbnb** — grew from a small Rails app into a global platform. - **Stripe** — processes a huge share of the internet's online payments with Ruby at its core. These companies didn't outgrow the framework — they scaled *on* it. The point is simple: the foundation under your app is the same one trusted by giants. It is designed to grow with you, not to cap you at a certain size. **About your data:** PostgreSQL is one of the most reliable, mature databases in existence. It comfortably stores tens of millions of records, handles complex relationships between your modules, and keeps your data safe and consistent. Storing more data as your organization grows is exactly what it's built for. ## A bigger app means more moving parts There's an honest caveat that applies to *every* serious software system, no matter who or what builds it: as you add more modules and features, the application gets more complex. More parts means more things that interact with each other — and that's where bugs can creep in over time if you build carelessly. The good news is that this is a **solved problem**, and Leo gives you the tools to manage it. Building large software that stays stable isn't about luck — it's about a few good habits. Here are the ones that matter most. ## How to keep a large app stable ### 1. Let Leo write tests as it builds (Test-Driven Development) The single best habit for a growing app is **automated tests** — small programs that check your app still works correctly. Leo can write these for you as it builds each feature. Once they exist, a test will instantly flag if a future change accidentally breaks something that used to work. Use **Test Builder mode** to have Leo focus specifically on creating and expanding your test coverage. ### 2. Use Ticket mode to plan, then Engineer mode to build As your app gets more complex, **Ticket mode** becomes one of your most valuable tools. In Ticket mode, Leo proactively *researches* your existing code and writes out a clear plan — and a testing strategy — *before* writing any code. Then you switch into **Engineer mode** to actually implement the ticket. This "think first, build second" rhythm is exactly how experienced software teams work on large systems, and it dramatically reduces mistakes. You can read more in the [Leo Tools & Features guide](https://llamapress.ai/wiki/leo-tools-and-features#tickets). **Tip:** **Beginner mode** is the friendliest place to start. **Engineer mode** is more powerful but uses more technical language and can feel intimidating. You can switch between modes freely depending on the task — see [how Leo's modes work](https://llamapress.ai/wiki/leo-tools-and-features#agent-modes). ### 3. Run your tests automatically on GitHub Once Leo is writing tests, you can have them run **automatically on GitHub** every time you make a change (via a GitHub Actions `ci.yml` workflow). This is a safety net that catches coding errors, broken pages, and regressions *before* they ever reach your live app. Your team doesn't have to remember to run anything — GitHub does it for you on every update. ### 4. Build on Development, then promote to Production The biggest protection for a real, in-use application is keeping a separate **development** instance and **production** instance. You and Leo do all your building and experimenting on **development** — where it's safe to make mistakes — and only once you're happy with a change do you promote it to **production**, the live app your team uses every day. This means Leo never changes your live app in the middle of the workday, and a half-finished experiment can't take down the system your team depends on. The [Pushing & Pulling Updates guide](https://llamapress.ai/wiki/pushing-and-pulling-updates) walks through the dev → GitHub → production flow step by step. ## Practical limits (and how to lift them) The framework itself won't be your ceiling. The practical things to keep an eye on as you grow are ordinary infrastructure matters, all easily addressed: - **Server resources (RAM/CPU):** a heavier app with more users may eventually want a larger instance. This is a simple upgrade — just email us. - **Database performance:** as tables grow, ask Leo to add **indexes** for the data you search and sort by, which keeps pages fast. See [Why Is My App Slow or Frozen?](https://llamapress.ai/wiki/app-performance-and-speed) These are the normal, well-understood levers every growing application uses — not dead ends. ## You're not doing this alone Part of what you're paying for is **our support**. As your application grows and gets more complex, we're here to help keep it stable, to assist when you hit an issue, and to provide a backstop if Leo makes a mistake along the way. Ruby on Rails is a fantastic fit for exactly the kind of complex business software you're building, and our team is deeply experienced with it. So build with confidence. Keep adding your modules. With tests, tickets, automated GitHub checks, and a dev → production workflow, your platform can grow as large as your vision — and stay stable the whole way. Questions any time: [support@llamapress.ai](mailto:support@llamapress.ai). ============================================================================== # How LlamaPress Works: Apps and Conversations Source: https://llamapress.ai/wiki/how-llamapress-works ============================================================================== # How LlamaPress Works: Apps and Conversations > The big-picture "how it works" — apps, workspaces, conversations, and your dashboard. Read this first. Source: https://llamapress.ai/wiki/how-llamapress-works | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) # How LlamaPress Works The one-page directive: apps, workspaces, conversations, and your dashboard. If you're new to LlamaPress, this is the page to read first. It explains the few simple ideas that make everything else click — and it clears up the most common early confusion: *what is an app, what is a workspace, and what does "start a new conversation" actually do?* ## One app = one workspace Each app you build lives in its own **workspace** (we also call it a **Leo instance**). A workspace is a self-contained little computer in the cloud running *one* application, with its own database and its own web address. **The most important rule:** build **one app per workspace**. Don't try to build a second, different app — or a separate website — inside a workspace that's already building something. Each new request builds *on top of* what's already there, so two unrelated apps in one workspace will run into each other. If you want a second app, you get a second workspace (see below). ## Your dashboard: every app, one click away You never have to ask Leo to "pull up" an app. Open your **dashboard** and every workspace you own is listed there — click one to open it: [**llamapress.ai/user\_instances**](https://llamapress.ai/user_instances) - Each app also has its own **direct link** (for example `leo-yourname.leo.llamapress.ai`) — **bookmark it** so you can jump straight back in. - Click the **pencil icon** next to an app to **rename it** to something memorable, so your apps stay easy to tell apart. ## "Start a new conversation" — what it really does Inside a workspace, the chat with Leo works just like ChatGPT, Gemini, or Claude. Starting a **new conversation** gives Leo a **clean slate** — he no longer has to remember every detail of your earlier chats, so he stays sharp and focused on your new idea. A new conversation is still the **same app and the same workspace** — it does *not* switch to a different app or start your project over. You'll still see your same app in the preview. Think of it as a fresh notepad for the *same* project. **Good habit:** start a new conversation each time you move to a clearly different task — e.g. you just finished styling and now want to add a whole new feature. It keeps each chat tidy and helps Leo do his best work. ## App vs. workspace vs. subscription These three are easy to mix up, so here's the quick version: - **App** — the software you're building. - **Workspace / Leo instance** — where that one app lives and runs. - **Subscription** — tied to *your account*, not to any single app. Upgrading or moving between apps doesn't move your subscription; you stay paid up across your account. ## Want a second app? Great — you just need a second workspace. On paid plans you can have more than one workspace, and if you'd like one set up, just reach out to [support@llamapress.ai](mailto:support@llamapress.ai) and tell us a sentence or two about what each app is for. We'll create it with its own link, and you simply click whichever app's link you want to work on. ## Two web addresses (good to know) Each app actually has two URLs, and it's normal to see both: - **The builder** (e.g. `leo-yourname.leo.llamapress.ai`) — where you chat with Leo and build. - **The live app** (e.g. `rails-leo-yourname.leo.llamapress.ai`) — the running application itself, the version your end-users would visit. Next: learn why free apps go to sleep and how to keep your work safe in [Sleeping, Waking & Saving Your Work](https://llamapress.ai/wiki/sleeping-waking-and-saving-your-work), or take the full tour in the [Leo Tools & Features](https://llamapress.ai/wiki/leo-tools-and-features) guide. ============================================================================== # How to Download Your App Source: https://llamapress.ai/wiki/how-to-download-your-apps-data ============================================================================== # How to Download Your App > Download a backup copy of your app's database from your instance Settings page. Source: https://llamapress.ai/wiki/how-to-download-your-apps-data | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) # How to Download Your App's Data Grab a backup copy of your app's database in two clicks — it's yours. Your app's data is **100% yours**, and you can download a copy of it anytime. This guide shows you how to export your app's **database** — the place where all your app's content lives (users, records, posts, leads, settings, and everything else your app stores). **Good news:** we back up your app automatically. This page just lets you download a copy of the most recent backup for yourself — nothing to set up. ## Download your database 1. Go to **your list of Leos** (your home screen at [My Leos](https://llamapress.ai/user_instances)). 2. Find the app you want, and click the **gear / settings icon** () on its card. ![Screenshot showing the gear icon on a Leo app card](https://llamapress.ai/assets/Your-Leo-App-Settings-In-LlamaPress-0a89e8a61be34d0999de21c0f3644d4bdd772b566dcd2c9764f53a83f06509fd.jpeg) 1. On the **Instance Settings** page, look for the **Backups & Exports** section. 2. Click **Download database backup**. Your browser will download the latest backup file. ![Screenshot showing the Download database backup button on the Instance Settings page](https://llamapress.ai/assets/Download-Your-Leo-App-Database-in-LlamaPress-9368a5562a0aac10935edc4784b7905483b4407c2d215be09543ca7beca02e4d.jpeg) The page also shows you **when the last backup was made** (for example, "Last backup: Today at 10:42 AM"), so you always know how fresh your copy is. ## What you get The download is a **PostgreSQL database dump** — a compressed `.sql.gz` file. It's a complete, standard snapshot of your app's database that you (or any developer) can restore or inspect. This is the same format the rest of the software world uses, so it's fully portable. ## Good to know **Only workspace owners can download backups.** The download is tied to your account and your app — you can only ever download your own app's data. **Your data download works on every plan, including free.** Your data is yours. Downloading your *source code* is a separate, paid feature — see [Getting Your Source Code](https://llamapress.ai/wiki/getting-your-source-code). **It's the latest automatic backup.** If you just made a big change and want it included, give it a little time for the next backup to run, then download. **No backup yet?** Brand-new apps may not have a backup for a little while. If the button isn't available yet, check back after your Leo has been running. ## Looking for your code, not your data? This page downloads your **data** (the database). If you want a copy of your app's **source code** instead, see [Getting Your Source Code](https://llamapress.ai/wiki/getting-your-source-code). And to learn more about what it means to fully own and even self-host your app, see [You Own Your App: Ownership, Portability & Self-Hosting](https://llamapress.ai/wiki/you-own-your-app). Stuck or don't see the option? Email us at [support@llamapress.ai](mailto:support@llamapress.ai) and we'll send your export directly. ============================================================================== # How to Present LlamaPress Internally Source: https://llamapress.ai/wiki/presenting-llamapress-internally ============================================================================== # How to Present LlamaPress Internally > Introducing your LlamaPress prototype to your team or company — responsibly, without triggering an AI/shadow-IT reaction. Framing, a meeting script, a pre-meeting checklist, and a paste-ready one-slide intro. Source: https://llamapress.ai/wiki/presenting-llamapress-internally | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Sharing a LlamaPress prototype with your team or company — responsibly. You built something useful in LlamaPress, and now you want to show it to your team or company. That's exciting — but *how* you introduce it matters as much as what you built. Many organizations have policies around AI tools, data handling, vendor approval, and software procurement. Introduced the wrong way, a great prototype can trigger concern before anyone sees the value; introduced the right way, it earns a real review. **The short version:** lead with the *business problem*, not with "AI." Show the workflow improvement as a *prototype*, make it clear you're **not** bypassing IT or security, and invite the proper vendor/security review as the next step. That framing alone changes the room. This guide is not legal, procurement, or compliance advice. It's here to help you present a LlamaPress prototype clearly and responsibly. Always follow your organization's internal policies before using any third-party software with company data. ## 1. Lead with the business problem, not the AI Start with the workflow you're improving. The technology is a footnote until people understand the value. **Good ways to open:** - "We currently manage this process through spreadsheets and manual updates." - "This centralizes the workflow into one web app and cuts down on duplicate data entry." - "This is a prototype to show what a dedicated internal tool could look like." **Avoid opening with:** - "I built this with AI." / "This is an AI tool." - "An AI chatbot made this app." - "We can use AI to build all our internal systems." Those may be technically true, but they invite worry about unauthorized AI usage and shadow IT before anyone has seen the business case. ## 2. Use the safest one-sentence description "LlamaPress helps teams turn spreadsheets and internal workflows into custom web applications. The output is a standard hosted web app with its own database, access controls, backups, and exportable code and data." If someone asks where AI fits in: "LlamaPress uses AI-assisted development to help build and iterate on the application faster. For official company use, we should clarify exactly where AI is involved, what data is handled, and route it through the normal IT, security, and vendor review process." ## 3. Make it clear you're not bypassing IT or policy Say this early — it lowers defensiveness and shows you're being responsible: > "I'm not proposing that we bypass IT, security, procurement, or any internal AI policy. I wanted to show the workflow improvement first, and if there's interest, the next step should be a proper review." ## 4. Separate the prototype from official adoption A prototype is not an approved production system. Keep the two distinct. - **Say:** "This is a prototype / proof of concept." • "It's not yet an approved company-wide system." • "Before official use, we'd need the right internal review." - **Avoid:** "We should all start using this." • "I already moved the team onto it." • "This replaces our current process immediately." • "Everyone can just sign up." ## 5. Invite security and IT in — don't argue with them If someone raises a security concern, acknowledge it and point to the correct next step instead of defending: > "That's a valid concern. I'm not asking us to approve this casually. If the workflow looks valuable, the next step should be a focused review with IT and security so we can evaluate hosting, data handling, access controls, AI involvement, and vendor requirements." ## 6. Be ready for the basic security questions Know these answers, or be ready to say "we should confirm that with LlamaPress." Most are covered in our [Data Residency, Security & Isolation](https://llamapress.ai/wiki/data-residency-security-and-isolation) article. - Where is the application hosted? - What data is stored in the application? - Is company data sent to any third-party AI model provider? - Who has access, and can it be limited by role, IP address, or two-factor authentication? - Is the application's database isolated from other customers? - Can the company export its data and its source code? - Is dedicated or self-hosting available for commercial deployments? - What would the official vendor/security review process look like? ## 7. A meeting structure that works Run the conversation in this order — and don't start with AI, models, agents, or automation: 1. The business problem 2. The current manual / spreadsheet process 3. The prototype workflow (a quick demo) 4. The business value 5. The security / vendor review path 6. Questions ## 8. A suggested opening script > "Thanks everyone. I wanted to show a prototype I built to improve one of our internal workflows. Right now this process is handled through spreadsheets and manual steps, and I wanted to explore what it could look like as a dedicated web application. > > This is not a request to bypass IT, security, procurement, or company policy. I'm showing the workflow value first. If people think it's worth exploring, the next step should be a proper vendor/security review. > > The platform I used is called LlamaPress. It helps turn spreadsheets and internal workflows into custom web applications. The output is a standard hosted web app with its own database, access controls, backups, and exportable code and data. It uses AI-assisted development to speed up app creation, so if we want to move forward, we should review exactly where AI is involved and what data is handled." ## 9. If someone says "we're not allowed to use AI tools" **Recommended response:** > "That makes sense, and I don't want to violate that policy. I think the right question is whether this should be evaluated as an internal web application and vendor, and whether the AI-assisted development process fits within company policy. If not, we should pause until IT and security can review it." **Do not respond with:** "But it's safe." • "Everyone is using AI." • "This is different." • "It already works." • "We don't need to involve IT." These cost you credibility. ## 10. The do / don't card | Situation | Better language | | --- | --- | | Introducing it | "I prototyped an internal workflow app." | | Explaining LlamaPress | "It turns spreadsheets and workflows into custom web apps." | | Discussing AI | "AI-assisted development is used to speed up iteration." | | Discussing adoption | "This should go through normal IT/security review." | | Handling objections | "That's valid. Let's clarify the data and security model." | | Avoid saying | Why | | --- | --- | | "I built an AI tool." | Triggers unauthorized-AI concerns | | "The AI has our data." | Sounds like leakage, even if inaccurate | | "Everyone should use this." | Sounds like a shadow-IT rollout | | "It's already approved because I made it." | Poor enterprise politics | | "Security won't be an issue." | Naive, and damages credibility | ## 11. Pre-meeting checklist Before presenting broadly, make sure you can answer: - What business problem does this solve, and what workflow/spreadsheet does it replace? - What data is inside the app — and does any of it include sensitive customer, employee, or financial information? - Who will be in the meeting — ops, IT, security, legal, management? - Is the company known to have an AI policy? - Are you asking for feedback, approval, or full adoption? - What specific next step do you want after the meeting? ## 12. What success looks like The goal of the first meeting is usually *not* full approval. A great outcome is: people understand the problem, they see the prototype's value, no one feels surprised or bypassed, security concerns are acknowledged, and everyone agrees on the next review step. The best outcome is not "everyone starts using it immediately." It's: **"This looks useful — let's review it properly."** ## A one-slide intro you can paste into a deck What is LlamaPress? LlamaPress helps teams turn spreadsheets and internal workflows into custom web applications. The result is a standard hosted web app with its own database, user access controls, backups, and exportable code and data. LlamaPress uses AI-assisted development to speed up application creation and iteration. For official company use, it should be evaluated through the organization's normal IT, security, procurement, and vendor review process. This prototype is intended to demonstrate workflow value. It is not a request to bypass internal policy or to deploy company-wide without review. Related reading for the review conversation: [Data Residency, Security & Isolation](https://llamapress.ai/wiki/data-residency-security-and-isolation), [You Own Your App](https://llamapress.ai/wiki/you-own-your-app), [Getting Your Source Code](https://llamapress.ai/wiki/getting-your-source-code), and [Downloading Your App's Data](https://llamapress.ai/wiki/how-to-download-your-apps-data). Want us to join a vendor/security review, or to map out a dedicated-hosting or self-host option for your organization? Email [support@llamapress.ai](mailto:support@llamapress.ai) and we'll walk through it with you. ============================================================================== # Leo Tools & Features Guide Source: https://llamapress.ai/wiki/leo-tools-and-features ============================================================================== # Leo Tools & Features Guide > A tour of every button and tool in the Leo interface — what each one does and when to reach for it. Source: https://llamapress.ai/wiki/leo-tools-and-features | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) # Leo Tools & Features A tour of every button in the Leo interface — what each one does and when to use it. Leo is your AI coding agent, and the chat interface gives you a row of tools for steering it — controlling how carefully it works, showing it what you mean, attaching files, switching modes, and saving your progress. This guide walks through each one. Most of these live in the **chat box at the bottom-left** of your screen. A few — version history, settings, and tickets — live in the toolbars around the edges. Use the quick links below to jump to any section. [Section 1 How Leo Edits](https://llamapress.ai/wiki/leo-tools-and-features#agent-modes) [Section 2 The Chat Toolbar](https://llamapress.ai/wiki/leo-tools-and-features#chat-toolbar) [Section 3 Workspace & Settings](https://llamapress.ai/wiki/leo-tools-and-features#workspace) 1 ## How Leo Edits: Auto vs. Plan vs. Ask This setting controls how much freedom Leo has to make changes. It lives next to the send button, shows **"Auto"** by default, and lets you dial Leo's autonomy up or down depending on how careful you want it to be. ![The Auto / Plan / Ask mode toggle in the chat box](https://llamapress.ai/assets/leo-tools-auto-plan-ask-toggle-723c8d7b8c5517f7e83ae2e240fc2c4b164981de5ade8db117e680598bb0b878.png) The Auto / Plan / Ask mode toggle in the chat box. ### Edit Automatically Default · Fastest Leo makes the changes it thinks are best and applies them right away, without stopping to plan or ask. This is the standard way to work and keeps you moving quickly. ### Plan Mode Slower · More thoughtful Leo asks clarifying questions, researches your codebase more deeply, and writes out a plan *before* building it for you. It takes a bit longer, but Leo is more careful and **less likely to make mistakes**. Reach for this on anything complex or risky. ### Ask Before Edits Slowest · Most control Leo pauses and asks you to confirm **every** change before applying it. The most hands-on option — significantly slower, but nothing happens without your approval. **Rule of thumb:** stay on **Edit Automatically** for everyday work, switch to **Plan Mode** when a change is big or you want extra care, and use **Ask Before Edits** when you want to approve each step yourself. 2 ## The Chat Toolbar Next to the message box you'll always see three buttons — the **paperclip** (attach), the **mouse pointer** (element selector), and the **plus** ("More Tools"). The plus button expands the rest of the toolbar, revealing the **mode selector**, the **model** picker, and the screenshot, screen-record, prompt-library, and capture-logs tools. Together they let you give Leo more context and change how it works. ![The full chat toolbar with every button labeled](https://llamapress.ai/assets/leo-tools-chat-toolbar-labeled-19a07a7d584fdfd97a7bd639e553e32f8fc38d161c291d5438a06027927d9375.png) The full chat toolbar with every button labeled. ### Attach File (paperclip) The paperclip opens three options for getting files into your project: - **Attach for AI** — a file that *Leo can see and read*. Use this to give Leo reference material, a document, or data to work from in the conversation. - **Upload to Assets** — adds a file to your app's *backend assets*. Use this for images on your site, Excel files, profile pictures, header images, and anything your app itself needs to serve. - **Browse Uploads** — view and manage everything you've already uploaded. Supported file types: PDF, images (PNG, JPG, GIF, WebP), spreadsheets (XLSX, XLS, CSV), and short videos (MP4, WebM). You can also drag-and-drop files straight onto the chat. ### Element Selector (mouse pointer) Click the selector, then click any element in your app — a button, a heading, a table, anything. This points Leo straight at what you're talking about, so you don't have to describe where it is. Great for "make *this* bigger" or "change *this* color." ### Modes (dropdown inside More Tools) Once you've opened **More Tools** (the plus button), a **mode** dropdown appears. Modes change what Leo focuses on. Everyone starts in **Beginner** mode; switch when your task calls for it. ![The mode dropdown, opened from More Tools](https://llamapress.ai/assets/leo-tools-mode-dropdown-5734afbfae78d9a8a198377f54b8f6abf7793f0719ce217f75999aa25e428f47.png) The mode dropdown, opened from More Tools. #### Beginner Mode The starting mode for everyone. Less technical detail, fewer messages — a clean, approachable way to build. #### Engineer Mode Similar to Beginner, but tuned for when Leo is actively building and making changes throughout your session. #### Ticket Mode Research-only. You describe a task the way you would in Engineer mode, and instead of building, Leo studies your codebase in detail and writes up a **ticket** — laying out the current behavior, the desired behavior, and any questions it has. View tickets from the [Tickets window](https://llamapress.ai/wiki/leo-tools-and-features#tickets) at the top of the screen. Think of it as planning taken one level further. #### Database Mode For changes to your **database** only. It avoids touching core working functionality like your app's functions and logic. It's also a handy **safe mode for asking questions**: if you want to understand how something works without Leo randomly making changes, ask in Database mode and it'll stick to explaining rather than editing your app. #### AI Builder Mode Helps you add **AI features** into your own app — for example, adding chat or other AI-powered features for your end users. #### Test Builder Mode Focuses Leo on writing **automated tests** for your app, so you can catch regressions as you keep building. #### PyXL (Excel → Rails) For turning a **spreadsheet into a working app**. The best way to get Leo to understand your Excel file and convert it into real, working code. **Typical Ticket workflow:** create a ticket in Ticket mode, open it from the [Tickets](https://llamapress.ai/wiki/leo-tools-and-features#tickets) window, then copy its contents into a **new chat in Engineer mode** to have Leo carry it out. ### Model Selector Choose which AI model powers Leo. The dropdown lists models across providers — for example Gemini, Claude, GPT, and DeepSeek variants — though only the ones enabled for your account are selectable. Some options appear **grayed out** — those require you to **bring your own API keys**. If you'd like to use one of them, let us know and share your API keys and we'll enable it for you. **Heads up:** not every model can *see* images and videos. Some — such as **DeepSeek V4 Flash** — are text-only and will ignore attached screenshots, photos, or screen recordings. If you're sharing an image or video with Leo, switch to a vision-capable model (for example a Gemini or Claude option) first. ### Capture Screenshot Take a screenshot of anything in your browser and hand it to Leo — a quick way to show a visual bug or exactly what you're looking at. ### Record Screen Record a short screen capture to show Leo a flow or a bug that's easier to demonstrate than to describe. ### Prompt Library Handy if you reuse the same prompts regularly. Create and save your own prompts and skills, then quickly select one while writing a message instead of retyping it each time. ### Capture Logs (bug button) The little bug icon captures your app's logs (both the JavaScript console and the Rails server logs) so Leo can see exactly what went wrong when something breaks. It records over a **~10-second window**, then drops the captured logs straight into your message box, ready to send. **How to use it:** click the bug icon *first*, then **reproduce the error** while it's recording (the button shows it's capturing for about 10 seconds). It grabs the logs from that window — so trigger the bug *during* the capture, not before. When it finishes, review the logs it added to your message and send them to Leo. Click the icon again to cancel a capture early. 3 ## Workspace & Settings Beyond the chat box, a few toolbars around the edges of the screen manage your conversations, save your work, and adjust your settings. ### Conversations (hamburger menu, top-left) The hamburger menu opens your conversations. The **plus button** there starts a new chat. **Strong recommendation:** start a new chat every time you switch to a different topic. If you just updated your colors and now want to add a new feature, open a fresh conversation. It keeps each chat focused and helps Leo stay sharp. ### View History (clock icon) This is how you **save your work to your own GitHub**, roll changes back, and return to earlier versions of your app. Saving is two steps: 1. 1 **Save a checkpoint** — click the plus button, describe your changes, and hit **Save**. 2. 2 **Push to remote** — click the cloud button to push your saved checkpoint up to GitHub. **Connect your GitHub first.** Version history needs your GitHub connected. If you see a "Contact Kody at LlamaPress to connect your GitHub" message, reach out and we'll get you set up. ### Settings (gear icon) The settings menu holds a few useful controls: - **User Roles** — add and manage user roles for your app. - **Leonardo.md file** — view the context file that describes your project. It's the background Leo keeps in mind as it works on your app. - **Token Wheel** — turn this on to see how much of the current conversation's context window is in use (it fills toward ~100K tokens). Once enabled, it sits in the **bottom-left corner, just above the chat box**, so you can keep an eye on it as you work. A good rule of thumb: once it climbs **above ~90%**, it's a good time to start a fresh chat. Your conversation also **auto-summarizes** as it grows — so if you see the wheel suddenly **jump down** from a high number to a lower one, that means Leo has summarized your earlier messages to free up room. Either way, when the wheel is consistently full, Leo is running low on space — especially for things discussed early in the conversation — and that's the moment to start a fresh chat. - **Auto-Refresh on Edit** — on by default. Leo refreshes the preview as it makes changes so you see updates live. Turn it off if you'd rather refresh manually and only see your changes when you're ready. ### Tickets A **Tickets** tab sits in the preview pane's tab bar at the top (alongside *Your App*, *Code*, and *Feedback*) and opens your **Kanban board** of tickets. This is where the tickets Leo creates in [Ticket mode](https://llamapress.ai/wiki/leo-tools-and-features#chat-toolbar) show up. Open one, then copy its contents into a new Engineer-mode chat to have Leo build it. Before you hand a ticket back to Leo, **read through it** — it's broken into a few parts, and a quick review now saves rework later: - **Current Behavior** — Leo's understanding of how things work today. Read it and confirm it matches reality. - **Desired Behavior** — what the change should accomplish. Make sure this is actually what you want *before* Leo builds it. - **Questions & assumptions** — Leo will often have questions or note assumptions it made. Watch for these and answer them, since they can change how the work gets done. **Leo can't edit a ticket in place.** If a ticket needs changes, Leo won't update the existing one — it will create a **new ticket** instead. So don't be surprised to see a fresh ticket appear rather than edits to the old one. The *Tickets* and *Code* tabs are geared toward technical work, so they may be hidden depending on your account's role/mode. New to Leo? Start with the [Getting Started](https://llamapress.ai/wiki/getting-started) guide, then come back here as a reference whenever you want to know what a button does. ============================================================================== # Plans, Pricing & Daily Messages Source: https://llamapress.ai/wiki/plans-and-pricing ============================================================================== # Plans, Pricing & Daily Messages > How the plans differ — daily messages, always-on apps, and what "X/3 Leos" means. Source: https://llamapress.ai/wiki/plans-and-pricing | Updated: 2026-09-05 --- [Back to Wiki](https://llamapress.ai/wiki) What changes as you move up a plan — in plain language. This page explains the *differences* between plans in plain terms. For the current prices, always check the live pricing page: [**llamapress.ai/pricing →**](https://llamapress.ai/pricing) ## What actually changes between plans There are really three things that scale as you move up: - **Daily messages to Leo** — how many times per day you can ask Leo to build or change something. Higher plans give you more. - **Always-on apps** — paid plans give you a permanent workspace that never sleeps (see [Sleeping & Waking](https://llamapress.ai/wiki/sleeping-waking-and-saving-your-work)). The free plan's apps go to sleep when idle. - **Source code access & extras** — higher tiers add things like direct source-code access and a separate development + live setup. ## The tiers at a glance ### Free A set number of messages per day. Apps go to sleep when idle (your work is saved). Great for trying things out. ### Starter More daily messages, plus **one always-on workspace** that never sleeps (and a couple of additional workspaces that can sleep). ### Pro A larger daily message allowance, **several always-on workspaces**, and **direct source-code access** for your app. ### Business The highest message allowance, the most always-on workspaces, plus a **development site and a live site** — build and test safely in one, then push changes to the one your users are on. See [Dev → Live](https://llamapress.ai/wiki/pushing-and-pulling-updates). Exact message counts and prices are on the [pricing page](https://llamapress.ai/pricing) and may change — this page describes the shape of the plans, not the specific numbers. You can always start on one plan and change later. ## Good to know - **Messages are counted per app, per day.** If your plan includes three workspaces, each one gets its own daily allowance. See [Use Your Messages Efficiently](https://llamapress.ai/wiki/using-your-messages-efficiently) for how to make them go further — including running Leo on your own ChatGPT plan. - **Unlimited users on every plan.** The plan governs *your* building (messages and workspaces), not how many people can use the app you build. Add as many end-users to your app as you like. - **Your subscription is tied to your account, not to one app.** You don't need to "move" a subscription between apps — you're covered across your account. ## "It says 2/3 Leos remaining" — what's that? That counter is about **how many workspaces (apps) you can have** on your plan, not your daily messages. "2/3 Leos remaining" means you've used 1 of 3 available workspaces. Daily message limits are a separate thing — they reset each day. Not sure which plan fits what you're building? Email [support@llamapress.ai](mailto:support@llamapress.ai) with a sentence about your project and we'll point you to the right one. ============================================================================== # Sharing Your App With Others Source: https://llamapress.ai/wiki/sharing-your-app-with-others ============================================================================== # Sharing Your App With Others > Share the live app-only URL with teammates, clients, or colleagues without the Leo chat interface. Source: https://llamapress.ai/wiki/sharing-your-app-with-others | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Every Leo has a normal app URL you can open and share without the Leo chat interface. The Leo workspace has two parts: the **Leo chat/building interface** and the **actual web app** Leo built for you. When you want a colleague, client, or teammate to use the app, share the app-only URL. **Your app is already live.** The app-only URL starts with `rails-`, for example `https://rails-your-leo-name.leo.llamapress.ai`. ## Open the app-only view from Leo 1. Open your Leo workspace. 2. Click the **App** tab icon to view the app Leo built. 3. Click the small **square open-in-new-window button**. This opens your app in its own browser tab, without the Leo chat panel around it. 4. Copy that browser URL and share it with the people who should use the app. ## The URL format If your Leo URL is: ``` https://your-leo-name.leo.llamapress.ai ``` then the app-only URL is: ``` https://rails-your-leo-name.leo.llamapress.ai ``` ## What people will see People who open the app-only URL see the web app itself. They do not see Leo's chat, code tools, checkpoints, or build controls. This is the right URL to share when someone just needs to use the app. ## About passwords and sign-in Some apps have their own login system because Leo built one into the app. In that case, your colleagues may need an account inside the app. Other apps are public or internal tools with no app-level login. The app-only URL removes the Leo workspace interface; it does not remove any login system your app itself was designed to have. ## Related export guides If you want a copy of what Leo built, these guides cover the two pieces: - [Getting Your Source Code](https://llamapress.ai/wiki/getting-your-source-code) - [How to Download Your App's Data](https://llamapress.ai/wiki/how-to-download-your-apps-data) ============================================================================== # Sleeping, Waking & Saving Your Work Source: https://llamapress.ai/wiki/sleeping-waking-and-saving-your-work ============================================================================== # Sleeping, Waking & Saving Your Work > Why apps sleep, how to wake them, how backups work, and how to never lose your work. Source: https://llamapress.ai/wiki/sleeping-waking-and-saving-your-work | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Why apps sleep, how to wake them, and how to keep your work safe. This page explains a behavior that surprises a lot of new users: on the free plan, your app can **go to sleep**. Don't worry — your work is saved — but it's worth understanding so nothing catches you off guard. ## Why does my app go to sleep? Free apps run on shared resources, so after a period of inactivity an app automatically goes to sleep to free those resources up. You'll usually get an email letting you know. **Your app and your data are not lost** — the workspace is just paused. ## How do I wake it back up? - Click the link in the "went to sleep" email, or open your [dashboard](https://llamapress.ai/user_instances) and click the app. - Give it a **few minutes** — waking a sleeping app takes a moment while it spins back up. - If a page looks blank or errors the first time, wait a bit and **hard-refresh** (Ctrl/Cmd + Shift + R). Occasionally an app shows a brief error right after waking from sleep. It almost always sorts itself out in a few minutes. If it doesn't, email [support@llamapress.ai](mailto:support@llamapress.ai) and we'll get it back up. ## Want an app that never sleeps? A paid plan gives you a **permanent, always-on workspace** that stays online 24/7 and is far less likely to go down. If your app is something you (or your users) rely on, this is the upgrade that matters most. See [Plans & Pricing](https://llamapress.ai/wiki/plans-and-pricing) or visit [llamapress.ai/pricing](https://llamapress.ai/pricing). ## How backups work Every workspace is backed up automatically to secure cloud storage. Backups are taken on a schedule, and also whenever an app is paused. On always-on paid plans we can back up more frequently — daily or more. **The one thing to know:** a restore brings you back to the *most recent backup* — so changes you made since the last backup may not be preserved if an app sleeps or has to be restored. The fix is simple and in your control: **save a checkpoint when you finish a working session** (next section). ## Never lose work: save a checkpoint The surest way to protect your progress is to save your own checkpoints as you go. From the **History** panel (the clock icon at the top of Leo): 1. Click the **+** button, write a short note describing what changed, and hit **Save**. This saves a checkpoint of your app. 2. If your GitHub is connected, click the **cloud** button to push that checkpoint up to GitHub for safekeeping. (See [Getting Your Source Code](https://llamapress.ai/wiki/getting-your-source-code).) Then, if anything ever goes sideways, you can roll back to any saved checkpoint. ## If Leo breaks something It happens occasionally on a complex change. Your options, in order: - **Ask Leo to undo it** — "please revert the last change and put the page back the way it was." - **Roll back to a checkpoint** from the History panel. - **Start a fresh conversation** if the current chat has gotten confused, then describe the goal cleanly. - Still stuck? Email [support@llamapress.ai](mailto:support@llamapress.ai) — we can restore from a backup. (Restores come from the most recent backup, so the sooner you reach out, the less is at stake.) Related: [How LlamaPress Works](https://llamapress.ai/wiki/how-llamapress-works) and the [History & checkpoints](https://llamapress.ai/wiki/leo-tools-and-features#workspace) section of the tools guide. ============================================================================== # Turning Your App Into a Mobile App (PWA) Source: https://llamapress.ai/wiki/mobile-apps-and-pwa ============================================================================== # Turning Your App Into a Mobile App (PWA) > Make your app installable on phones (PWA) — home-screen icon and push notifications. Source: https://llamapress.ai/wiki/mobile-apps-and-pwa | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) # Turning Your App Into a Mobile App Add it to the home screen, send push notifications, use your own icon. A common question: *"Can I turn my app into a mobile app — on the home screen, with my own icon, that sends notifications?"* Yes. Your LlamaPress app can work as a **Progressive Web App (PWA)**, which gives you most of what a native app does without the app-store process. ## What a PWA gives you - **Add to home screen** — your app gets its own icon on a phone's home screen and opens full-screen, like an installed app (it runs as a web wrapper around your live site). - **Your own icon & name** — you choose the icon, name, and splash colors that appear when it's installed. - **Push notifications** — your app can send notifications to users via the **web-push** capability, even when the app isn't open. We have users building exactly this kind of PWA-style experience on LlamaPress today. ## How to set it up Ask Leo to make your app installable — for example: > "Make my app a Progressive Web App: add a web app manifest with my app name and icon, and a service worker so users can add it to their home screen and get push notifications." Leo can add the manifest, the icon, and wire up web-push for notifications. Tell it your app's name and upload your icon image (use **Upload to Assets** via the paperclip — see the [Tools guide](https://llamapress.ai/wiki/leo-tools-and-features#chat-toolbar)). ## Installing it on a phone - **iPhone (Safari):** open your live app URL, tap **Share** → **Add to Home Screen**. - **Android (Chrome):** open the app, tap the **⋮** menu → **Install app** / **Add to Home screen**. **About native apps / "APK" & the app stores:** a PWA is installed straight from the web, so it does *not* require the Apple App Store or Google Play. We don't yet generate a native Android `APK` or iOS build for submission to the stores — that's on our roadmap. For most use cases (including letting people install your app and even charge for access through your own site), the PWA approach covers it today. Want help getting push notifications working, or a hand setting up your icon and manifest? Email [support@llamapress.ai](mailto:support@llamapress.ai). ============================================================================== # Use Your ChatGPT Plan With Leo Source: https://llamapress.ai/wiki/use-your-chatgpt-plan-with-leo ============================================================================== # Use Your ChatGPT Plan With Leo > Connect your own ChatGPT Plus/Pro account to Leo — pick a "my ChatGPT plan" model, sign in with a device code, and build on your own subscription. Source: https://llamapress.ai/wiki/use-your-chatgpt-plan-with-leo | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Run Leo on your own ChatGPT Plus or Pro subscription — connected in five clicks. Leo can run on the GPT models included in **your own ChatGPT plan** (Plus or Pro). When you connect your ChatGPT account, Leo uses your subscription instead of your instance's API credits. You can disconnect at any time. Prefer to watch? Here is the whole flow in about a minute, with narration: **The short version:** Purple **+** button **Model** pick a **"my ChatGPT plan"** model **Connect ChatGPT** enter the code on the OpenAI page. Done. ## Before you start - You need a **ChatGPT Plus or Pro** account. Sign up at [https://chatgpt.com](https://chatgpt.com) if you do not have one. - This feature ships with recent LlamaPress versions. If you do not see the "my ChatGPT plan" models in the list in Step 3, email [support@llamapress.ai](mailto:support@llamapress.ai) and we will update your instance. ## Step 1 — Click the purple + button Open your Leo chat. At the bottom left of the message box, click the purple **+** button. This opens the tools toolbar. ![Click the purple plus button at the bottom left of the Leo chat box](https://llamapress.ai/assets/llamapress-leo-use-chatgpt-plan-step-1-click-purple-plus-button-7733c6c7d12a5cf3e6714ad297223f6f82163ef71f248fe83322a2da3fca2532.png) ## Step 2 — Click Model In the toolbar that appears, click the **Model** button. The model picker appears above the toolbar. ![Click the Model button in the Leo tools toolbar](https://llamapress.ai/assets/llamapress-leo-use-chatgpt-plan-step-2-click-model-button-05d9292ed69a7961d63867c3c667bbbf37e3500c5892ba05842f7c899a860d88.png) ## Step 3 — Pick a "my ChatGPT plan" model Open the model dropdown and choose **GPT-5.6 Luna — my ChatGPT plan** or **GPT-5.6 Sol — my ChatGPT plan**. ![Pick GPT-5.6 Luna or Sol, the models marked 'my ChatGPT plan', in the model dropdown](https://llamapress.ai/assets/llamapress-leo-use-chatgpt-plan-step-3-pick-chatgpt-plan-model-29966e7971accab43806150d43f936d6d0a42c3d3de3ac0b3b578ad8ee9a4307.png) ## Step 4 — Click Connect ChatGPT A window titled **"Use your own ChatGPT plan"** pops up. Click **Connect ChatGPT**. ![Click the green Connect ChatGPT button in the pop-up window](https://llamapress.ai/assets/llamapress-leo-use-chatgpt-plan-step-4-click-connect-chatgpt-ef9c6a2a5872f9e62d6710e6e422a07b9895ee4d40d0a63864f4dc8efe829ae6.png) **Good to know:** usage runs under your ChatGPT plan and its terms. That includes training on your conversations unless you have turned that off in your own ChatGPT data controls. You can disconnect at any time. ## Step 5 — Enter the code on the OpenAI page Leo shows a short code and a link. Open [https://auth.openai.com/codex/device](https://auth.openai.com/codex/device) in a new tab, sign in to your ChatGPT account, and enter the code. Then approve the connection. The Leo window says "Waiting for you to approve..." until you finish. ![Open the OpenAI device page and enter the short code Leo shows you, then approve](https://llamapress.ai/assets/llamapress-leo-use-chatgpt-plan-step-5-enter-device-code-824be6015aad75d397c745e7c612bd0ea39d7a04b2505a4a70a887a4dfc0acaf.png) ## You're connected When the window says you are connected, you are done. Leo now uses your ChatGPT plan whenever a "my ChatGPT plan" model is selected. A small status line under the model picker shows which ChatGPT account is connected — click it to manage or disconnect the account. You can switch back to any other model in the same dropdown at any time. ## Troubleshooting - **The model is greyed out and says "Connect your ChatGPT account".** That is normal before you sign in — select the model anyway and the connect window opens. - **The code expired before you entered it.** Click Cancel, select the model again, and a fresh code appears. - **You do not see the "my ChatGPT plan" models at all.** Your instance may be on an older version. Email [support@llamapress.ai](mailto:support@llamapress.ai) and we will update it for you. ============================================================================== # Use Your Messages Efficiently Source: https://llamapress.ai/wiki/using-your-messages-efficiently ============================================================================== # Use Your Messages Efficiently > Get more done with the messages you have — start new chats, connect your ChatGPT plan, and give Leo what it needs the first time. Source: https://llamapress.ai/wiki/using-your-messages-efficiently | Updated: 2026-09-05 --- [Back to Wiki](https://llamapress.ai/wiki) Six habits that make each message go further. Every plan includes a number of messages per day, for each app you build. These are the habits that get the most out of them. ## 1. Start a new chat when you change topic This is the biggest one. Leo re-reads the whole conversation on every message. A long chat means Leo reads more each time, works slower, and is more likely to get distracted by something you discussed an hour ago. When you move to a new task, start a new chat. Finished the invoice page and now want a login screen? New chat. Your work is saved either way, and Leo still has your app in front of it. ## 2. Connect your own ChatGPT plan If you pay for ChatGPT Plus or Pro, Leo can run on your own subscription instead of your app's credits. It takes about five clicks: the purple **+** button, then **Model**, then pick a **"my ChatGPT plan"** model, then sign in with the code shown. [Read the step-by-step guide, with video](https://llamapress.ai/wiki/use-your-chatgpt-plan-with-leo). ## 3. Say the whole change in one message "Add a customer page" costs the same as "Add a customer page with name, email, phone and company, sorted by newest first, and a search box at the top." The second one gets you there in one message instead of four. ## 4. Use Plan Mode for anything big For a large change, switch to Plan Mode first. Leo writes out what it intends to do so you can correct the plan before any code is written. Fixing a plan costs one message. Fixing the wrong feature costs many. ## 5. Point at the thing instead of describing it Use the element picker to click the button or heading you mean, then say what should change. It is faster than "the blue button near the top of the second section", and Leo cannot pick the wrong one. ## 6. Upload the file instead of pasting it Attach spreadsheets, screenshots and documents with the paperclip. Pasting a long block of text into the chat makes every later message in that chat bigger. ## If you run out for the day Your work is saved. Your messages reset the next day, and every plan above Free includes more of them per day, on more apps. See [the pricing page](https://llamapress.ai/pricing) for what each plan includes, or read [Plans and Pricing](https://llamapress.ai/wiki/plans-and-pricing). ============================================================================== # UX Principles Guide for Building Web Software Source: https://llamapress.ai/wiki/ux-principles-for-web-software ============================================================================== # UX Principles Guide for Building Web Software > Six core UX principles for building web software end users love — when prompting Leo, or designing on your own. Source: https://llamapress.ai/wiki/ux-principles-for-web-software | Updated: 2026-09-06 --- [Back to Wiki](https://llamapress.ai/wiki) Six principles for building apps your end users find effortless. Whether you're prompting Leo to build a feature or shaping it yourself, good UX comes down to a handful of principles. The best software feels **effortless** — users always know where they are, what to do next, and how to get there with the fewest possible steps. Use these six principles as a checklist, and as language you can hand directly to Leo when you describe what you want. [Principle 1 Orientation](https://llamapress.ai/wiki/ux-principles-for-web-software#orientation) [Principle 2 Eliminating Friction](https://llamapress.ai/wiki/ux-principles-for-web-software#friction) [Principle 3 Minimize Distance](https://llamapress.ai/wiki/ux-principles-for-web-software#distance) [Principle 4 Surface, Don't Bury](https://llamapress.ai/wiki/ux-principles-for-web-software#surface) [Principle 5 One Consistent Pattern](https://llamapress.ai/wiki/ux-principles-for-web-software#consistency) [Principle 6 Progressive Disclosure](https://llamapress.ai/wiki/ux-principles-for-web-software#disclosure) 1 ## Disorientation vs. Orientation Every screen should silently answer three questions: *Where am I? How did I get here? Where can I go next?* Answer them clearly and users feel **oriented** and confident. Fail, and they feel **disoriented** — lost, unsure whether their last action even worked. ### Disorienting - **Unnecessary redirects** — bouncing to a new page when the work could happen on the current one. - **Saving = teleporting** — a save that throws the user to a list or detail page, losing their context. *Did it even save?* - **Dead ends** — no breadcrumb, no way back, no obvious next action. ### Orienting - **Persistent navigation** — a consistent top nav bar and **breadcrumbs** so users always know where they sit. - **Self-explaining labels** — "Add Customer" beats "New"; "Save Invoice" beats "Submit." - **Intuitive tables** — sortable column headers, a visible search box, sensible default ordering. - **Edit in place** — on save, stay put and reflect the change immediately. ### See the difference Bad No nav, no breadcrumb, vague button #### Edit Clicking Submit redirects to a list page — did it save? Good Nav + breadcrumb + clear label + inline save Home Customers Invoices #### Edit Invoice — Acme Co Saved Stays on the page and confirms inline. ### See the difference — self-explaining controls Bad Icon-only — guess what each does Sync? Publish? Settings? Export? Who knows. Good Icon + label — no guessing The label removes all ambiguity. ### See the difference — empty states Bad A dead end with no next step No records found. Good Explains + offers the next action No customers yet Add your first customer to start sending invoices. Prompt Leo like this: "When I save this form, stay on the same page and show a confirmation instead of redirecting. Add breadcrumbs and make the table columns sortable and searchable." 2 ## Eliminating Friction to Outcomes Every click, screen, and decision is a small tax on the user. Get them to the outcome they want in as **few steps as possible** — minimize the clicks, the screens, and the distinct actions a task requires. ### Make the path obvious, not secret Workflows should never be a hidden combination — *"press this button, then that one, then this other one."* If a task takes multiple steps, the app should lead the user through each one. #### Wizards & walkthroughs Break multi-step work into a guided sequence — **one or two actions at a time**. #### One obvious next step At every stage, make it visually clear what the primary action is. #### Remove the optional Cut fields, screens, and clicks that aren't essential. The shortest correct path wins. ### See the difference Bad Everything at once, no clear next step #### New Order Which button first? It's a secret combination. Good One step at a time, one clear action Customer 2 Items 3 Review #### Step 2 of 3 — Add items Pick the products for this order. The next step is never in doubt. ### See the difference — ask for less Bad Demands everything up front Create account First name Last name Email Password Confirm password Company Job title Phone How did you hear about us? 9 fields before they've even tried it. Good Only what's essential now Create account Email Password Ask for the rest later, in context. ### See the difference — editing a value Bad A trek through multiple pages Project name: **Q3 Launch** Settings General Edit Save Four clicks to rename one field. Good Edit right where it lives Project name Click the value, type, done. Prompt Leo like this: "Turn this into a step-by-step wizard with one clear action per screen, and reduce this 4-page flow down to as few clicks as possible." <%= render "wiki/cookbook\_card", slug: "...", note: "optional override of the summary line" %> Title/summary are read from the guide's YAML frontmatter at render time, so the card never drifts from the guide. Unknown/invalid slug → renders nothing (a broken reference must not 500 a wiki article). %> Cookbook recipe Password Show/Hide Toggle (eye icon or checkbox) A one-controller friction fix: an eye icon or a "Show password" checkbox so typos never cause a failed login. Includes a live demo. [Open guide](https://llamapress.ai/cookbook/password-show-hide-toggle) Password Show/Hide Toggle (eye icon or checkbox) [Open full page ↗](https://llamapress.ai/cookbook/password-show-hide-toggle) 3 ## Minimize Distance — Cluster What Belongs Together The eye has to **scan** to connect related things. The farther apart related concepts, actions, and information sit — vertically or horizontally — the more work the user does to tie them together. Keep related things **close**. ### Cluster related actions and data A record and its buttons, a label and its input, a total and the rows it sums — keep them adjacent so the eye doesn't travel. ### Sticky navigation Keep key navigation and primary actions in view as the user scrolls, so controls stay near the content. ### Density when it helps For long lists, a **condensed table** beats large white-space-heavy cards — scan many rows at a glance. Reserve roomy cards for a few high-importance items. ### Put feedback where the eye already is **Flash notifications must be impossible to miss.** Don't drop them halfway down the page or above the user's current view, where scrolling can hide them. Pin them to a consistent, fixed position — typically the **top-right corner** — easy to see and easy to dismiss. ### See the difference — scanning a long list Bad Big cards — endless scrolling Acme Co Invoice #0031 $9,200 Globex Invoice #0071 $6,200 …only 2 rows visible in all this space. Good Condensed — many rows at a glance | Customer | Invoice | Amount | | | --- | --- | --- | --- | | Acme Co | #0012 | $1,200 | View | | Globex | #0013 | $3,400 | View | | Initech | #0014 | $880 | View | | Umbrella | #0015 | $5,050 | View | | Stark | #0016 | $2,110 | View | 5 rows in the same height — actions clustered right. ### See the difference — where the notification lands Bad Buried below the fold Saved! (good luck seeing me) User never scrolls here → Good Fixed top-right, easy to dismiss Invoice saved ### See the difference — keep labels near their fields Bad Labels stranded far left Email Phone The eye has to jump the gap to pair each one. Good Label sits right on its field Email Phone Pairing is instant — no scanning. ### See the difference — make the primary action stand out Bad Everything shouts equally Delete this invoice? Two identical buttons — easy to click the wrong one. Good Primary + quiet secondary Delete this invoice? Weight and color signal which is which. Prompt Leo like this: "Group each row's actions next to the row, make the nav bar sticky, use a condensed table for this list, and show flash messages as dismissible toasts fixed to the top-right." 4 ## Surface, Don't Bury — Promote Primary Workflows The work people do **every day** should be the **easiest to reach**. Where a feature lives in your navigation is itself a UX decision — the deeper you bury something, the less it gets used. If *Meetings* is core to the app, it belongs on the top nav bar, not three clicks down under *Admin ▸ Settings ▸ Meetings*. This is different from [Principle 2](https://llamapress.ai/wiki/ux-principles-for-web-software#friction): friction is about the steps *inside* a single task; this is about how your *whole app* is structured — what's reachable at a glance versus hidden away in a menu. ### The rule of thumb: prominence = frequency × importance Rank your features by how **often** and how **critically** they're used. The top of that list earns a spot in the main navigation. Rarely-touched things — one-time setup, admin config — *should* live deeper; that's correct, not a bug. The goal isn't to surface *everything*, it's to surface the *right* things. ### See the difference — reaching a daily workflow Bad Buried three levels deep DashboardCustomersAdmin ▾ 1 Click **Admin** 2 Click **Settings** 3 Click **Meetings** 4 Finally — the list Used daily, yet hidden where no one looks. Good First-class nav item, one click Dashboard Meetings Customers Admin ▾ Always visible, always one click away. ### See the difference — surface the right things, not everything Bad Everything on the bar — nothing stands out Dashboard Meetings Customers Invoices Reports Settings Billing Users Roles Imports Exports Webhooks Logs Audit 14 equal items — the daily ones drown in the noise. Good Top few promoted, the rest in "More" Dashboard Meetings Customers Reports More ▾ Daily work up front; rare config tucked inside “More”. Prompt Leo like this: "Meetings is something I use every day — promote it to a top-level item in the nav bar instead of nesting it under Admin. Keep the rarely-used settings in a secondary ‘More’ menu." 5 ## One Consistent Pattern — What You See Is What You Get The same thing should **look the same** everywhere it appears, and you should be able to change it **right where it lives**. The classic trap: viewing an invoice looks one way, but to change it you get bounced to a totally different *edit form* — a wall of inputs that looks nothing like the invoice itself. The user has to learn **two mental models** for one object, and re-orient every time they switch between reading and editing. The best experience is **What You See Is What You Get**: you edit the invoice *on the invoice* — change a price, add a line item dynamically, and watch the total update in place. You book an appointment by clicking the calendar, not by filling out a form and hoping it landed. Viewing and editing are **one surface**, and it's obvious at a glance whether editing is currently **enabled**. ### Same layout, view & edit Fields sit in the same place and order whether you're reading or changing them. ### Editing is a visible state Make it unmistakable when edits are on — active inputs, a Save button, a clear "Editing" cue. ### Reuse the pattern One object, one component. Don't make users relearn a second design for the same data. ### See the difference — editing an invoice & its line items Bad A separate form that's nothing like the invoice #### Edit Invoice #0012 Line items A wall of inputs. No running total — submit and go check. Good Edit the invoice on the invoice #### Invoice #0012 Acme Co Editing | Item | Qty | Amount | | --- | --- | --- | | Design work | 10 | $1,200 | | | | $360 | Total $1,560 Click a line to edit it, add rows inline, total updates live. ### See the difference — booking an appointment Bad A form, divorced from the calendar #### New Appointment Title Date Start time End time Type a date & time blind, submit, then go see where it landed. Good Click the slot, type the title, done Tuesday, Jun 16 9:00 10:00 10:00 – 10:30 11:00 + click to add 12:00 The appointment appears exactly where it lives on the calendar. Prompt Leo like this: "Let me edit the invoice on the invoice page itself — add and remove line items inline and update the total live, instead of a separate edit form. And for scheduling, let me add an appointment by clicking a slot on the calendar rather than filling out a form." 6 ## Progressive Disclosure — Reveal Detail on Demand Show people the **essential few** things up front, and tuck the rest away until they ask for it. Pouring every field, option, and column onto one screen overwhelms users and buries the thing they actually came for. **Progressive disclosure** reveals detail *in layers*: a clean overview first, then the richer detail one click deeper. It's the mechanism behind [Principle 2's](https://llamapress.ai/wiki/ux-principles-for-web-software#friction) "ask for less" and [Principle 4's](https://llamapress.ai/wiki/ux-principles-for-web-software#surface) "surface the right things." You're not deleting the detail — you're *deferring* it until the user wants it. ### Overview first Lead with the handful of columns or fields people scan for. Everything else waits one layer down. ### Detail on demand A click opens a side panel, drawer, or expandable row with the full record — no page jump, no lost context. ### Kill the sideways scroll A table you scroll horizontally hides half its data off-screen. Fewer columns + a detail view beats an endless scroll. ### See the difference — a table with too many columns Bad 12 columns — scroll sideways to see them | Customer | Email | Phone | Company | Plan | Status | MRR | Created | Last login | Owner | Region | Tags | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Acme Co | ap@acme.co | (555) 010-2244 | Acme Co | Pro | Active | $1,200 | Mar 4 | 2h ago | Dana R. | US-West | VIP | | Globex | ar@globex.io | (555) 778-0090 | Globex | Free | Trial | $0 | Jun 1 | 1d ago | Lee P. | US-East | — | | Initech | ap@initech.com | (555) 221-7788 | Initech | Pro | Active | $880 | Feb 9 | 5m ago | Dana R. | EU | Net-30 | Half the columns live off-screen — the user scrolls back and forth and still can't compare rows. Good 4 key columns — click a row for the rest | Customer | Plan | Status | MRR | | --- | --- | --- | --- | | Acme Co | Pro | Active | $1,200 | | Globex | Free | Trial | $0 | | Initech | Pro | Active | $880 | | Umbrella | Team | Past due | $5,050 | Just what you scan for — click a row to reveal the full record. Acme Co Pro · Active · $1,200 MRR Emailap@acme.co Phone(555) 010-2244 CompanyAcme Co OwnerDana R. CreatedMar 4, 2026 Last login2h ago RegionUS-West TagsVIP, Net-30 Slides in from the right — the table stays put behind it. The same idea applies to the **controls themselves**, not just data. A copy button doesn't need to sit on screen at all times — reveal it when the user hovers the thing they'd copy. And the instant they click, tell them it worked: a silent action leaves them asking *"wait, did that copy?"* ### See the difference — when to show the copy button Bad A copy button on every row, always API key sk\_live\_9f2c8b1a Webhook URL https://acme.co/hooks/27f Account ID acct\_4821x Three buttons competing for attention before anyone needs one. Good Revealed on hover — quiet until needed API key sk\_live\_9f2c8b1a Webhook URL https://acme.co/hooks/27f Account ID acct\_4821x Hover a row — the button appears only when it's relevant. ### See the difference — feedback when you click copy Bad Click it… did anything happen? API key sk\_live\_9f2c8b1a No checkmark, no toast — so they click again, unsure it worked. Good Instant confirmation — checkmark + toast API key sk\_live\_9f2c8b1a Click Copy — the button confirms and a toast flashes top-right. Copied to clipboard Prompt Leo like this: "This table has too many columns and scrolls sideways. Keep only the few I scan for — name, plan, status, amount — and when I click a row, slide in a side panel with the full record instead of widening the table." Next step ## From principles to patterns A principle tells you what to aim for. The next question is usually *which solution do I reach for* — a drawer or a page, a queue or a table, a confirmation or an undo. The **Pattern Catalog** answers that: named patterns grouped by what a person is trying to do, each with a working demo, the conditions for using it, the conditions for not, and a prompt you can hand straight to Leo. [Browse the Pattern Catalog](https://llamapress.ai/patterns) ## The takeaway Great UX isn't decoration — it's the removal of confusion and effort. Keep users **oriented**, strip out **friction**, **cluster** what belongs together, **surface** the work people do most, keep **one consistent pattern** across viewing and editing, and **disclose detail progressively** as it's needed. When you describe features to Leo, name the principle you care about and it will build toward it. ============================================================================== # Why Is My App Slow or Frozen? Source: https://llamapress.ai/wiki/app-performance-and-speed ============================================================================== # Why Is My App Slow or Frozen? > When an app freezes or slows down — heavy tasks, RAM, and indexes — and how to fix it. Source: https://llamapress.ai/wiki/app-performance-and-speed | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Heavy tasks, memory, and data — and how to make your app fast again. If your app suddenly freezes or crawls — especially during a specific action like generating a PDF or loading a big list — it's usually not "broken." It's hitting a **resource limit**. The good news: this is almost always fixable, either by optimizing the work or by giving your app more power. ## The usual culprits ### 1. A heavy task is using too much memory Operations like **generating PDFs**, processing images, or building large exports can spike memory usage. On a smaller instance, one heavy task can use up all the available RAM and lock up the whole app for everyone until it recovers. - **Quick fix:** ask us to **upgrade your instance's RAM** (for example from 2GB to 4GB). If heavy tasks are a regular part of your workflow, this is the single biggest improvement. Email [support@llamapress.ai](mailto:support@llamapress.ai). - **Also worth doing:** ask Leo to make the heavy task more efficient — e.g. generate documents from already-loaded data instead of re-querying, or process in smaller batches. ### 2. Your data isn't indexed As your tables grow, looking things up without a database **index** gets slow. If a particular page or search has gotten sluggish, ask Leo to add an index for the columns you filter or sort by. **Tip:** if you filter by several fields together (say *product*, *width*, and *height*), ask Leo for a **single composite index on all of them together**, rather than separate indexes on each — that makes the biggest difference for combined lookups. ### 3. The app needs a restart Sometimes "frozen" just means the web server got stuck and needs a restart — see [Common Errors & Fixes](https://llamapress.ai/wiki/common-errors-and-fixes) (502 / "Puma needs a restart"). A hard refresh and a couple of minutes often clears it; if not, email us. ## Telling a freeze apart from a bug - **Resource issue** — the app works normally until one heavy action, then everything hangs or times out. → optimize the task and/or upgrade RAM. - **Code bug** — a specific page errors or behaves wrong every time, regardless of load. → ask Leo to fix it (use the [Capture Logs](https://llamapress.ai/wiki/leo-tools-and-features#chat-toolbar) bug button so Leo sees exactly what failed). ## If you're not sure Email [support@llamapress.ai](mailto:support@llamapress.ai) with your app name and what action makes it slow. We can look at the instance's memory and logs and tell you whether it's a resource upgrade, an optimization, or a bug to hand to Leo. ============================================================================== # Your Application, Your Data, and LlamaPress Source: https://llamapress.ai/wiki/you-own-your-app ============================================================================== # Your Application, Your Data, and LlamaPress > Ownership, data export, self-hosting, commercial licenses, and business continuity. Source: https://llamapress.ai/wiki/you-own-your-app | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) Ownership, data export, self-hosting & commercial licenses. Many companies have the same questions before they build software with LlamaPress. They want to know: Do we own our application? Can we export our data? Can we leave LlamaPress later? Can we host the application ourselves? Are we locked into LlamaPress? What happens if LlamaPress shuts down? Will we have to pay LlamaPress forever? The answers are below. ## You Own Your Business IP You own the parts of the application that are specific to your business. Your IP includes: - Your business data - Your files and records - Your company content - Your business rules - Your custom workflows - Your application-specific code - Your application-specific design - Your application-specific configuration You can access and export your application and your data. ## LlamaPress Owns the LlamaPress Platform LlamaPress owns the technology that we use across many customers. LlamaPress IP includes: - The LlamaPress platform - Leo and other AI agent tools - Hosting and deployment tools - Reusable software components - Reusable libraries - Templates - General-purpose workflows - Development tools - System architecture LlamaPress may reuse LlamaPress IP for other customers. LlamaPress does not own your business data or your application-specific IP. ## Common Questions Are we locked into LlamaPress? No You can export your application and your business data. You can also move the application to infrastructure that you control. Some LlamaPress IP may remain inside the application. You need a commercial license to continue using LlamaPress IP while self-hosting. Can we self-host our application? Yes You can export your application and run the application on your own infrastructure. LlamaPress offers monthly, annual, and lifetime commercial licenses for self-hosting. LlamaPress can also provide support for self-hosted applications. Will we have to pay LlamaPress forever to self-host our application? No You can purchase a lifetime commercial license. A lifetime license allows you to use the licensed LlamaPress IP in your project forever. LlamaPress also offers lower-cost monthly and annual licenses. You can choose the license option that fits your needs. You can export your application and purchase a lifetime license at any time, subject to the terms and pricing available at that time. How much does a lifetime license cost? The current price for a lifetime commercial license is a one-time payment of **$7,500**. The lifetime license covers the licensed version of LlamaPress IP included in your project. The lifetime license does not include future LlamaPress upgrades, new versions, hosting, maintenance, or support unless your agreement states otherwise. What happens if LlamaPress disappears? Your application does not become unusable. Our agreements include a fallback perpetual license. A perpetual license means you can continue using the licensed LlamaPress IP forever. The fallback perpetual license automatically takes effect if LlamaPress permanently shuts down or terminates the applicable service under the conditions stated in your agreement. You can then self-host your application and continue using the licensed LlamaPress IP. This protection reduces the risk that your application depends on LlamaPress remaining in business. Why is there a license fee if we paid for development? Your development payment covers the implementation work required for our team to build your application. The development payment does not purchase the LlamaPress platform. LlamaPress uses the same platform, tools, libraries, and infrastructure across many customers. A commercial license allows you to use LlamaPress IP outside LlamaPress hosting. Can we get our source code? Yes You can access and export your application source code. The source code may include both your application-specific IP and licensed LlamaPress IP. Exporting source code does not transfer ownership of LlamaPress IP. Can LlamaPress reuse our business logic? No LlamaPress does not treat your private business data or application-specific IP as LlamaPress IP. LlamaPress may reuse general tools, components, templates, methods, and technical patterns that are not specific to your business. Do we own our data? Yes You own your business data. LlamaPress does not claim ownership of your business data. What are we paying LlamaPress for? Depending on your agreement, you may pay LlamaPress for: - Custom application development - LlamaPress platform access - Hosting - AI agent implementations & access - Maintenance & security updates - Support - A self-hosting commercial license Your agreement will state which services and licenses are included. Have a question about ownership or licensing that isn't answered here? Email [support@llamapress.ai](mailto:support@llamapress.ai) and we'll walk through it with you. ============================================================================== # ‘Ask Leo to..’ Buttons Source: https://llamapress.ai/wiki/ask-leo-to-buttons ============================================================================== # ‘Ask Leo to..’ Buttons > Add buttons to your app pages that pre-fill Leo's chat with a ready-made command — one click instead of typing the request out. Source: https://llamapress.ai/wiki/ask-leo-to-buttons | Updated: 2026-09-04 --- [Back to Wiki](https://llamapress.ai/wiki) # 'Ask Leo to..' Buttons Buttons in your app that pre-fill Leo's chat with a ready-made command — one click instead of typing the request out. Your app runs inside the Leo workspace, side by side with the chat. That means pages in your app can talk to Leo's chat interface directly: a button on one of your pages can drop a pre-written command straight into Leo's text field, ready to send. We call these **"Ask Leo to.." buttons**. **The short version:** put the command text in a `data-command` attribute on a button, and a five-line script sends it to Leo with `window.parent.postMessage`. Leo's chat input fills in, the user reviews or edits it, and hits send. You can add one just by asking Leo. ## Why you'd want one Some actions in your app are really requests *for Leo* — things the AI agent handles better than a hand-built form. A classic example: a **"Ask Leo to Reset"** button next to each account on a sign-in page. Clicking it pre-fills Leo's chat with: > Ask Leo to reset the password for jane@example.com to [new\_password] so I can sign into the application. The user swaps `[new_password]` for the password they want, hits send, and Leo performs the reset — no admin panel, no database console, no support ticket. The same pattern works for anything you'd otherwise explain in chat: "Ask Leo to add a row to this table," "Ask Leo to fix this page," "Ask Leo to export this month's report." The button doesn't act on its own — it just **writes the message for the user**. They still see it, can edit it, and choose to send. That keeps a human in the loop while removing the "what do I even type?" hurdle. ## The pattern ### 1. The button Give each button a shared class and put the full command in a `data-command` attribute. Use square-bracket placeholders like `[new_password]` for anything the user should fill in before sending: ``` ``` ### 2. The script One small script wires up every button on the page. It posts a message to the parent window — the Leo workspace your app is embedded in: ``` ``` That's the whole integration. The pieces that matter: - **`source: 'launchpad'` and `type: 'prefill-chat'`** — this exact pair is what Leo's chat interface listens for. Any other values are ignored. - **`command`** — the text that lands in Leo's chat input, verbatim. - **`window.parent !== window`** — the guard that makes the button a no-op when the page is opened outside the Leo workspace (for example, on your live public URL). Visitors on the standalone site can click it and nothing happens. - **`'*'` as the target origin** — the chat interface runs on a different origin than your app's pages, so the message is addressed to any parent. That's fine here because the message only *pre-fills text*; see the caveat below about what not to put in it. ### 3. What Leo's side does You don't build the receiving end — it ships with every LlamaPress workspace. When the message arrives, Leo's chat interface puts the command into the text field, focuses it, and updates the send button, so the user just reviews and sends. Optionally, you can add `auto_send: true` to the message and Leo will send the command immediately instead of waiting: ``` window.parent.postMessage({ source: 'launchpad', type: 'prefill-chat', command: command, auto_send: true // skips review — use sparingly }, '*'); ``` **Prefer pre-fill over auto-send.** The strength of this pattern is that the user sees the command before it runs and can adjust it. Reserve `auto_send` for commands with no placeholders and no surprises. ## Good habits - **Write the command as a complete, self-contained request.** Leo reads it with no other context, so include the specifics — the email address, the page, the record — right in the text, and end with the goal ("…so I can sign into the application"). - **Use `[bracketed_placeholders]`** for anything the user must supply, and mention it in the UI ("replace [new\_password] with the password you want"). - **Never put secrets in `data-command`.** The attribute is visible in the page source to anyone who can load the page — that's why the reset example has the user type the new password into the chat rather than baking one into the button. - **Design for the standalone site too.** Outside the Leo workspace the buttons silently do nothing; if a page is public-facing, consider hiding them or showing a hint when `window.parent === window`. ## Adding one to your app You don't need to write any of this by hand — it's Leo's own interface, so Leo knows the pattern. Just describe the button you want: "Add an 'Ask Leo to Reset' button next to each user on the sign-in page. When clicked, it should pre-fill your chat with a command to reset that user's password, using the launchpad prefill-chat postMessage pattern." If you're implementing it by hand (or want the full recipe Leo follows — the Stimulus variant, the message contract, and the gotchas), the canonical implementation guide lives in the cookbook: <%= render "wiki/cookbook\_card", slug: "...", note: "optional override of the summary line" %> Title/summary are read from the guide's YAML frontmatter at render time, so the card never drifts from the guide. Unknown/invalid slug → renders nothing (a broken reference must not 500 a wiki article). %> Cookbook recipe 'Ask Leo to..' Buttons (prefill Leo's chat from your app) Buttons on your app's pages that drop a pre-written command straight into Leo's chat input via postMessage — one click instead of the user typing the request out. [Open guide](https://llamapress.ai/cookbook/ask-leo-to-buttons) 'Ask Leo to..' Buttons (prefill Leo's chat from your app) [Open full page ↗](https://llamapress.ai/cookbook/ask-leo-to-buttons) For more on the tools built into the chat interface itself, see [Leo Tools & Features](https://llamapress.ai/wiki/leo-tools-and-features), and for everyday fixes see [Common Errors and Fixes](https://llamapress.ai/wiki/common-errors-and-fixes). Want help wiring an "Ask Leo to.." button into your app? Email [support@llamapress.ai](mailto:support@llamapress.ai) and we'll walk through it with you. ============================================================================== # 'Ask Leo to..' Buttons (prefill Leo's chat from your app) Source: https://llamapress.ai/cookbook/ask-leo-to-buttons ============================================================================== # 'Ask Leo to..' Buttons (prefill Leo's chat from your app) > ⚠️ **Cookbook example — not live code.** (KEEP THIS CALLOUT.) Every code block below > is an **example snippet**, **not part of the llamapress.ai codebase**, and **not > running on this server**. This is a reference recipe for a **Leo instance (an AI coding > agent) to implement in its own app** — read it to understand the pattern, then recreate > it there. Your app's pages render inside an iframe in the Leo workspace, with Leo's chat sitting in the parent window. That parent listens for a specific `postMessage` shape — send it and **Leo's chat input fills with your text, focused and ready to send**. An "Ask Leo to.." button packages a whole request ("reset this password", "export this report", "fix this page") into one click: the user reviews the pre-filled command, edits any placeholder, and hits send. The proven origin: a sign-in page with an **"Ask Leo to Reset"** button next to each registered email. Clicking it pre-fills Leo's chat with `Ask Leo to reset the password for jane@example.com to [new_password] so I can sign into the application.` — the user swaps in a password and sends. No admin panel, no console, and Leo (not hand-built form code) performs the action. > **When to use:** actions that are really *requests for the AI agent* — resets, fixes, > data changes, "do X for me" — where writing the prompt is the user's hurdle. The user > stays in the loop: they see the command before it runs. > **When not to:** actions your app should just *do* (a normal form/controller is > faster and doesn't burn an agent turn), or anything on a page where visitors aren't > Leo users — outside the workspace the buttons are silent no-ops.
Live demo — simulated (the real one fills Leo's actual chat)
jane@example.com

Leo's chat input (simulated)

--- ## The 80/20 in one breath 1. Put the full command text in a `data-command` attribute on a button with a shared class (e.g. `.ask-leo-btn`). Use `[bracketed_placeholders]` for anything the user must fill in. 2. On click, post `{ source: 'launchpad', type: 'prefill-chat', command }` to `window.parent` — that exact `source`/`type` pair is what Leo's chat listens for. 3. Guard with `window.parent !== window` so the button no-ops on the standalone site. 4. Done — the receiving side ships with every Leo workspace. It fills the chat input, focuses it, and dispatches an `input` event so the send button activates. 5. Optional: add `auto_send: true` to send immediately instead of pre-filling. --- ## Layer 1 — The View (button + inline script, the proven minimal version) ```erb <%# app/views/devise/sessions/new.html.erb (or any page in your app) %>
jane@example.com
``` The message contract, in full: | Field | Value | Notes | |---|---|---| | `source` | `'launchpad'` | Required, exact. Anything else is ignored by the listener. | | `type` | `'prefill-chat'` | Required, exact. | | `command` | your text | Placed into the chat input verbatim. | | `auto_send` | `true` (optional) | Sends immediately instead of waiting for the user. Use sparingly. | Target origin is `'*'` because Leo's chat interface runs on a different origin than your app's pages. That's acceptable here — the message only pre-fills text and carries nothing sensitive (see Gotchas). ## Layer 2 — Stimulus variant (house style, plays nicely with Turbo) The inline script above re-binds fine on full page loads, but a Stimulus controller is the idiomatic Rails/Hotwire shape and survives Turbo navigation without a re-run: ```javascript // app/javascript/controllers/ask_leo_controller.js import { Controller } from "@hotwired/stimulus" // Sends a pre-written command into Leo's chat input (the parent workspace frame). // Usage: export default class extends Controller { static values = { command: String, autoSend: { type: Boolean, default: false } } send(event) { event.stopPropagation() if (window.parent === window) return // standalone site: no-op window.parent.postMessage({ source: "launchpad", type: "prefill-chat", command: this.commandValue, auto_send: this.autoSendValue }, "*") } } ``` ```erb <%# anywhere in a view %> ``` ## Layer 3 — What the receiving side does (context only — do NOT build this) Every Leo workspace already ships the listener in its chat frontend. For understanding (so you can debug, not so you can implement): ```javascript // (ships with the Leo chat interface — reference only) window.addEventListener('message', (event) => { if (event.data && event.data.source === 'launchpad' && event.data.type === 'prefill-chat') { const command = event.data.command; if (command && this.elements.messageInput) { this.elements.messageInput.value = command; this.elements.messageInput.focus(); this.elements.messageInput.dispatchEvent(new Event('input', { bubbles: true })); if (event.data.auto_send) { this.sendMessageWithDebugInfo(); } } } }); ``` --- ## Gotchas (the hard-won stuff) - **The `source`/`type` strings are an exact contract.** `'launchpad'` + `'prefill-chat'` — a typo (or `prefill_chat`) fails silently. There is no error channel; the message just doesn't match and nothing happens. - **Silent no-op outside the workspace is a feature AND a trap.** The `window.parent !== window` guard means the button does nothing on the app's public URL. Keep the guard (never remove it), but if the page is public-facing, consider hiding the buttons or showing a hint when the page isn't embedded — otherwise real visitors click a dead button. - **Never put secrets in `data-command`.** The attribute is plain page source, visible to anyone who can load the page. That's exactly why the password-reset command uses a `[new_password]` placeholder the user types into the chat, instead of generating a password into the button. - **Prefer pre-fill over `auto_send`.** The pattern's strength is the human review step — the user sees and can edit the command before it runs. Reserve `auto_send: true` for commands with no placeholders and no surprises; a command containing `[brackets]` must never auto-send. - **Write commands self-contained.** Leo reads the command with no other context from the button — bake the specifics (email, record, page) into the text and state the goal ("…so I can sign into the application"). Vague commands get vague agent turns. - **`e.stopPropagation()` matters** when the button sits inside a clickable row/card — without it the row's own click handler (navigation, selection) fires too. - **Cross-origin is normal here.** Your page and the chat interface are on different origins, so you cannot reach the chat DOM directly — `postMessage` with `'*'` is the supported channel. Don't try to tighten the target origin to your own host; the parent is *not* on your host. --- ## Files this pattern touches ``` app/views/.html.erb # button(s) + inline script (Layer 1) app/javascript/controllers/ask_leo_controller.js # optional Stimulus variant (Layer 2) ``` ## How to adapt to your schema 1. Decide the action and write the command sentence first — complete, specific, self-contained, with `[placeholders]` for user-supplied values. 2. Drop the button where the action lives (a table row, a card, a settings page) and put the command in `data-command` (or `data-ask-leo-command-value` for the Stimulus variant). Loop over records to generate one button per row (`data-command="Ask Leo to ... <%= user.email %> ..."`). 3. Pick inline script (one page, zero setup) or the Stimulus controller (used on several pages / Turbo-heavy app). 4. Style the button to match your app — the pattern has no styling requirements. 5. Safe to drop: `auto_send` (default false), the Stimulus variant, the per-row loop — the minimal version is one button and the five-line script. ============================================================================== # Apple Calendar (iCloud) Two-Way Sync via CalDAV Source: https://llamapress.ai/cookbook/apple-calendar-caldav-sync ============================================================================== # Apple Calendar (iCloud) Two-Way Sync via CalDAV > ⚠️ **Cookbook example — not live code.** Every code block below is an **example > snippet**, **not part of the llamapress.ai codebase**, and **not running on this > server**. This is a reference recipe for a **Leo instance (an AI coding agent) to > implement in its own app** — read it to understand the pattern, then recreate it > there. (A copy-ready install package lives in > `app/views/cookbook/apple-calendar-caldav-sync/` — see its `INSTALL.md`.) Apple has **no public REST API for iCloud Calendar** — but it runs a standards-compliant **CalDAV** server at `caldav.icloud.com`, the same one Thunderbird and every third-party calendar app use. That means a Rails app can read AND write a customer's shared Apple calendar with nothing but `Net::HTTP` and Nokogiri (both ship with Rails — important on Leo boxes, where you cannot add gems). Auth is the customer's Apple ID plus an **app-specific password** they mint at account.apple.com in about a minute. The result: a `/calendar` page with a month grid + upcoming list fed live from iCloud, and an "Add event" form whose events land on the shared calendar — and on everyone's iPhones — seconds later. Proven end-to-end (read + create + delete round-trip) against a real iCloud account. > **When to use:** a client's team lives on a shared Apple calendar and wants those > events inside the app, or wants the app to put events onto it. Works for any calendar > the Apple ID owns or can edit. > **When not to:** the client is on Google Calendar (use the Google integration — real > API, webhooks). Or you need push updates — CalDAV here is poll-on-page-load; there are > no webhooks. --- ## The 80/20 in one breath 1. Copy `AppleCalendarClient` (the install package has it verbatim) — discovery, read, write, ICS parse/build in one ~250-line service, zero gems. 2. One singleton table `apple_calendar_settings` (apple_id, app_password, calendar_url, calendar_name) + model with `.current` / `connected?`. 3. One controller: `show` (month grid), `settings`/`connect`/`select_calendar` (three-step connect flow), `create_event`, `disconnect`. 4. Three views: month grid + add-event modal, a settings page with the app-specific-password walkthrough, and a calendar picker. 5. Six routes under `/calendar`, one nav link. 6. The customer mints an app-specific password and connects on `/calendar/settings`. --- ## Layer 1 — How the CalDAV conversation works (the part worth understanding) Four HTTP verbs against `https://caldav.icloud.com/`, all Basic-auth'd with `apple_id:app_specific_password`: ```ruby # app/services/apple_calendar_client.rb (excerpts — full file in the install package) # 1) WHO AM I — PROPFIND / for the principal URL PRINCIPAL_XML = <<~XML.freeze XML # 2) WHERE ARE MY CALENDARS — PROPFIND the principal for calendar-home-set, # then PROPFIND Depth:1 on the home to list calendars. Keep only real # VEVENT-capable calendars (skip inbox/outbox/reminders): next unless node.at_xpath(".//*[local-name()='resourcetype']/*[local-name()='calendar']") comps = node.xpath(".//*[local-name()='supported-calendar-component-set']/*[local-name()='comp']").map { |c| c["name"] } next if comps.any? && !comps.include?("VEVENT") # 3) READ — REPORT calendar-query with a time window; makes APPLE # expand recurring events into individual occurrences (no RRULE engine needed): def query_xml(from_utc, to_utc, expand:) data = expand ? %() : "" <<~XML #{data} XML end # 4) WRITE — PUT a minimal VCALENDAR to .ics # with If-None-Match: * (create-only, never overwrite). # DELETE on that same URL removes the event (204). ``` Two infrastructure details the request core must handle (the package file does): ```ruby # iCloud 3xx-redirects you to a partition host (p112-caldav.icloud.com) — # follow redirects AND resolve returned hrefs against the FINAL uri, not BASE_URL. # And because every request carries the credentials, hard-refuse foreign hosts: ALLOWED_HOST = /(\A|\.)icloud\.com\z/ raise Error, "Refusing to send Apple credentials to #{uri.host}" unless uri.host.to_s.match?(ALLOWED_HOST) ``` ## Layer 2 — Model & migration ```ruby # app/models/apple_calendar_setting.rb — singleton row class AppleCalendarSetting < ApplicationRecord # Password is a PLAIN column ON PURPOSE: Rails `encrypts` derives its key from # SECRET_KEY_BASE, which rotates on Leo-instance sleep/wake — an encrypted # password would silently brick on the next wake. App-specific passwords are # revocable at account.apple.com, so plain is the safer fleet trade. validates :calendar_url, format: { with: %r{\Ahttps://[\w.-]*icloud\.com[/:]}, allow_blank: true } def self.current = first || create! def credentialed? = apple_id.present? && app_password.present? def connected? = credentialed? && calendar_url.present? def client = AppleCalendarClient.new(apple_id: apple_id, app_password: app_password) end ``` ```ruby # db/migrate/_create_apple_calendar_settings.rb create_table :apple_calendar_settings do |t| t.string :apple_id, :app_password, :calendar_url, :calendar_name t.datetime :connected_at t.timestamps end ``` ## Layer 3 — Controller flow ```ruby # app/controllers/calendar_controller.rb (shape — full file in the package) # show: month grid; fetch events for the visible grid window, live, per load # settings: the walkthrough + credential form # connect (POST): verify creds by running discovery; on success SAVE creds and # render the calendar picker ← this render is why the form is turbo:false # select_calendar: save the chosen {name, url}; done # create_event: build times from the form (all-day or timed), PUT to iCloud, redirect # disconnect: nil out the row def show @month = parse_month return unless @settings.connected? grid_from = @month.beginning_of_month.beginning_of_week(:sunday) @grid_days = (grid_from..@month.end_of_month.end_of_week(:sunday)).to_a events = @settings.client.events(@settings.calendar_url, from: @grid_days.first.in_time_zone, to: (@grid_days.last + 1).in_time_zone) @events_by_date = index_by_date(events) # multi-day events on every day they span @upcoming = events.select { |e| (e.ends_at || e.starts_at) >= Time.zone.now }.first(12) rescue AppleCalendarClient::AuthError => e @calendar_error = e.message # amber banner + "Reconnect" link, never a 500 end ``` ## Layer 4 — The views Full files in the package: a 7-column month grid (all-day events as solid pills, timed ones outlined with the start time, "+N more" past three, today badged, sideways-scroll on phones), a "Coming up" list that doubles as the phone view, an add-event modal in plain delegated JS (no Stimulus dependency), and the settings/picker pages. All Tailwind + Font Awesome FREE icons. --- ## Gotchas (the hard-won stuff) - **Turbo eats the picker page — a user connects and "nothing happens."** The `connect` action *renders* the calendar picker on success, and Turbo silently drops non-redirect responses to form posts. Symptom in production: the loading bar flashes, the page doesn't change, yet the credentials SAVED (discovery ran before the render). The connect form must carry `data: { turbo: false }`. This shipped broken once; don't repeat it. - **The user's normal Apple password can never work** — CalDAV requires an app-specific password (account.apple.com → Sign-In and Security → App-Specific Passwords). Say so in the UI or every first attempt fails. - **`DTEND` is EXCLUSIVE.** A one-day all-day event has `DTEND` = the NEXT date. Add a day when writing all-day events; subtract one when deciding which grid days an event occupies, or every all-day event paints one day too many. - **Let Apple expand recurrences.** `` in the REPORT returns individual occurrences, so you never write an RRULE engine. Keep a no-expand retry fallback and flag masters `recurring`. - **Parse `...Z` timestamps with `Time.utc` explicitly** — `Time.strptime` without zone info assumes process-local time and shifts every event. - **ICS text is folded and escaped**: continuation lines start with a space/tab (unfold before parsing), and `\n` `\,` `\;` `\\` need unescaping (and escaping on write). Skip `STATUS:CANCELLED` events. - **Follow redirects to the partition host** and resolve DAV `href`s against the final URI. And **refuse to send credentials to any non-icloud.com host** — the stored `calendar_url` is user-influencable, and every request carries Basic auth. - **Don't `encrypts` the password on a Leo box** — `SECRET_KEY_BASE` rotates on sleep/wake and bricks encrypted columns. Plain + revocable beats encrypted + bricked. - **`allow_browser versions: :modern` blocks iPhones below iOS 17.2** with a dead "browser not supported" page — and a calendar is a phone page. Override the check in this controller. - **Latency:** the page fetches iCloud live on every load (~1–2s). Fine for an internal tool; add a cache table if it ever isn't. There are no webhooks in CalDAV-land. --- ## Files this pattern touches ``` app/services/apple_calendar_client.rb # the CalDAV client (verbatim drop-in) app/models/apple_calendar_setting.rb # singleton connection row app/controllers/calendar_controller.rb app/views/calendar/show.html.erb # month grid + upcoming + add-event modal app/views/calendar/settings.html.erb # walkthrough + credential form (turbo:false) app/views/calendar/choose.html.erb # calendar picker db/migrate/_create_apple_calendar_settings.rb config/routes.rb # six routes under /calendar ``` ## How to adapt to your schema 1. The client and model are drop-ins — rebrand only the `PRODID` string. 2. Point `CalendarController` at your app's base controller / layout; keep the `allow_browser` override. 3. Restyle the views to your app's palette; the grid logic (`@grid_days`, `@events_by_date`) is view-agnostic. 4. Deleting events from the app: `client.send(:request, :delete, "#{calendar_url}#{uid}.ics")` returns 204 — promote it to a public `delete_event(calendar_url, uid)` if you build event management UI. 5. Multiple calendars: drop the singleton (`.current`) pattern for a `has_many`-style table keyed by calendar_url; the client doesn't care. 6. Read-only variant with zero credentials: skip all of this and subscribe to the calendar's public `webcal://` URL instead — fetch and parse the ICS with the same `parse_ics`. ============================================================================== # Async Actions Need Feedback (no dead buttons) Source: https://llamapress.ai/cookbook/async-action-feedback ============================================================================== # Async Actions Need Feedback (no dead buttons) > ⚠️ **Cookbook example — not live code.** (KEEP THIS CALLOUT.) Every code block below > is an **example snippet**, **not part of the llamapress.ai codebase**, and **not > running on this server**. This is a reference recipe for a **Leo instance (an AI coding > agent) to implement in its own app** — read it to understand the pattern, then recreate > it there. When a user clicks a button that does real work — "Sync", "Import", "Generate", "Send", "Refresh from ``" — the worst possible experience is **nothing happening**. A plain form/button POST shows no change while the server works, so a multi-second action reads as "broken." Users re-click (firing it twice), or give up and assume it failed. The fix is to make the in-flight state **visible and immediate**, and to make both success and failure **loud**. > **When to use:** any action that isn't instant — especially remote API calls, imports, > report generation, anything that paginates or runs a job. **When not to:** trivial > same-page toggles that update optimistically already. > This pattern came from a real failure (SupportIncident #80, category `ux_observation`): a > "Sync from Jobber" button ran silently for several seconds, then only a flash toast > ("20 created, 0 updated") appeared. Users couldn't tell it was working. --- ## The 80/20 in one breath 1. On click, **immediately disable the trigger** and switch its label/icon to a working state ("Syncing…" + spinner). The cheapest version is Rails' built-in `data: { disable_with: "Syncing…" }` (or Turbo's `aria-busy`). 2. For anything slower than ~1s or remote, **run it as a background job** instead of blocking the request, so the page stays responsive. 3. **Stream progress back** (Turbo Stream / ActionCable): "Fetching page 2…", "120 of ~300 synced". 4. End with a **result toast that includes counts**, and re-enable the button. 5. Make **failure equally loud** — "Sync failed: `` — Reconnect", never a silent no-op. The minimum acceptable bar is step 1 + step 4. Steps 2–3 are the high-quality version. --- ## Layer 1 — The View (minimum bar: built-in disable_with) ```erb <%# app/views/leads/index.html.erb %> <%# Rails auto-disables the button and swaps its text while the request is in flight. %> <%= button_to "Sync from Jobber", sync_jobber_leads_path, method: :post, class: "btn btn-primary", data: { turbo_submits_with: "Syncing…", disable_with: "Syncing…" } %> ``` That one-liner already kills the "dead button" feeling. Everything below is the upgrade to a real progress experience for slow/remote work. ## Layer 2 — The View (quality bar: Stimulus trigger + live status region) ```erb <%# app/views/leads/index.html.erb %>
<%= button_to "Sync from Jobber", sync_jobber_leads_path, method: :post, form: { data: { async_action_target: "form", turbo_stream: true } }, class: "btn btn-primary", data: { async_action_target: "button", action: "submit->async-action#start" } %> <%# The server streams progress + the final summary into this region. %> <%= turbo_frame_tag "jobber_sync_status", class: "ml-3 text-sm text-slate-500" %>
``` ## Layer 3 — Stimulus / JavaScript (instant in-flight affordance) ```javascript // app/javascript/controllers/async_action_controller.js import { Controller } from "@hotwired/stimulus" // Gives an action button an immediate, visible "working" state the moment it's // clicked — independent of how long the server/job takes. export default class extends Controller { static targets = ["button"] start() { const btn = this.buttonTarget if (btn.dataset.busy === "1") return // guard against double-fire btn.dataset.busy = "1" btn.dataset.originalText = btn.innerHTML btn.disabled = true btn.setAttribute("aria-busy", "true") btn.innerHTML = ` Syncing…` } // Call from a Turbo Stream the server broadcasts when the job finishes. reset() { const btn = this.buttonTarget btn.disabled = false btn.removeAttribute("aria-busy") btn.dataset.busy = "0" if (btn.dataset.originalText) btn.innerHTML = btn.dataset.originalText } } ``` ## Layer 4 — Controller (don't block the request; report at the end) ```ruby # app/controllers/leads_controller.rb def sync_jobber # Hand slow/remote work to a job so the request returns instantly and the page # stays interactive. The job streams progress + the final toast back. JobberSyncJob.perform_later(current_user.id, start_date: params[:start_date], end_date: params[:end_date]) respond_to do |format| format.turbo_stream # render a "Started…" frame immediately format.html { redirect_to leads_path, notice: "Sync started — you'll see results here." } end end ``` ```ruby # app/jobs/jobber_sync_job.rb (sketch — the point is progress + loud success/failure) class JobberSyncJob < ApplicationJob def perform(user_id, start_date:, end_date:) user = User.find(user_id) result = Leads::JobberSyncService.new(user).sync(start_date:, end_date:) msg = if result[:success] r = result[:results] "Jobber sync complete: #{r[:created]} created, #{r[:updated]} updated" \ "#{" (#{r[:errors]} errors)" if r[:errors].to_i > 0}" else "Jobber sync FAILED: #{result[:error]} — reconnect Jobber and try again." end Turbo::StreamsChannel.broadcast_replace_to( "leads:#{user_id}", target: "jobber_sync_status", html: ApplicationController.render(partial: "leads/sync_status", locals: { message: msg, ok: result[:success] }) ) end end ``` --- ## Gotchas (the hard-won stuff) - **Re-entrancy / double-submit.** A slow button gets clicked twice. Guard it (the `data-busy` flag above, or `disable_with`) or you'll fire the action twice. - **Failure must be as visible as success.** The original incident's real damage was a *silent* failure that still *looked* connected. Always render the error path — never a no-op. (See the related lesson: an API connection UI must show real health, not just "token present.") - **Don't conflate "started" with "done."** If you background the work, the immediate response is "started"; the *result* toast comes later over the stream. Word them differently so the user isn't told "complete" before it is. - **Turbo vs non-Turbo.** Some pages disable Turbo (`data-turbo="false"`); `disable_with` still works, but `turbo_submits_with` won't — provide the Stimulus fallback. - **Always include counts in the result** ("20 created, 0 updated") — a bare "Done" leaves users unsure anything changed. --- ## Files this pattern touches ``` app/views/leads/index.html.erb # the trigger + status region app/views/leads/_sync_status.html.erb # the streamed result/failure partial app/javascript/controllers/async_action_controller.js app/controllers/leads_controller.rb # enqueue, don't block app/jobs/jobber_sync_job.rb # do the work + broadcast progress/result ``` ## How to adapt to your schema 1. **Smallest case:** skip the job/stream entirely — just add `data: { disable_with: "Working…" }` to the button and keep the synchronous controller action with its flash. That alone removes the "dead button." 2. **Medium:** add the Stimulus `async_action` controller for an instant spinner even while the synchronous request runs. 3. **Full:** move the work to a job and stream progress + a loud success/failure toast. Use this whenever the action is remote or can take more than a second or two. 4. Rename `JobberSyncJob` / `leads:#{id}` to your domain; the shape (instant affordance → background → progress → loud result) is the reusable part. ============================================================================== # Choosing the Right Chart Source: https://llamapress.ai/cookbook/choosing-the-right-chart ============================================================================== # Choosing the Right Chart > ⚠️ **Cookbook example — not live code.** (KEEP THIS CALLOUT.) Every code block below > is an **example snippet**, **not part of the llamapress.ai codebase**, and **not > running on this server**. This is a reference recipe for a **Leo instance (an AI coding > agent) to implement in its own app** — read it to understand the pattern, then recreate > it there. "Add a chart" is the moment most dashboards go wrong: a pie for five categories, a tapering funnel graphic for numbers that aren't a funnel, a rainbow heatmap nobody can read. Chart choice is not taste — there is a research answer. **A chart is an answer to a question, and the question picks the chart** — not the data shape, and never the chart that looks impressive. This guide holds the chooser, the perception rules behind it, and dependency-free ERB/CSS/SVG recipes that hot-reload with the view. > **When to use:** before adding any chart, graph, sparkline, or progress bar — or when > an existing chart "looks wrong but I can't say why". > **When not to:** fewer than ~4 data points. Print the numbers; a three-bar chart is a > table with extra steps. --- ## The 80/20 in one breath 1. **Name the question** the chart answers, out loud, before choosing anything. 2. **Map the question to a relationship** (the chooser table below) — ranking, change over time, part-to-whole, deviation — and take that row's default chart. 3. **Prefer position and length encodings** (bars on a shared zero baseline, sorted). Angle (pies) and area (bubbles, trapezoids) decode far less accurately. 4. **Fewer than 4 points → no chart.** Print a big number instead. 5. **Build it as plain divs + Tailwind widths or inline SVG** — no chart library, no CDN, no build step. A partial per chart type so the encoding is identical everywhere. 6. **Label everything and print the values as text.** A chart is never the only carrier of a number. --- ## Layer 1 — The chooser: question → relationship → chart | The question | Relationship | Default chart | |---|---|---| | How did this move over time? | Change over time | **line** (many points) or **columns** (few, discrete points like days) | | Which item is biggest? | Ranking | **sorted horizontal bar** | | How big are these against each other? | Magnitude | column or bar, shared zero baseline | | How does the total split up? | Part-to-whole | **stacked bar** — almost never a pie | | How did the number get from A to B? | Deviation / flow | **waterfall** (gains green, losses rose) | | How are values spread out? | Distribution | histogram | | Are these two variables related? | Correlation | scatter | | Is this one number on track? | — | **no chart — a big number**, with a delta | If you can't name the row, you don't yet know what the chart is for — go back to the page's Job Sentence (see the progressive-disclosure guide). Why the defaults lean on bars and lines: experiments on graphical perception ranked how accurately people **decode** encodings. Position on a common scale is best, then length; angle (pie slices) and area (bubbles) are far worse; color saturation is dead last. Three consequences worth enforcing: - **A sorted horizontal bar beats a pie, always**, for "which is biggest" — and long labels fit on the left, where pie labels never do. - **Bars share a zero baseline or they lie.** Length is the encoding; truncating the axis multiplies the apparent ratio. (Lines may use a non-zero baseline — position, not length, is their encoding.) - **Color is the weakest quantitative channel**, so a heatmap is for spotting a *pattern*, never for reading a *value*. Print the number in the cell. ## Layer 2 — Sorted horizontal bar (ranking), plain divs The workhorse. Sorting IS the message; the number is printed so the bar is never the only carrier. ```erb <%# app/views/shared/_bar_chart.html.erb locals: rows: [["Organic search", 412], ["Direct", 288], ...] color: (optional) ->(label) { css class } — entity colors from your tokens helper %> <% max = rows.map(&:last).max.to_f %>
<% rows.sort_by { |_, v| -v }.each do |label, value| %>
<%= label %>
" style="width: <%= max.zero? ? 0 : (value / max * 100).round(1) %>%">
<%= value %>
<% end %>
``` Note the fill is `bg-slate-500`, not `bg-slate-200` — a bar that carries a value owes 3:1 contrast (WCAG 1.4.11). The pale `bg-slate-100` is only the empty track behind it. This same partial, un-sorted and with one bar per stage, is also the correct **funnel**: aligned bars on a shared baseline. Never the tapering-trapezoid graphic — it encodes value in area and breaks the moment users can skip or re-enter stages. ## Layer 3 — Cohort heatmap: sequential, fixed scale, numbers printed ```erb <%# app/views/shared/_heatmap_cell.html.erb — locals: pct: (0..100) %> <%# Sequential SINGLE hue, light → dark. The thresholds are FIXED so the same color means the same value in every month's report — never rescale to the current page. %> <% shade = if pct >= 60 then "bg-indigo-600 text-white" elsif pct >= 40 then "bg-indigo-400 text-white" elsif pct >= 20 then "bg-indigo-200 text-slate-800" else "bg-indigo-50 text-slate-500" end %> <%= pct %>% ``` Read a row to watch one cohort age; read a column to see whether newer cohorts do better. The color finds the pattern; the printed number gives the value. Never a rainbow, and never red-to-green — that's the exact pair lost to the most common color-vision deficiency. ## Layer 4 — Waterfall: how the net number got there The standard view for "new minus churned = net" (revenue movement, headcount, stock). A flat net figure can hide heavy churn masked by heavy new — the waterfall shows *how* the number got there. This is the one place status color touches a chart mark, because the mark *is* the direction: emerald gain, rose loss, slate total. ```erb <%# app/views/shared/_waterfall.html.erb — locals: gained:, lost: (both positive numbers) %> <% net = gained - lost %> <% scale = 120.0 / [gained, 1].max # px per unit; tallest bar = 120px %> <% px = ->(v) { (v * scale).round } %>
New
+<%= gained %>
<%# the floating bar: its BOTTOM sits at the net level, its top at the gained level %>
Churned
−<%= lost %>
Net
<%= net %>
``` Every bar is labeled with its value — an unlabeled chart is decoration. --- ## When NOT to chart - **Fewer than ~4 data points** → print the numbers, ideally one big number plus a delta indicator (see the color guide's `_delta` partial). - **The number only matters against a threshold** → state the number and the threshold in words: "3 of 5 seats used". - **A table with exact values sits right next to it** → keep one. Exact values needed: keep the table. Pattern needed: keep the chart. - **You can't label it** → don't ship it. --- ## Gotchas (the hard-won stuff) - **The truncated bar axis is the classic lie.** A bar chart starting at 80 makes a 5% difference look like 3×. Bars start at zero, full stop. - **Ranking charts must actually be sorted.** An unsorted bar chart makes the reader do the sorting the chart was supposed to do. (Time series are the exception — those sort by time.) - **Heatmap thresholds rescale silently.** If you compute shade breakpoints from the current page's min/max, the same color means different values in different months and cross-report comparison is dead. Hard-code the scale. - **Columns for days, lines for trends.** ~30 discrete daily values read better as columns; a line implies continuity between the points. Flip to a line when the point count makes columns unreadable. - **Pastel marks fail accessibility.** `bg-gray-200` / `bg-amber-100` bars carrying real values fail the 3:1 non-text contrast floor. Meaningful fill ≥ the 400 weight. - **Double encoding with no gain** — the same value as a bar *and* a pie *and* a gauge on one screen is three times the ink for one number. Pick the one the question picks. - **A 40px sparkline with no scale is decoration**, not information. If there's no room to label it, there's no room for it. - **If you genuinely need a library** (zoom, brushing, thousands of points), vendor a prebuilt UMD bundle into `app/javascript/vendor//` and load it with `javascript_include_tag` — never a ` ``` --- ## Layer 2 — Shared partials The frame wrapper every `show`/`edit` renders through: ```erb <%# app/views/shared/_drawer_content.html.erb %> <%# Drawer frame wrapper. Locals: title, subtitle (optional). Yields body. %> <%= turbo_frame_tag "record_drawer" do %>
<%= title %>
<% if local_assigns[:subtitle].present? %>
<%= subtitle %>
<% end %>
<%= yield %>
<% end %> ``` A reusable multi-select for the filter panel: ```erb <%# app/views/shared/_filter_select.html.erb %> <%# Locals: label, name (end it in [] for multi), options ([display, value] pairs), selected %>
``` --- ## Layer 3 — The index view One GET form wraps the entire screen: trigger strip, filter panel, and table. Submitting any filter is a plain page navigation with clean URL params. ```erb <%# app/views/contacts/index.html.erb %> <% content_for :title, "Contacts" %> <% status_options = Contact.statuses.keys.map { |s| [s.humanize, s] } page_size_options = [25, 50, 100, 200, 500] filter_keys = [:q, :start_date, :end_date, :statuses] filters_active = filter_keys.any? { |k| @filters[k].present? } %> <%= form_with url: contacts_path, method: :get, local: true, data: { turbo_frame: "_top" } do |f| %>
<%= link_to new_contact_path, class: "rounded-md bg-indigo-600 hover:bg-indigo-700 text-white text-sm font-medium px-3 py-1.5 inline-flex items-center gap-2", data: { turbo_frame: "record_drawer" } do %> New Contact <% end %>
<% @contacts.each do |contact| %> <% end %> <% if @contacts.empty? %> <% end %>
Name Company Status Created at Edit
<%= link_to contact.name.to_s.truncate(80), contact_path(contact), class: "hover:text-indigo-600", data: { turbo_frame: "record_drawer" } %> <%= contact.company.presence || "—" %> <% badge_class = case contact.status when "active" then "bg-emerald-50 text-emerald-700 border-emerald-200" when "inactive" then "bg-amber-50 text-amber-700 border-amber-200" else "bg-gray-100 text-gray-500 border-gray-200" end %> <%= contact.status.humanize %> <%= contact.created_at.strftime("%b %-d, %Y") %> <%= link_to edit_contact_path(contact), class: "inline-flex items-center justify-center w-7 h-7 rounded text-gray-400 hover:text-indigo-600 hover:bg-gray-100", title: "Edit", data: { turbo_frame: "record_drawer" } do %> <% end %>
No contacts match these filters
<% end %> ``` --- ## Layer 3.5 — Sortable column headers (server-side, one param with the dropdown) Clickable headers are where people expect sorting to live; a "Sort by" dropdown in the filter panel is still useful for sorts that have no column. Ship both, sharing ONE `sort` param whose whitelist lives next to the filter code — never two sorting code paths. ```ruby # app/controllers/contacts_controller.rb (or a query object) SORTS = { "newest" => "Newest first", "oldest" => "Oldest first", "name" => "Name A–Z", "status" => "Status" }.freeze def sort SORTS.key?(params[:sort].to_s) ? params[:sort].to_s : "newest" end # in index, after the filters: scope = case sort when "oldest" then scope.reorder(created_at: :asc) when "name" then scope.reorder(Arel.sql("LOWER(name) ASC")) when "status" then scope.reorder(status: :asc, created_at: :desc) else scope.reorder(created_at: :desc) end ``` Each header is a link that swaps `sort` while keeping every filter param (and dropping `page`, so a re-sort lands on page 1). Give each sort key a FIXED direction and let the primary date column toggle between its two keys — simpler and more predictable than tri-state asc/desc/none on every column: ```erb <%# app/views/contacts/index.html.erb — replace the static labels %> <% sort_qp = request.query_parameters.except("page") sort_header = lambda do |label, key, toggle_with: nil| active = params_sort == key || (toggle_with && params_sort == toggle_with) target = (params_sort == key && toggle_with) ? toggle_with : key arrow = if !active then "fa-sort text-gray-300" elsif params_sort == "oldest" then "fa-arrow-up-long text-indigo-600" else "fa-arrow-down-long text-indigo-600" end link_to contacts_path(sort_qp.merge(sort: target)), class: "inline-flex items-center gap-1 hover:text-gray-700 #{'text-indigo-700' if active}" do safe_join([label, tag.i(class: "fas #{arrow} text-[9px]")], " ") end end %> <%= sort_header.call("Name", "name") %> <%= sort_header.call("Status", "status") %> <%= sort_header.call("Created", "newest", toggle_with: "oldest") %> ``` (`params_sort` above = the whitelisted `sort` reader from the controller/query object, exposed however you like — an `@sort` ivar works.) **Sorting by a value that is NOT a database column** (a score from a cache file, an external API figure): you cannot `ORDER BY` it. If the ranked set is small, rank those ids explicitly with `array_position` and leave everyone else in default order after them — proven with a ~50-customer lifetime-revenue cache over an 11k-row table: ```ruby # ids already sorted by the external value, highest first; integers only — # never interpolate user input into this array. ranked_ids = ltv_cache.sort_by { |_, cents| -cents }.map { |id, _| id.to_i } scope.reorder(Arel.sql( "array_position(ARRAY[#{ranked_ids.join(',')}]::bigint[], contacts.id::bigint) ASC NULLS LAST, contacts.created_at DESC" )) ``` --- ## Layer 4 — Stimulus: the left filter panel Width-transition open/close. Collapsed is `w-0 px-0 opacity-0`; the inner `w-64` div keeps the content from reflowing during the animation. ```js // app/javascript/controllers/filter_drawer_controller.js import { Controller } from "@hotwired/stimulus" export default class extends Controller { static targets = ["panel", "filterIcon", "closeIcon"] connect() { this.close() } toggle() { this.panelTarget.classList.contains("w-0") ? this.open() : this.close() } open() { this.panelTarget.classList.remove("w-0", "px-0", "opacity-0") this.panelTarget.classList.add("w-64", "px-4", "opacity-100") this.panelTarget.style.pointerEvents = "" if (this.hasCloseIconTarget) this.closeIconTarget.classList.remove("hidden") if (this.hasFilterIconTarget) this.filterIconTarget.classList.add("hidden") } close() { this.panelTarget.classList.add("w-0", "px-0", "opacity-0") this.panelTarget.classList.remove("w-64", "px-4", "opacity-100") this.panelTarget.style.pointerEvents = "none" if (this.hasCloseIconTarget) this.closeIconTarget.classList.add("hidden") if (this.hasFilterIconTarget) this.filterIconTarget.classList.remove("hidden") } } ``` --- ## Layer 5 — Controller: permit the filters, chain the scopes ```ruby # app/controllers/contacts_controller.rb class ContactsController < ApplicationController before_action :set_contact, only: %i[ show edit update destroy ] def index @filters = index_filter_params scope = Contact.order(created_at: :desc) if @filters[:q].present? q = "%#{Contact.sanitize_sql_like(@filters[:q])}%" scope = scope.where("name ILIKE :q OR email ILIKE :q OR company ILIKE :q", q: q) end scope = scope.where("created_at >= ?", parse_date(@filters[:start_date])) if @filters[:start_date].present? scope = scope.where("created_at <= ?", parse_date(@filters[:end_date])&.end_of_day) if @filters[:end_date].present? scope = scope.where(status: @filters[:statuses]) if @filters[:statuses].present? per_page = @filters[:page_size].to_i.clamp(1, 500) @pagy, @contacts = pagy(scope, limit: per_page) # no pagy? see How to adapt @total_count = Contact.count end def show; end def edit; end def new @contact = Contact.new end # Scaffold-standard create/update work UNCHANGED with the drawer: # the redirect is followed INSIDE the frame → drawer swaps to the fresh show view; # validation errors re-render the form inside the drawer. def create @contact = Contact.new(contact_params) if @contact.save redirect_to @contact, notice: "Contact created." else render :new, status: :unprocessable_entity end end def update if @contact.update(contact_params) redirect_to @contact, notice: "Contact updated.", status: :see_other else render :edit, status: :unprocessable_entity end end def destroy @contact.destroy! redirect_to contacts_path, notice: "Contact deleted.", status: :see_other end private def set_contact @contact = Contact.find(params[:id]) end def contact_params params.require(:contact).permit(:name, :email, :company, :phone, :website, :status, :notes) end def index_filter_params permitted = params.permit(:q, :start_date, :end_date, :page_size, statuses: []).to_h.symbolize_keys permitted[:page_size] = 100 if permitted[:page_size].blank? permitted end # Bad date strings from the URL must not 500 the page. def parse_date(value) Date.parse(value.to_s) rescue ArgumentError, TypeError nil end end ``` --- ## Layer 6 — show & edit: normal views that land in the drawer The drawer shows **all** the columns, even though the table showed four. ```erb <%# app/views/contacts/show.html.erb %> <%= render "shared/drawer_content", title: "Contact", subtitle: @contact.name do %> <% { "Name" => @contact.name, "Email" => @contact.email, "Company" => @contact.company, "Phone" => @contact.phone, "Website" => @contact.website, "Status" => @contact.status.humanize, "Notes" => @contact.notes, "Created" => @contact.created_at.strftime("%b %-d, %Y %H:%M") }.each do |label, value| %>
<%= label %> <%= value.presence || "—" %>
<% end %>
<%= link_to edit_contact_path(@contact), class: "rounded-md bg-indigo-600 hover:bg-indigo-700 text-white text-sm px-3 py-1.5 inline-flex items-center gap-1", data: { turbo_frame: "record_drawer" } do %> Edit <% end %> <%= button_to @contact, method: :delete, class: "rounded-md bg-rose-500 hover:bg-rose-600 text-white text-sm px-3 py-1.5 inline-flex items-center gap-1", form: { data: { turbo_frame: "_top", turbo_confirm: "Delete this contact?" }, class: "inline" } do %> Delete <% end %>
<% end %> ``` ```erb <%# app/views/contacts/edit.html.erb %> <%= render "shared/drawer_content", title: "Editing Contact", subtitle: @contact.name do %> <%= render "form", contact: @contact %>
<%= link_to "Cancel", contact_path(@contact), class: "text-sm text-gray-500 hover:text-gray-700", data: { turbo_frame: "record_drawer" } %>
<% end %> ``` `new.html.erb` is the same shape as `edit` (title "New Contact", render the form). The `_form` partial is a scaffold-standard `form_with model: contact` — no frame attributes needed on it; a form inside a frame targets that frame by default. --- ## Gotchas (the hard-won stuff) - **Reset the frame's `src` on close, not just its content.** Turbo won't re-navigate a frame whose `src` already equals the clicked URL. If close only clears `innerHTML`, clicking the SAME row again silently does nothing and the drawer never reopens. The close handler must do both: `frame.removeAttribute('src'); frame.innerHTML = ''`. - **Open the drawer on `turbo:frame-load`, not on click.** Opening on click flashes an empty white panel while the fetch is in flight. Waiting for the frame to load means the drawer slides in already populated. (Corollary: if the drawer "doesn't open", check the browser console — a failed frame fetch means no `turbo:frame-load` fires.) - **The row-click handler must ignore interactive descendants.** Without the `e.target.closest('a, button, input, select, textarea, [data-no-drawer]')` guard, the pencil link fires AND the row handler fires — double navigation. `[data-no-drawer]` is the escape hatch for any future in-row widget. - **Scaffold redirects are followed INSIDE the frame — usually what you want.** After a successful update, `redirect_to @contact` swaps the drawer to the fresh show view. Trade-off: the table row behind the drawer still shows stale values until the next page navigation. If that matters, break out instead: submit the form with `data: { turbo_frame: "_top" }` to reload the whole filtered index after save. - **`destroy` MUST break out to `_top`.** A delete that responds inside the frame leaves the dead record's row sitting in the table. `button_to ... form: { data: { turbo_frame: "_top" } }` makes the redirect reload the index so the row disappears. - **Wrap the index in ONE GET form and stamp it `data: { turbo_frame: "_top" }`.** Everything in the filter panel is a plain field of that form, so "Apply Filters" is a normal navigation with clean, shareable URL params — and the `_top` stamp guarantees a filter submit never gets captured by the drawer frame. - **Permit array params explicitly.** `params.permit(:q, statuses: [])` — forget the `statuses: []` declaration and multi-selects silently arrive empty. - **Guard date parsing.** A hand-edited URL like `?start_date=garbage` will 500 the index through `Date.parse`. Always rescue to `nil` (the `parse_date` helper above). - **Direct visits to `/contacts/1` still work, but look bare.** The frame renders inline in the main content area (the drawer shell stays closed). Fine for an admin tool; if it bothers you, have `show` redirect HTML requests without a `Turbo-Frame` header to the index. - **Sticky header needs the right scroll container.** `sticky top-0` on `` only works because the `overflow-auto` div is the table's nearest scroll ancestor. Put `overflow-x-auto` on a different wrapper and the header scrolls away. Corollary for a table that scrolls WITH THE PAGE (no fixed-height layout): an `overflow-x-auto` wrapper — which wide tables need — becomes the scroll ancestor and kills vertical sticking against body scroll. The fix is to stop body-scrolling the table: cap the card (`max-h-[calc(100vh-
px)]`), make the table wrapper `flex-1 overflow-auto`, and add `z-10` (plus the `bg-gray-50`) on the thead so row content doesn't paint over it. Pagination stays OUTSIDE the scrolling card. - **Sort headers and a sort dropdown must share one param + one whitelist.** Two sort code paths (header links with their own `order` param, dropdown with another) is how a page silently shows one order while claiming another. One whitelisted `sort` key, one `case` in the controller; the header link builder and the dropdown both read it. Build header links from `request.query_parameters.except("page")` so re-sorting keeps every filter and returns to page 1. - **Flash inside a frame response is invisible.** A `notice:` on the redirect renders in the layout, which frame responses strip — so nothing shows. Either live without toasts for drawer actions, or embed the flash inside the frame content in a hidden `[data-drawer-flash]` div and have the layout JS move it to a fixed toast host on `turbo:frame-load` (the source project does exactly this). - **Font Awesome isn't guaranteed on every box.** The icons here (`fa-filter`, `fa-times`, `fa-search`, `fa-pen`, `fa-plus`, `fa-trash`) need Font Awesome in the layout. No FA? Use inline SVGs or text glyphs (✕, ✎) — the pattern doesn't care. - **Collapse the panel with `w-0 px-0 opacity-0`, keep a fixed-width inner div.** Animating the outer width while an inner `w-64` div holds the content is what makes the slide smooth — animate the padding/width of the content itself and it reflows mid-animation. --- ## Files this pattern touches ``` app/views/layouts/application.html.erb # drawer shell + CSS + JS (once, global) app/views/shared/_drawer_content.html.erb # frame wrapper for show/edit/new app/views/shared/_filter_select.html.erb # reusable multi-select filter app/views/contacts/index.html.erb # trigger strip + filter panel + table app/views/contacts/show.html.erb # all columns, in the drawer app/views/contacts/edit.html.erb # form, in the drawer app/views/contacts/new.html.erb # form, in the drawer app/javascript/controllers/filter_drawer_controller.js app/controllers/contacts_controller.rb # filter params + scopes ``` ## How to adapt to your schema 1. **Swap the model.** Replace `Contact` and its routes. Pick the 4–6 columns humans scan for the table; everything else lives only in the drawer's show/edit views. 2. **Pick your filters.** Text search + date range + one or two multi-selects covers most admin tables. For an association filter (e.g. by category), render another `shared/filter_select` with `options: Category.order(:name).pluck(:name, :id)` and add `category_ids: []` to the permitted params + a `where(category_id: ...)` scope. 3. **No pagy?** Replace the pagy line with `@contacts = scope.limit(per_page).offset(([params[:page].to_i, 1].max - 1) * per_page)` and simple prev/next links that carry the filter params. Keep the 500 cap — an unbounded index on a big table can eat a small box's RAM. 4. **Second resource?** Reuse the layout drawer, both shared partials, and the Stimulus controller as-is. You only write the new index markup and the show/edit bodies. 5. **Drawer too narrow/wide?** It's one class on the `