<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ejaz Arain</title>
    <description>The latest articles on DEV Community by Ejaz Arain (@ejazarain).</description>
    <link>https://dev.to/ejazarain</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4219227%2F0fc5f6d1-7f25-4213-b8a7-3399efdb908a.jpg</url>
      <title>DEV Community: Ejaz Arain</title>
      <link>https://dev.to/ejazarain</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ejazarain"/>
    <language>en</language>
    <item>
      <title>Rutba Data Files: twenty-five business templates, and the paperwork each one prints</title>
      <dc:creator>Ejaz Arain</dc:creator>
      <pubDate>Sun, 01 Nov 2026 09:42:17 +0000</pubDate>
      <link>https://dev.to/ejazarain/rutba-data-files-twenty-five-business-templates-and-the-paperwork-each-one-prints-2jb9</link>
      <guid>https://dev.to/ejazarain/rutba-data-files-twenty-five-business-templates-and-the-paperwork-each-one-prints-2jb9</guid>
      <description>&lt;p&gt;&lt;em&gt;First published on &lt;a href="https://rutba.io/blog/rutba-data-files-twenty-five-business-templates-and-what-they-print" rel="noopener noreferrer"&gt;rutba.io&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Rutba Data Files, the free database in Rutba Office, comes with a working database for twenty-five kinds of small business, from a takeaway to a landlord. Each has its tables, queries, reports and print templates ready, with a year of invented records or none.&lt;/p&gt;

&lt;p&gt;Most small businesses keep their records in a spreadsheet until the copies start to disagree. A database fixes that, but an empty one asks you to design tables before you can type a single customer in. Rutba Data Files, the free database in Rutba Office for Windows, answers that with a working database for twenty-five kinds of small business, each one ready to use as it stands or to change.&lt;/p&gt;

&lt;p&gt;Data Files itself does what Microsoft Access does for a small business. A database is one .rbase file on your computer, with SQLite inside and a published format, holding related tables, queries you design or write in SQL, forms, reports, and print templates that lay out one record as a business sends it. &lt;a href="https://rutba.io/blog/rutba-data-files-a-free-database-for-small-businesses" rel="noopener noreferrer"&gt;The Data Files post&lt;/a&gt; goes through all of that. This one is about the templates.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/-DEvQQVbzng" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What one template holds
&lt;/h2&gt;

&lt;p&gt;Each business template is a whole database, not a starter table. It has between eleven and nineteen tables, a form for every table, the queries the owner of that kind of business asks every week, reports to print them, and print templates for what the business sends out. Across the twenty-five there are 392 tables, 404 queries, 237 reports and 122 print templates.&lt;/p&gt;

&lt;p&gt;The first table in each is called Start Here. It holds the everyday tasks a step at a time, and every step says which table, form, query, report or print template to open. Its report prints the whole guide. When you know your way round, delete the table: nothing else uses it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4pi2oqdwgri3zts5058t.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4pi2oqdwgri3zts5058t.jpg" alt="The Start Here report of a takeaway database in Data Files: a page headed Start here, the everyday tasks, step by step, with numbered steps for taking a phone order and sending it to the kitchen." width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Start Here: the takeaway's everyday tasks, each step naming what to open.&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;With sample records&lt;/strong&gt;, a template is a business already trading: a year or more of invented orders, sales and payments, made up a day at a time, from about 2,600 records at the letting business to over 88,000 at the corner shop. It is the quickest way to see what the queries and reports are for.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Empty&lt;/strong&gt;, it has the same tables, queries, forms, reports and print templates with nothing in them, waiting for your own records.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything in the sample records is invented: the business, its people and their addresses, email addresses on example domains that reach nobody, and phone numbers from the ranges kept for drama and fiction. Tax, company and bank numbers are zeros.&lt;/p&gt;

&lt;h2&gt;
  
  
  Starting with your own records
&lt;/h2&gt;

&lt;p&gt;Every guide says where to begin when you start empty, and it is always the Business table: your name, address, phone and VAT number, and the words at the foot of a receipt. Every invoice, receipt and letter prints its heading from there. Then come the lists the rest point at, then the everyday records as they happen.&lt;/p&gt;

&lt;p&gt;At the takeaway, for example, that means the delivery zones with their charges and the driver's fee for a drop, then the sizes, menu items, ingredients and the recipe lines for each dish, then the staff. Customers are added as they first order. From then on each order is an Orders record with its lines, each night has a Nights sheet, and each week every driver has a pay sheet with their drops pointing at it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The twenty-five businesses
&lt;/h2&gt;

&lt;p&gt;They come in five groups. Each name below links to its page on office.rutba.io, which has its full guide, every table and field, a download, and a film of its own.&lt;/p&gt;

&lt;h3&gt;
  
  
  Shops and food
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/larkspur-corner-store" rel="noopener noreferrer"&gt;Larkspur Corner Store&lt;/a&gt;, a neighbourhood shop: the till with VAT, stock, supplier orders and loyalty customers. Prints a sale receipt on an 80 mm till roll and a supplier order.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/bramblegate-wine-and-deli" rel="noopener noreferrer"&gt;Bramblegate Wine and Deli&lt;/a&gt;, a food and drink shop: stock kept by batch and date, a morning date check that marks down and writes off, and age checks at the till. Prints a reduced label on a 58 mm roll, a markdown label sheet and a refusals register.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/little-fig-cafe" rel="noopener noreferrer"&gt;Little Fig Cafe&lt;/a&gt;: the menu with recipes and food costs, till orders, the rota, waste and the nightly cash-up. Prints receipts, purchase orders and payslips.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/saffron-lane-pizza-and-curry" rel="noopener noreferrer"&gt;Saffron Lane Pizza and Curry&lt;/a&gt;, a takeaway: phone, walk-in and online orders, delivery zones and drivers, meal deals and the night's takings. Prints a customer receipt, a kitchen ticket, a delivery slip and a driver pay sheet.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/hazel-row-flowers" rel="noopener noreferrer"&gt;Hazel Row Flowers&lt;/a&gt;, a florist: stems and their waste, bouquet recipes, deliveries and weddings. Prints a gift card message, a delivery note, a wedding quote and a wedding invoice.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/tansy-row-pharmacy" rel="noopener noreferrer"&gt;Tansy Row Pharmacy&lt;/a&gt;, a pharmacy counter: stock by batch and expiry, pharmacist checks, prescription collections and home deliveries. Prints a delivery round sheet and an expiry return note.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Trade, making and building
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/northbank-trading" rel="noopener noreferrer"&gt;Northbank Trading&lt;/a&gt;, a wholesaler: customers, suppliers, orders, purchase orders, stock and invoices. Prints invoices, delivery notes and statements.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/granite-and-grain-woodworks" rel="noopener noreferrer"&gt;Granite and Grain Woodworks&lt;/a&gt;, a furniture workshop: materials, bills of materials, work orders and makers' hours. Prints a quote, a works order and a VAT invoice.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/kilnside-builders" rel="noopener noreferrer"&gt;Kilnside Builders&lt;/a&gt;, a small building firm: quotes, contracts, stage payments, variations, retentions and job costs. Prints a contract, a stage invoice and a variation order.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/copperbeech-motors" rel="noopener noreferrer"&gt;Copperbeech Motors&lt;/a&gt;, a used car dealer: preparation costs, test drives, finance, warranties and part-exchanges. Prints a sales invoice, a part-exchange valuation, a warranty certificate and a window card.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Services
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/marigold-hair-and-beauty" rel="noopener noreferrer"&gt;Marigold Hair and Beauty&lt;/a&gt;, a salon: the appointment book, commission, retail stock and gift vouchers. Prints a gift voucher and a commission statement.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/copper-pole-barbers" rel="noopener noreferrer"&gt;Copper Pole Barbers&lt;/a&gt;: the queue board, takings by barber, loyalty cards and chair rent. Prints a chair rental agreement and its invoice.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/ironbridge-repairs" rel="noopener noreferrer"&gt;Ironbridge Repairs&lt;/a&gt;, for phones, laptops and small appliances: jobs, quotes, parts and warranties. Prints a booking-in receipt and a collection receipt.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/quarrybank-motors" rel="noopener noreferrer"&gt;Quarrybank Motors&lt;/a&gt;, a garage and MOT centre: vehicles, job cards, MOT tests, services and reminders. Prints an estimate, a job card and a reminder letter.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/fernhollow-cleaning" rel="noopener noreferrer"&gt;Fernhollow Cleaning&lt;/a&gt;, a cleaning company: sites, contracts, the rota and visits. Prints a cleaning contract, a site visit sheet and payslips.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/bramble-studio" rel="noopener noreferrer"&gt;Bramble Studio&lt;/a&gt;, a consultancy or agency: projects, time sheets and expenses. Prints a proposal, a letter of engagement and a weekly time sheet.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/tannery-yard-fitness" rel="noopener noreferrer"&gt;Tannery Yard Fitness&lt;/a&gt;, a gym: monthly plans, direct debits, class bookings and personal training packs. Prints a membership agreement and a membership card.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Health, learning and community
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/cedar-lane-clinic" rel="noopener noreferrer"&gt;Cedar Lane Clinic&lt;/a&gt;, a small private clinic: patients, appointments, visit notes and recalls. Prints an appointment letter, a recall letter and an insurer statement.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/lantern-learning-centre" rel="noopener noreferrer"&gt;Lantern Learning Centre&lt;/a&gt;, a tuition or training centre: students and families, registers, test results and termly fees. Prints a term report and a certificate of completion.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/rowanmere-community-trust" rel="noopener noreferrer"&gt;Rowanmere Community Trust&lt;/a&gt;, a charity or club: members, supporters, gifts and the tax claimed on them, events, volunteers and grants. Prints a donation receipt, an event ticket and a tax claim schedule.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Property, premises and staff
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/hollybrook-lettings" rel="noopener noreferrer"&gt;Hollybrook Lettings&lt;/a&gt;, a landlord with homes, shops and workshops: leases, rent invoices, deposits, repairs and safety checks. Prints a tenancy agreement, a rent arrears letter and a notice of inspection.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/fernleigh-estates" rel="noopener noreferrer"&gt;Fernleigh Estates&lt;/a&gt;, an estate and letting agent: properties, applicants, viewings, offers, sales to completion and managed lets. Prints a memorandum of sale and a landlord statement.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/gullhaven-guest-house" rel="noopener noreferrer"&gt;Gullhaven Guest House&lt;/a&gt;, a guest house or B and B: rooms, rates, bookings, deposits and booking-site commission. Prints a booking confirmation, a guest bill and a registration card.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/copperfield-house" rel="noopener noreferrer"&gt;Copperfield House&lt;/a&gt;, an office building's front desk: visitors, badges, contractor inductions, deliveries and fire roll calls. Prints a visitor pass on a 58 mm roll and a fire roll call.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://office.rutba.io/samples/wrenmoor-garden-centre" rel="noopener noreferrer"&gt;Wrenmoor Garden Centre&lt;/a&gt;, for any business with staff: contracts, holidays, absence, timesheets, pay runs and payslips. Prints a payslip, a leave request and an annual pay summary.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Paperwork that fits the job
&lt;/h2&gt;

&lt;p&gt;Of the 122 print templates, ninety-one are on A4, twelve on A5, fourteen on an 80 mm till roll and five on a 58 mm roll, for labels, cards and passes. Each takes its letterhead from the Business table and its lines from the record, and prints from the form showing that record, or saves as a PDF.&lt;/p&gt;

&lt;p&gt;They are made for the way each business works rather than one invoice dressed up twenty-five ways. The takeaway prints a kitchen ticket as the order is taken and a delivery slip to tape to the bag, for deliveries only. The deli prints a reduced label for each pack it marks down. The letting business sends a rent arrears letter, and the charity a schedule of the gifts it claims tax on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flzf2o4by472ionmtuvgs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flzf2o4by472ionmtuvgs.jpg" alt="A takeaway's delivery slip printed from Data Files on a narrow roll: the customer, address, postcode, phone, zone, due time and driver, the items with their sizes, the order total, the cash to collect, and a note to hand the cash in at the end of the night." width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The takeaway's delivery slip shows the cash to collect, or a line saying the order is paid already.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/cyZxFcTHAtQ" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Made to be changed
&lt;/h2&gt;

&lt;p&gt;No template will match your business exactly, so every guide ends with ways to bend it. Some examples, from the guides themselves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The takeaway charges by zone. To charge by distance, add a Miles field to Customers and a calculated delivery charge in a query, such as 1.50 plus 0.50 a mile.&lt;/li&gt;
&lt;li&gt;The deli sells by the item. To sell cheese and meat by weight, add a Weight field to Sale Lines and work out each line as Round([Weight] * [Unit Price], 2).&lt;/li&gt;
&lt;li&gt;The landlord owns its buildings. To manage them for owners, add an Owners table with each owner's management fee, and a query that takes the fee off the rent to show what you pay them.&lt;/li&gt;
&lt;li&gt;The charity claims tax back on gifts. Where there is no such scheme, delete the Tax Claims table, the query that lists gifts to claim and the claim schedule report; where the scheme pays a different share, change the 0.25 in that query.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/scWTPXde7ms" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Five simpler ones
&lt;/h2&gt;

&lt;p&gt;Beside the businesses sit five small databases of one to four tables, for when a whole business is more than you need: Contacts, with a phone list to print; Inventory, with every stock movement and what is running low; Membership, with the renewals coming due; Customers and sales, for the deals in hand and each call or meeting; and a Lending library for books and who has them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Newer designs, and your changes kept
&lt;/h2&gt;

&lt;p&gt;The templates arrive with Rutba Office's own update check, signed by Rutba. A database made from one remembers where it came from, and when a newer design comes out it is offered, never forced. New tables and fields are added and nothing is taken away. A query, form or template you never touched is replaced, and one you changed keeps your version, with the newer one beside it.&lt;/p&gt;

&lt;p&gt;To learn Data Files from the beginning, &lt;a href="https://rutba.io/blog/the-data-files-course-sixteen-films-from-an-empty-file-to-a-shop" rel="noopener noreferrer"&gt;the Data Files course&lt;/a&gt; builds a shop's database from an empty file in short films. Data Files is one of the apps you add from Choose apps in Rutba Office.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download Rutba Office.&lt;/strong&gt; Data Files and its twenty-five business templates come free with Rutba Office for Windows, with no telemetry, and no account except for Talk. &lt;a href="https://office.rutba.io/download" rel="noopener noreferrer"&gt;Download&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Moving from Microsoft Access or another file database such as LibreOffice Base? Data Files imports the tables of Access .mdb and .accdb files and of dBASE files into a new database, kept in one file on your own computer. Rutba Office is a Tech Style product: &lt;a href="https://tech-style.co/product-rutba-office" rel="noopener noreferrer"&gt;tech-style.co/product-rutba-office&lt;/a&gt;. Its own site, with the free download, is &lt;a href="https://office.rutba.io" rel="noopener noreferrer"&gt;office.rutba.io&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>database</category>
      <category>opensource</category>
      <category>smallbusiness</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Ten films of the Rutba Suite at work, each run by an invented business</title>
      <dc:creator>Ejaz Arain</dc:creator>
      <pubDate>Sun, 01 Nov 2026 09:41:34 +0000</pubDate>
      <link>https://dev.to/ejazarain/ten-films-of-the-rutba-suite-at-work-each-run-by-an-invented-business-14l1</link>
      <guid>https://dev.to/ejazarain/ten-films-of-the-rutba-suite-at-work-each-run-by-an-invented-business-14l1</guid>
      <description>&lt;p&gt;&lt;em&gt;First published on &lt;a href="https://rutba.io/blog/films-of-the-rutba-suite-at-work" rel="noopener noreferrer"&gt;rutba.io&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Ten short films now show the Rutba Suite doing a day's work: a corner shop, a wholesaler, a takeaway, a garden centre, a furniture workshop and a building firm, all invented, each using the apps for what that business actually needs.&lt;/p&gt;

&lt;p&gt;A product page can say that the till and the website share one catalogue. A film can show a price changed in one place and charged in the other. So each product in the Rutba Suite's “Run the business” shelf now has a film of three to five minutes, set in a business that needs it, and each film has a post here that follows it step by step.&lt;/p&gt;

&lt;h2&gt;
  
  
  The ten films
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Commerce:&lt;/strong&gt; &lt;a href="https://rutba.io/blog/rutba-commerce-on-film-a-corner-shop-from-the-website-to-the-till" rel="noopener noreferrer"&gt;a corner shop's website, catalogue and till&lt;/a&gt;, at Larkspur Corner Store.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inventory:&lt;/strong&gt; &lt;a href="https://rutba.io/blog/rutba-inventory-on-film-a-warehouse-from-goods-in-to-buying-again" rel="noopener noreferrer"&gt;a warehouse from goods in to buying again&lt;/a&gt;, at Northbank Trading.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Orders:&lt;/strong&gt; &lt;a href="https://rutba.io/blog/rutba-orders-on-film-a-takeaway-from-the-board-to-the-door" rel="noopener noreferrer"&gt;a takeaway's order from the board to the door&lt;/a&gt;, at Saffron Lane.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CRM:&lt;/strong&gt; &lt;a href="https://rutba.io/blog/rutba-crm-on-film-leads-calls-and-a-late-delivery-on-one-record" rel="noopener noreferrer"&gt;leads, calls and a late delivery on one record&lt;/a&gt;, at Northbank Trading.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;People:&lt;/strong&gt; &lt;a href="https://rutba.io/blog/rutba-people-on-film-the-time-clock-the-pay-run-and-the-hiring-board" rel="noopener noreferrer"&gt;the time clock, the pay run and the hiring board&lt;/a&gt;, at Wrenmoor Garden Centre.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Books:&lt;/strong&gt; &lt;a href="https://rutba.io/blog/rutba-books-on-film-an-invoice-paid-and-the-year-so-far" rel="noopener noreferrer"&gt;an invoice paid and the year so far&lt;/a&gt;, at Northbank Trading.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Facilities:&lt;/strong&gt; &lt;a href="https://rutba.io/blog/rutba-facilities-on-film-a-workshop-its-assets-and-a-lapsed-contractor" rel="noopener noreferrer"&gt;a workshop's assets and a lapsed contractor&lt;/a&gt;, at Granite and Grain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fleet:&lt;/strong&gt; &lt;a href="https://rutba.io/blog/rutba-fleet-on-film-the-lorry-the-wrong-licence-cannot-take" rel="noopener noreferrer"&gt;the lorry the wrong licence cannot take&lt;/a&gt;, at Kilnside Builders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manufacturing:&lt;/strong&gt; &lt;a href="https://rutba.io/blog/rutba-manufacturing-on-film-a-walnut-table-released-to-the-floor" rel="noopener noreferrer"&gt;a walnut table released to the floor&lt;/a&gt;, at Granite and Grain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sign:&lt;/strong&gt; &lt;a href="https://rutba.io/blog/rutba-sign-on-film-understand-the-paper-then-draft-it-for-the-place" rel="noopener noreferrer"&gt;understand the paper, then draft it for the place&lt;/a&gt;, on the public Rutba Sign site.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/uY0dtLDsYs4" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Why invented businesses
&lt;/h2&gt;

&lt;p&gt;Software films usually show an empty account, or a real customer's data with names blurred. Neither shows what the product is for. Each of these businesses was made up with a year of trading behind it: Northbank Trading has customers who pay late and a supplier who cancels an order, Kilnside Builders has a driver whose licence has expired and a tipper whose insurance has lapsed. The films were shot on copies of the apps loaded with those made-up records, so no real customer, employee or figure appears in any of them.&lt;/p&gt;

&lt;p&gt;Several businesses appear more than once. Northbank Trading's stock, customers and books are one set of records across three films, and Granite and Grain's workshop machines turn up in both Facilities and Manufacturing, which is the point of a suite: the apps share a record rather than an export, as &lt;a href="https://rutba.io/blog/how-the-rutba-modules-fit-together-for-a-small-business" rel="noopener noreferrer"&gt;an earlier post on how the modules fit together&lt;/a&gt; explains.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a film may show
&lt;/h2&gt;

&lt;p&gt;Every script was checked against the apps before shooting, and a step the app could not do was cut rather than faked. Where a film found a fault, it went to the people who own that app to be fixed, rather than being hidden on camera. Each film is on its product's page and on the Rutba YouTube channel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Rutba Suite.&lt;/strong&gt; Every product in the suite, each with its film, prices and the apps it includes. &lt;a href="https://rutba.io/suites" rel="noopener noreferrer"&gt;Browse the suite&lt;/a&gt;&lt;/p&gt;

</description>
      <category>smallbusiness</category>
      <category>saas</category>
      <category>productivity</category>
      <category>business</category>
    </item>
    <item>
      <title>Rutba Vision: video surveillance for camera networks past the size one recorder copes with</title>
      <dc:creator>Ejaz Arain</dc:creator>
      <pubDate>Sat, 31 Oct 2026 15:29:37 +0000</pubDate>
      <link>https://dev.to/ejazarain/rutba-vision-video-surveillance-for-camera-networks-past-the-size-one-recorder-copes-with-106b</link>
      <guid>https://dev.to/ejazarain/rutba-vision-video-surveillance-for-camera-networks-past-the-size-one-recorder-copes-with-106b</guid>
      <description>&lt;p&gt;&lt;em&gt;First published on &lt;a href="https://rutba.io/blog/rutba-vision-camera-networks-past-the-size-one-recorder-copes-with" rel="noopener noreferrer"&gt;rutba.io&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A handful of cameras is a product you buy. A hundred and fifty, writing terabytes a day, is an operations problem, and it fails the same ways each time. The disks fill and recording silently stops. The event database bloats until queries time out. A camera's clock drifts and its footage stops counting as evidence. And one box is the whole system, so one failure is an outage. Rutba Vision is built around those failures, and this is how.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/BgM3jx6Ma6k" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  The same software at every size
&lt;/h2&gt;

&lt;p&gt;Every machine runs the same node agent, and a site's nodes take three roles. Edge nodes hold the cameras: the relay keeps the only connection to each camera and fans it out to the recorder, live view, detection and RTSP out. Analysis nodes run the AI and codec work, and are added as the analytics grow. The core runs the Vision Bus, the index, the API and the console. A branch with a handful of cameras runs all three roles on one machine, and a large warehouse spreads them over several. Nothing changes but the node count.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sites stand alone, and HQ sees them together
&lt;/h2&gt;

&lt;p&gt;Each site records and analyses its own cameras and keeps its own footage. Sites dial out to a hub at HQ over TLS, so no site needs an inbound port. Each uplink keeps a 30-day outbox that drains in order when the line comes back, and moves on only when the hub acknowledges, so an outage of days loses nothing.&lt;/p&gt;

&lt;p&gt;The hub holds the sites' events, incidents, tracks, thumbnails and health in one store, and fetches footage from a site only when someone opens it. A regional hub can uplink to a national one, so the picture follows the way the organisation is run.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fexwwuywbbfdl72ipybcc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fexwwuywbbfdl72ipybcc.jpg" alt="A hub at HQ above three sites: a warehouse with 150 cameras on five nodes, a plant with 40 cameras on one node and a branch with 8 cameras on one node. Metadata goes up and footage comes on demand." width="799" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Recording is the floor, not the feature
&lt;/h2&gt;

&lt;p&gt;The recorder copies each camera's own stream into self-contained fMP4 segments and hashes every file with SHA-256 as it writes. Nothing is decoded on the way, so recording costs packet handling rather than a GPU. Segments are written to a spool and renamed into place, so a crash never leaves half a segment in the catalogue, and each one plays on its own.&lt;/p&gt;

&lt;p&gt;Nothing above the recorder can stop it. Detection, AI, indexing and distribution can all be down, and footage is still written, catalogued and kept. Cameras are assigned to nodes rather than tied to one: a node silent for 15 seconds loses its cameras to the others, and recording resumes there.&lt;/p&gt;

&lt;p&gt;The everyday failures are dealt with where they happen. Each edge node's storage guard enforces retention and free space itself. Metadata is kept in one file per day, so expiring it is deleting a file and nothing bloats. Video is stamped in UTC as it arrives, so footage never depends on a camera's clock, and the clocks are still checked on a schedule.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI where it earns its keep
&lt;/h2&gt;

&lt;p&gt;Detection is switched on camera by camera, each with its own stream, resolution and frame rate. A loading bay can watch for theft and loitering, while a corridor that only needs recording costs nothing but disk. Zones mark what matters, such as a doorway or a restricted aisle, and masks leave out a public pavement or a swaying tree. Flicker that never stops, such as an on-screen clock or a blinking LED, is learned and left out of motion without a mask.&lt;/p&gt;

&lt;p&gt;Inference runs through one runtime on a CPU, an Intel GPU or an NVIDIA card, and the default detectors are permissively licensed. Search takes plain language: ask for a red car at the north gate after 10pm yesterday, and it reads the time, the camera, the colour and the object out of the question. The AI runs on site, so the footage stays there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evidence that holds
&lt;/h2&gt;

&lt;p&gt;An evidential hold on a camera's footage is never deleted, whatever the retention setting or the pressure on the disks. An export is the segments joined without re-encoding, with a manifest of SHA-256 hashes saying who exported it and when. One command reports every camera's clock against the server, so whether the cameras are in sync is a question with an answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feeds the systems you already run
&lt;/h2&gt;

&lt;p&gt;Video walls and other VMS pull RTSP from Rutba Vision instead of from the cameras. Incidents open tickets in ERP systems and service desks over signed webhooks, and building systems get doors and alarms over MQTT. Cameras are declared in one file rather than set up in forty clicks nobody can review.&lt;/p&gt;

&lt;p&gt;The bus, the relay, the recorder, the store, the search and the console are our own code, and each borrowed engine sits behind one module of ours, so replacing it means replacing that module.&lt;/p&gt;

&lt;h2&gt;
  
  
  On your site
&lt;/h2&gt;

&lt;p&gt;Rutba Vision is the one Rutba service you host yourself. Your team can run it on your site, we can run it for you with the footage still on your premises, or a chain of branches can each run their own nodes and join at a hub. Whichever it is, the hardware and the footage are yours.&lt;/p&gt;

&lt;p&gt;If you have run a large camera estate, which of these failures reached you first?&lt;/p&gt;

&lt;p&gt;Rutba Vision is a Tech Style product: &lt;a href="https://tech-style.co/product-rutba-vision" rel="noopener noreferrer"&gt;tech-style.co/product-rutba-vision&lt;/a&gt;. The Rutba service built on top of it is at &lt;a href="https://rutba.io/services/vision" rel="noopener noreferrer"&gt;rutba.io/services/vision&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>computervision</category>
      <category>architecture</category>
      <category>security</category>
      <category>video</category>
    </item>
  </channel>
</rss>
