PageSourceSearch

https://app.backstagebaton.com/assets/GoogleSheetsAlternativePage-DYxeozBT.js

js backstagebaton.com collected 2026-10-07 08:49:00 UTC 21,263 bytes, 1 lines download raw bytes

1import{w as d,p as e,L as l}from"./chunk-QUQL4437-BmAooogr.js";import{D as h}from"./DemoForm-Be20BFOu.js";import"./cta-oUvEd9qo.js";function m(){return e.jsxs("section",{className:"hero-gradient relative overflow-hidden pt-32 pb-20",children:[e.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[e.jsx("div",{className:"absolute -top-32 -right-32 w-96 h-96 rounded-full bg-white/5"}),e.jsx("div",{className:"absolute -bottom-20 -left-20 w-72 h-72 rounded-full bg-white/5"})]}),e.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center relative z-10",children:[e.jsx("p",{className:"text-white/70 text-sm uppercase tracking-widest font-semibold mb-3",children:"Migration story"}),e.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold text-white leading-tight mb-5",children:"The Google Sheets Alternative for Community Bands & Choirs"}),e.jsx("p",{className:"text-white/80 text-lg md:text-xl max-w-2xl mx-auto mb-8 leading-relaxed",children:"You started with one spreadsheet. Now there are nine. Backstage Baton imports them in a weekend. The patchwork goes in the recycle bin."}),e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-3",children:[e.jsx("a",{href:"/app/signup",className:"bg-white text-primary font-bold px-8 py-4 rounded-xl hover:bg-gray-100 transition-colors shadow-lg",children:"Start free trial"}),e.jsx(l,{to:"/blog/signs-your-community-band-has-outgrown-spreadsheets",className:"border border-white/40 text-white font-semibold px-8 py-4 rounded-xl hover:bg-white/10 transition-colors",children:"Read: 5 Signs You've Outgrown Spreadsheets"})]}),e.jsx("p",{className:"text-white/60 text-sm mt-4",children:"90-day free trial · No credit card · Smart Import from CSV / XLSX / PDF / DOCX / photos"})]}),e.jsx("div",{className:"absolute bottom-0 left-0 w-full",children:e.jsx("svg",{viewBox:"0 0 1440 80",fill:"white",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"none",style:{display:"block"},children:e.jsx("path",{d:"M0,80 C360,20 1080,20 1440,80 L1440,80 L0,80 Z"})})})]})}const o=({children:t,id:s})=>e.jsx("h2",{id:s,className:"text-3xl md:text-4xl font-bold text-primary mb-4 leading-tight",children:t}),i=({children:t})=>e.jsx("p",{className:"text-gray-600 text-lg leading-relaxed max-w-2xl",children:t}),n=({children:t})=>e.jsx("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-5",children:t}),a=({children:t})=>e.jsx("strong",{className:"text-primary font-semibold",children:t});function c(){return e.jsx("section",{className:"py-20 bg-white",children:e.jsxs("div",{className:"max-w-4xl mx-auto px-6",children:[e.jsx(o,{id:"why-spreadsheets-break",children:"Why community bands outgrow Google Sheets"}),e.jsx(i,{children:"Spreadsheets work for the first 30 members and the first season. After that, the math stops working."}),e.jsx(n,{children:" "}),e.jsx(n,{children:"One person can hold 30 names, 50 pieces of music, and a single concert program in their head and catch their own drift. That's why a spreadsheet works at that scale — the human is doing the data integrity work the system can't. At 50 members, 200 pieces, two ensembles, and a librarian who doesn't talk to the membership coordinator every week, the integrity work collapses. Two spreadsheets become inevitable. Then three. Then nine, and nobody knows which one is current."}),e.jsx(n,{children:"The specific failure modes that show up in every community band that overstays on spreadsheets:"}),e.jsx("ul",{className:"space-y-3 mt-6",children:["Member updates their email address. Coordinator updates the master roster. Director sends Wednesday email from a copy of the roster that's two weeks old. Member doesn't get it. Loses trust.","Two coordinators edit different copies of the roster at the same time. Both save. One overwrites the other. Hours of work lost. Nobody notices for a week.","New member joins at the picnic in August. Added to roster that night. Two weeks later, has never received any communication from the band. Stops coming.","Grant deadline in November. Treasurer assembles last year's audience numbers from a paper sign-in sheet, a Google Form, a Venmo donation list, and somebody's memory. The number is a guess. Funding decision is based on it.","Librarian retires after 9 years. Hands the binder + spreadsheet + email archive to the new volunteer. New volunteer doesn't know what column COMP means. Quits in 6 weeks."].map((t,s)=>e.jsxs("li",{className:"flex items-start gap-3 bg-red-50 rounded-xl p-4 border border-red-200",children:[e.jsx("svg",{className:"w-5 h-5 text-red-500 mt-0.5 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),e.jsx("span",{className:"text-gray-700 text-sm md:text-base",dangerouslySetInnerHTML:{__html:t}})]},s))})]})})}function p(){return e.jsx("section",{className:"py-20 bg-gray-50",children:e.jsxs("div",{className:"max-w-4xl mx-auto px-6",children:[e.jsx(o,{id:"what-you-need",children:"What you actually need (and Google Sheets can't give you)"}),e.jsx(i,{children:"The capabilities that emerge naturally once you cross the threshold — impossible to keep in a spreadsheet without it becoming a part-time job."}),e.jsx("ul",{className:"space-y-3 mt-8",children:[{title:"One source of truth for the roster",body:"Every officer sees the same data, with edit history. No more “which file is current?”"},{title:"Role-based access",body:"Treasurer sees billing data; librarian sees the music catalog; section leader sees their section's contact info. None of them see what they don't need."},{title:"Automated communications",body:"Weekly digest goes out without manual BCC. New-member onboarding emails fire automatically. Day-of rehearsal reminders happen without anyone's involvement."},{title:"Music library with metadata + checkout",body:"Catalog lookup that fills in the details. Missing-parts reports. Librarian checkout flow. Smart Import from your existing inventory sheet."},{title:"Performance + rehearsal scheduling tied to the calendar",body:"Members subscribe to a personal calendar feed once. New dates appear automatically. Cancelled events are marked cancelled. They don't have to ask."},{title:"Attendance + audience tracking for grants",body:"Tap-once-per-person audience counter at concerts. Section leaders take rehearsal attendance with one tap per member. The grant report pulls your concerts and audience counts onto one page."},{title:"Every member reached, app optional",body:"Members get the weekly email, one-tap links to say they can't make it, and the schedule in their own phone calendar, with no login needed. Those who want the app add it to their home screen from the browser — no app store."},{title:"Audit log for accountability",body:"Every change to member records, performances, setlists, and rehearsals is logged with who, when, and what. Defends the band in disputes; supports the board in oversight."}].map((t,s)=>e.jsxs("li",{className:"flex items-start gap-3 bg-white rounded-xl p-5 border border-gray-200 shadow-sm",children:[e.jsx("svg",{className:"w-5 h-5 text-emerald-500 mt-0.5 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.5,d:"M5 13l4 4L19 7"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-primary text-base",dangerouslySetInnerHTML:{__html:t.title}}
1),e.jsx("p",{className:"text-gray-600 text-sm md:text-base mt-1 leading-relaxed",dangerouslySetInnerHTML:{__html:t.body}})]})]},s))})]})})}function x(){return e.jsx("section",{className:"py-20 bg-white",children:e.jsxs("div",{className:"max-w-4xl mx-auto px-6",children:[e.jsx(o,{id:"migration",children:"The migration is a weekend, not a month"}),e.jsx(i,{children:"The most common reason community bands stay on spreadsheets is fear of the migration. Here's how it actually goes."}),e.jsx("div",{className:"space-y-5 mt-10",children:[{step:1,title:"Export your spreadsheets",body:"Open each Google Sheet, File > Download > CSV. Save them somewhere. That's the entire prep step. You don't need to clean them up first."},{step:2,title:"Start the trial",body:"Sign up for the 90-day free trial of the Complete plan. No credit card. Choose a plan whenever you're ready (Essentials for single ensembles, Complete for multi-ensemble orgs)."},{step:3,title:"Run Smart Import",body:"Upload your roster CSV first. Smart Import reads the columns, figures out what they mean (even with weird names like COMP and GRD), catches duplicates, flags anything uncertain. You review, confirm, save."},{step:4,title:"Import the music library",body:"Upload your music catalog. Same process. Smart Import also reads PDF and DOCX, so the 1998 paper catalog scanned to PDF works too. Catalog lookup fills in details for pieces it recognizes."},{step:5,title:"Import performance history (optional)",body:"If you want grant-report continuity, import your past performance list. Year, date, venue, audience count if you have it. Smart Import handles partial data gracefully."},{step:6,title:"Set up roles",body:"Tag your existing members with their org roles — president, music director, librarian, treasurer, section leaders. The platform's 14 distinct roles map cleanly to community-band governance."},{step:7,title:"Configure communications",body:"Set up your weekly email: the day it goes out and who approves it. Turn on text reminders if you're on Complete. Toggle which notification events fire."},{step:8,title:"Press Go Live",body:"Until you press Go Live, nothing goes to members — you're building in private. When you flip the switch, every account you created during setup gets their welcome email. The band is on real software."}].map(t=>e.jsxs("div",{className:"flex items-start gap-4 bg-gray-50 rounded-2xl p-5 border border-gray-200",children:[e.jsx("div",{className:"shrink-0 w-10 h-10 bg-primary text-white rounded-xl flex items-center justify-center font-bold",children:t.step}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-primary text-lg",dangerouslySetInnerHTML:{__html:t.title}}),e.jsx("p",{className:"text-gray-600 text-sm md:text-base mt-1 leading-relaxed",dangerouslySetInnerHTML:{__html:t.body}})]})]},t.step))}),e.jsx(n,{className:"mt-8",children:" "}),e.jsx(n,{children:"You can do it over a weekend, or hand it to us with Founder Concierge Setup. The 90-day trial gives you a full season to settle in before any billing decision."})]})})}function u(){return e.jsx("section",{className:"py-20 bg-gray-50",children:e.jsxs("div",{className:"max-w-4xl mx-auto px-6",children:[e.jsx(o,{id:"smart-import",children:"Smart Import is the killer feature"}),e.jsx(i,{children:"Most migration tools require clean data. Smart Import accepts what you actually have."}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mt-10",children:[e.jsxs("div",{className:"bg-white rounded-2xl border border-gray-200 p-6",children:[e.jsx("p",{className:"text-xs font-semibold text-gray-500 uppercase tracking-widest mb-3",children:"What it reads"}),e.jsxs("ul",{className:"space-y-2 text-gray-700 text-sm",children:[e.jsxs("li",{children:["· ",e.jsx(a,{children:"CSV"})," — the standard export from any spreadsheet"]}),e.jsxs("li",{children:["· ",e.jsx(a,{children:"XLSX"})," — Excel files, including multi-sheet workbooks"]}),e.jsxs("li",{children:["· ",e.jsx(a,{children:"PDF"})," — scanned documents, exported spreadsheets, old reports"]}),e.jsxs("li",{children:["· ",e.jsx(a,{children:"DOCX"})," — Word documents with table-style member lists"]}),e.jsxs("li",{children:["· ",e.jsx(a,{children:"Photos"})," — pictures of paper rosters, paper catalog cards, paper program books"]})]})]}),e.jsxs("div",{className:"bg-white rounded-2xl border-2 border-primary p-6",children:[e.jsx("p",{className:"text-xs font-semibold text-accent uppercase tracking-widest mb-3",children:"What it figures out"}),e.jsxs("ul",{className:"space-y-2 text-gray-700 text-sm",children:[e.jsxs("li",{children:["· ",e.jsx(a,{children:"Column mapping"})," even with weird names (COMP, GRD, CL_1, EMR_CN)"]}),e.jsxs("li",{children:["· ",e.jsx(a,{children:"Duplicates"})," across fuzzy matches (different spellings, nicknames)"]}),e.jsxs("li",{children:["· ",e.jsx(a,{children:"Header rows"})," in messy or multi-header sheets"]}),e.jsxs("li",{children:["· ",e.jsx(a,{children:"Music metadata"})," for pieces it recognizes (composer, arranger, grade, duration)"]}),e.jsxs("li",{children:["· ",e.jsx(a,{children:"Instrument names"})," normalized (“1st Cl.” → “Clarinet 1”)"]}
1)]})]})]})]})})}function g(){return e.jsx("section",{className:"py-20 bg-white",children:e.jsxs("div",{className:"max-w-4xl mx-auto px-6",children:[e.jsx(o,{id:"after",children:"What life looks like after the migration"}),e.jsx(i,{children:"What changes once the band is running on one system."}),e.jsx("ul",{className:"space-y-3 mt-8",children:["The weekly email comes together from leadership's replies, and someone you choose approves it before it goes out.","The membership coordinator answers texts again on Tuesday night — no more cross-referencing two rosters by hand.","The librarian opens Library Health and sees what needs attention, without assembling a spreadsheet first.","The treasurer opens the Grant Report when the grant deadline lands — the numbers are already there.","Members get the schedule in their own phone calendar and stop asking “wait, where's rehearsal this week?”","The president can hand the gavel to next year's president without a 3-hour knowledge transfer meeting — the whole org is in the system."].map((t,s)=>e.jsxs("li",{className:"flex items-start gap-3 bg-emerald-50 rounded-xl p-4 border border-emerald-200",children:[e.jsx("svg",{className:"w-5 h-5 text-emerald-500 mt-0.5 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.5,d:"M5 13l4 4L19 7"})}),e.jsx("span",{className:"text-gray-700 text-sm md:text-base",dangerouslySetInnerHTML:{__html:t}})]},s))})]})})}function y(){return e.jsx("section",{className:"py-20 bg-gray-50",children:e.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center",children:[e.jsx(o,{id:"more",children:"Keep reading"}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mt-10 text-left",children:[e.jsxs(l,{to:"/blog/signs-your-community-band-has-outgrown-spreadsheets",className:"bg-white rounded-2xl border border-gray-200 p-6 hover:border-accent/40 hover:shadow-md transition-all",children:[e.jsx("p",{className:"text-xs font-semibold text-blue-700 uppercase mb-2",children:"Diagnosis"}),e.jsx("h3",{className:"font-bold text-primary text-lg mb-2 leading-snug",children:"5 Signs Your Community Band Has Outgrown Spreadsheets"}),e.jsx("p",{className:"text-gray-600 text-sm leading-relaxed",children:"If three or more describe your band, you're past the line."})]}),e.jsxs(l,{to:"/community-band-software",className:"bg-white rounded-2xl border border-gray-200 p-6 hover:border-accent/40 hover:shadow-md transition-all",children:[e.jsx("p",{className:"text-xs font-semibold text-accent uppercase mb-2",children:"Platform"}),e.jsx("h3",{className:"font-bold text-primary text-lg mb-2 leading-snug",children:"Community Band Software"}),e.jsx("p",{className:"text-gray-600 text-sm leading-relaxed",children:"The full overview — what BSB is, who it's for, how it's different."})]}),e.jsxs(l,{to:"/pricing",className:"bg-white rounded-2xl border border-gray-200 p-6 hover:border-accent/40 hover:shadow-md transition-all",children:[e.jsx("p",{className:"text-xs font-semibold text-emerald-700 uppercase mb-2",children:"Pricing"}),e.jsx("h3",{className:"font-bold text-primary text-lg mb-2 leading-snug",children:"Plans & Pricing"}),e.jsx("p",{className:"text-gray-600 text-sm leading-relaxed",children:"$39/mo Essentials, $79/mo Complete. 2 months free with annual. 90-day trial."})]})]})]})})}function b(){const t=[{q:"Will I lose any data in the migration?",a:"No. Smart Import preserves everything from your source files. Anything it's unsure about is flagged for your review before commit — nothing gets silently dropped or transformed. If you have years of historical data, all of it can come over."},{q:"What if my spreadsheet has columns Smart Import doesn't recognize?",a:"It maps what it can and shows you the leftovers. You either map them to existing platform fields, choose to skip them, or fix the source and re-upload."},{q:"My catalog is in a Word document with embedded tables. Will that work?",a:"Yes. Smart Import reads DOCX directly, extracts the tables, and maps the columns. Old program-book PDFs work the same way."},{q:"What about a paper roster I have to scan?",a:"Scan it with your phone (any normal scanning app produces a PDF that works) or take photos of each page. Smart Import accepts photos and runs OCR. Image quality matters — clear, well-lit photos work best."},{q:"Can I import from multiple spreadsheets at once?",a:"You import one file at a time, but you can chain imports. Many community bands import roster from one sheet, then music library from another, then performance history from a third. The platform deduplicates references across imports."},{q:"What if I want to keep using Google Sheets for some things?",a:"You can. The platform exports to CSV at any time. Some treasurers like to keep a personal spreadsheet for their own workflow — pull the data from BSB monthly, work it locally, you're not locked in. The core data lives in the platform; export wherever, whenever."},{q:"I'm on a different tool (BandHelper, Bandforte, etc) — can I migrate from there?",a:"Yes. Export your data from your current tool as CSV (every major band-management platform supports CSV export). Smart Import handles those CSVs the same way it handles Google Sheets exp
1orts."}],s={"@context":"https://schema.org","@type":"FAQPage",mainEntity:t.map(r=>({"@type":"Question",name:r.q.replace(/'/g,"'"),acceptedAnswer:{"@type":"Answer",text:r.a.replace(/'/g,"'").replace(/—/g,"—").replace(/“/g,'"').replace(/”/g,'"')}}))};return e.jsxs("section",{className:"py-20 bg-white",children:[e.jsx(e.Fragment,{children:e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(s)}})}),e.jsxs("div",{className:"max-w-3xl mx-auto px-6",children:[e.jsx(o,{id:"faq",children:"Frequently asked questions"}),e.jsx("div",{className:"mt-8 space-y-6",children:t.map(r=>e.jsxs("details",{className:"border border-gray-200 rounded-2xl bg-white p-5 group open:bg-gray-50",children:[e.jsxs("summary",{className:"font-semibold text-primary cursor-pointer flex items-start justify-between gap-4",children:[e.jsx("span",{dangerouslySetInnerHTML:{__html:r.q}}),e.jsx("svg",{className:"w-5 h-5 text-gray-400 shrink-0 transition-transform group-open:rotate-180",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),e.jsx("p",{className:"text-gray-700 text-base leading-relaxed mt-3",dangerouslySetInnerHTML:{__html:r.a}})]},r.q))})]})]})}function f(){return e.jsx("section",{className:"cta-gradient py-20",id:"demo",children:e.jsxs("div",{className:"max-w-2xl mx-auto px-6 text-center",children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4",children:"Retire the spreadsheets this weekend"}),e.jsx("p",{className:"text-white/80 text-lg mb-8",children:"90-day free trial. No credit card. Smart Import handles whatever you have."}),e.jsx(h,{variant:"hero"})]})})}const k=d(function(){const s="https://app.backstagebaton.com/google-sheets-alternative-for-bands",r={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://app.backstagebaton.com/"},{"@type":"ListItem",position:2,name:"Google Sheets Alternative for Bands",item:s}]};return e.jsxs(e.Fragment,{children:[e.jsxs(e.Fragment,{children:[e.jsx("title",{children:"Google Sheets Alternative for Bands & Choirs | Backstage Baton"}),e.jsx("meta",{name:"description",content:"Stop running your community band on Google Sheets. Backstage Baton imports CSV, XLSX, PDF, DOCX, and photos of paper rosters in a weekend. 90-day trial."}),e.jsx("link",{rel:"canonical",href:s}),e.jsx("meta",{property:"og:type",content:"website"}),e.jsx("meta",{property:"og:title",content:"Google Sheets Alternative for Community Bands & Choirs"}),e.jsx("meta",{property:"og:description",content:"Smart Import handles your existing spreadsheets, PDFs, and even photos of paper rosters. Retire the patchwork this weekend. 90-day free trial."}),e.jsx("meta",{property:"og:url",content:s}),e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(r)}})]}),e.jsx(m,{}),e.jsx(c,{}),e.jsx(p,{}),e.jsx(x,{}),e.jsx(u,{}),e.jsx(g,{}),e.jsx(y,{}),e.jsx(b,{}),e.jsx(f,{})]})});export{k as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.