Bike Shops

Custom bike shop software in Baltimore: the class is not a property of the model

Every retail system I have ever opened treats a product’s category as something the catalog decides once. Maryland does not work that way. A mechanic who changes what an electric bicycle can do has, by statute, changed its legal classification — and the duty to correct the label lands on whoever did the work. So the class belongs to the serial number rather than to the model, and a repair ticket can move it. That is one field. This post is about the other dozen or so, and about what they cost you when your software does not know they exist.

Custom bike shop software in Baltimore: a service bench with a cassette, brake rotor, cable coil, parts tray and clipboard, and at the center a length of bicycle frame tubing carrying a blank white label beside a blank card in a steel easel
The plate on the tube and the card on the bench. One is a state-mandated record with a named typeface and a minimum point size; the other is the only version your customer ever reads. Most shop systems store neither.
The short version. The Census Bureau counts 253 sporting goods stores in Maryland with paid employees, 2,848 people and $81,219,000 of payroll. Ten of those are in Baltimore City and they employ 66 people between them, at $18,667 of payroll per employee — while the repair category next door pays $42,457 in the same city, 2.27× more. There is no federal industry code for a bicycle shop, and Maryland reports zero establishments in the code that makes bicycles. On 8 September 2026 we checked what a bike shop can actually buy. Ascend, the retail management system most American bike shops run, publishes no price and its page on Trek’s own site returns HTTP 404. Workstand — which was SmartEtailing until the domain moved — does publish, and its top tier costs $659/mo for a card rate 0.2 points below the tier beneath it, a discount that needs $1,566,000 of online card volume a year to pay for itself. CPSC’s own economists say online will not exceed 30 percent of e-bike sales, which puts the break-even at $5,220,000 of total revenue. Then the part no platform models. Md. Transp. §22–420(a)(2) requires an e-bike label printed in Arial font in at least 9 point type carrying exactly three fields. §22–420(b) lets a repair change the classification and makes the person who did it fix the label. §11–117.1(a)(4) says 750 watts or less while 15 U.S.C. §2085(b) says less than 750 watts, so the most-advertised motor rating in the industry falls in the gap. §22–420(c) points at 16 CFR §1512 — and the new federal battery standard proposed on 24 June 2026 would live at 16 CFR Part 1265. And 49 CFR §173.185 sets a 100 Wh ceiling on a battery that might fly and 300 Wh on one that may only go by road, against a common pack of 672 Wh.

Ten stores, sixty-six people, and no code for any of it

Start with the size of the thing, because it decides everything about what software is worth buying. And with bike shops you hit a wall immediately, which turns out to be the most honest introduction to the whole trade: the federal government has no industry code for a bicycle shop. There is no line in the North American Industry Classification System that means “the place you take your bike.” A shop that sells bicycles is counted inside 451110, Sporting Goods Stores, alongside the ski shop, the running store and the place that sells baseball gloves. A shop that mostly fixes them may land in 811490, a residual category whose full name is Other Personal and Household Goods Repair and Maintenance and which also contains the people who fix your lawnmower.

I want to be careful here rather than clever. The County Business Patterns file for 2023 — the most recent complete year, published by the Census Bureau — is the best local data anyone has, and it cannot see this trade directly. What follows is the container the trade sits in, not a count of bike shops. That caveat is not a footnote; it is the theme of this article. Every classification system that touches this business was built for something adjacent to it.

The categories a Baltimore bike shop is counted inside, Maryland 2023. Establishments with paid employees. Source: Census Bureau, County Business Patterns 2023, state and county files, NAICS 2017 codes.
NAICSCategoryEstablishmentsEmployeesAnnual payrollStaff per sitePayroll per employee
451110Sporting goods stores2532,848$81,219,00011.3$28,518
811490Other personal & household goods repair3441,183$60,239,0003.4$50,921
423910Sporting & recreational goods wholesalers47810$62,889,00017.2$77,641
336991Motorcycle, bicycle & parts manufacturing00$0

The last row is not a data error and it is worth a sentence. Maryland has no establishments with paid employees in the code that covers bicycle manufacturing. Nothing in this state makes the thing your shop sells. Put that next to a figure from CPSC’s own market analysis, published in June 2026: of the 179 firms that manufacture or supply e-bikes to the United States, staff identified just five domestic manufacturers, and noted that nearly all e-bike batteries are made overseas. Your inventory is imported, your compliance obligations are set by federal agencies, and the nearest factory is somebody else’s problem until the day it becomes yours.

Now the city. Baltimore City has ten sporting goods stores with paid employees and sixty-six employees between them — four percent of Maryland’s establishments in a jurisdiction that is a good deal more than four percent of Maryland.

Sporting goods stores (NAICS 451110) by Maryland jurisdiction, 2023, ranked by establishments. Source: Census Bureau, County Business Patterns 2023, county file.
JurisdictionEstablishmentsEmployeesAnnual payrollStaff per storePayroll per employee
Anne Arundel43592$16,734,00013.8$28,267
Baltimore County42541$14,609,00012.9$27,004
Montgomery35473$15,159,00013.5$32,048
Howard18344$9,664,00019.1$28,093
Frederick14147$3,378,00010.5$22,980
Prince George’s13116$3,453,0008.9$29,767
Harford11118$3,352,00010.7$28,407
Baltimore City1066$1,232,0006.6$18,667
Carroll996$2,335,00010.7$24,323

Baltimore City is last but one on establishments, last on staff per store, and last on pay by a distance. Six and a half people per store against Howard County’s nineteen. Eighteen thousand six hundred and sixty-seven dollars of payroll per employee against a state average of $28,518 in the same category. That is a picture of small, independent, part-time-heavy shops rather than the big-format stores that pull the county averages up, and it is exactly the shape of business that a per-seat, per-register, per-location software meter treats worst.

There is one more comparison in that data that changes how I’d spend a software budget in this trade. Look at the repair code in the same city. Baltimore City has nine establishments in NAICS 811490 employing thirty-five people, with $1,486,000 of annual payroll. That is $42,457 per employee, against $18,667 in sporting goods retail — the repair side of the fence pays 2.27× what the retail side pays, in the same city, in the same year.

I do not want to over-read one number. NAICS 811490 covers more than bicycle mechanics, and the retail figure is dragged down by seasonal counter staff in a way the repair figure is not. But the direction is not surprising to anyone who has stood in a bike shop in March. The margin in this trade increasingly lives on the service side, and the service side is the part that off-the-shelf retail software understands worst. A point of sale is very good at a transaction with a customer. It is much less good at a physical object that comes back to you eleven times over nine years, belongs to someone whose email address changed twice, and has had four components swapped that nobody wrote down.

Finally, an original count, since the federal data cannot give me one. On 8 September 2026 I queried OpenStreetMap’s Overpass API for every feature tagged shop=bicycle inside the Baltimore City boundary. It returned seven: Baltimore Bicycle Works on Falls Road, Joe’s Bike Shop on South Broadway and on Falls Road, Cutlass Velo on Clipper Park Road, Trek on Key Highway, Velocipede Bike Project on West 22nd Street, and one unnamed shop on South Caroline Street. That is a volunteer-maintained map rather than a census, so treat seven as a floor and not a total. But a floor of seven, against a federal count of ten establishments in a category that also contains every running store and gun shop in the city, tells you the real number is small enough that everyone in it knows everyone else.

What the shops already run, and what it actually costs

I want to be fair to the incumbents before I criticize anything, because the software in this category is genuinely good at the job it was built for, and a lot of shops should keep it.

Ascend is the retail management system a large share of American bike shops run. It is owned by Trek, it has been built specifically around bicycle retail for two decades, and it knows things a general point of sale simply does not: bike-specific inventory attributes, supplier catalogs, workshop tickets, and the peculiar rhythm of a business whose stock arrives in one enormous seasonal wave. If you are a Trek dealer, the integration story is close to unbeatable and I would not try to talk you out of it.

What Ascend does not do is publish a price. On 8 September 2026 I checked. The product page most of the internet links to, trekbikes.com/us/en_US/ascend/, returns HTTP 404. The product does have a live site at ascendrms.com, which returns 200 — but /pricing and /plans both return 404 there too. There is no number on the public web for the category-leading product in this category. That is a commercial choice a vendor is entitled to make, and it is also the reason a shop owner cannot do the comparison in this article for themselves in an afternoon.

Workstand is the other name you will hear, and if you have been in the trade a while you know it as SmartEtailing. That is worth noting precisely because it is the kind of thing that quietly breaks a shop’s bookmarks and integrations: smartetailing.com/pricing now redirects to workstand.com/pricing. In the same sweep, bikeshophub.com redirected to campfirecycling.com, and rapidbikesoftware.com did not respond at all. Three domain events in a ten-product sweep is a lot of churn for one small category.

To Workstand’s considerable credit, it publishes a complete, readable price ladder — which in this category makes it the most transparent vendor a bike shop can buy from, and I’d rather have a vendor that shows its numbers than one that does not. Here is what it charges.

Published prices for products a Baltimore bike shop might reasonably buy, checked 8 September 2026. Card rates are the vendors’ published rates and exclude interchange-plus arrangements negotiated separately.
ProductTierMonthlyCard rate (online)Notes
Workstand (was SmartEtailing)Core$993.3%E-commerce is a $99/mo add-on, so $198/mo to sell online
WorkstandPlus$2993.3%$398/mo with e-commerce; marked “most popular”
WorkstandPro$6593.1%E-commerce included; multi-location $49/mo extra
Lightspeed Retail (X-Series)Basic$891 register included; 1.5% card-present
Lightspeed Retail (X-Series)Core$149“Save up to 18%” billed annually
Lightspeed Retail (X-Series)Plus$2891 register included
SquareFree$03.3% + 30¢2.6% + 15¢ in person
SquarePlus$492.9% + 30¢Per location; 2.5% + 15¢ in person
SquarePremium$1492.9% + 30¢Per location; 2.4% + 15¢ in person
Ascend (Trek)not publishedTrek product page 404; ascendrms.com /pricing and /plans both 404

Two stacks fall out of that table, and they are the honest floors rather than what anyone actually pays once hardware, implementation and payment processing are counted.

Stack A, the shop that wants a real counter and a real website: Lightspeed Retail Basic at $89 plus Workstand Core at $99 plus the $99 e-commerce add-on, which is $287.00 a month, $3,444.00 a year. Stack B, the shop that has decided to compete seriously online and has two locations: Lightspeed Retail Plus at $289 plus Workstand Plus at $299 plus e-commerce at $99 plus multi-location at $49, which is $736.00 a month, $8,832.00 a year. Neither number includes card processing, which for most shops is larger than both.

The tier that only pays for itself at five million dollars

Now the part I always find most useful to do out loud, because vendors price against a business shape and it is worth checking whether the shape is yours.

Workstand’s Pro tier costs $659 a month. Its Plus tier with e-commerce enabled costs $398. The difference is $261 a month. What do you get for it? More catalog, more themes, priority support — and a card processing rate of 3.1% instead of 3.3%. That last one is the only part of the upgrade denominated in your revenue rather than in features, so it is the only part you can do arithmetic on.

Two tenths of one percent. To recover $261 a month at a saving of 0.002 per dollar, you need to run $130,500 a month through the online card rate. That is $1,566,000 a year of online card volume before the discount has paid for the tier that grants it.

What each vendor’s “pay more, process cheaper” upgrade actually requires. Computed from the published monthly and card rates above, 8 September 2026.
UpgradeExtra per monthRate savingBreak-even, monthly online volumeBreak-even, annual
Workstand Plus + e-commerce → Pro$2610.2 pts$130,500$1,566,000
Square Free → Square Plus$490.4 pts$12,250$147,000

The same trade, offered by two vendors, priced 10.7× apart. Square asks you to clear $147,000 of online volume a year before its upgrade pays; Workstand asks for $1,566,000. I am not saying Workstand is overcharging — the $659 buys a bike-specific supplier catalog that Square has never heard of, and that catalog is the actual product. What I am saying is that the rate cut inside that tier is decoration for almost every shop in Maryland, and if you upgraded for it you should check.

And there is a genuinely striking way to check it, using a number produced by a federal regulator’s economists rather than by anyone selling anything. In the preliminary regulatory analysis published with its June 2026 rulemaking, CPSC staff wrote this about how e-bikes reach customers:

“eBikes are typically sold through physical retail outlets; recently, however, an increasing number of eBikes are being sold through online retailers. Staff expect this trend to continue in the short run but do not expect this online sales trend to exceed 30 percent of total sales because eBike firms maintain a physical dealer network.”
— 91 FR 38162, 24 June 2026

Thirty percent. Hold that against the break-even. If online sales top out at 30 percent of the total, then reaching $1,566,000 of online volume means running about $5,220,000 of total revenue through the shop. There is no plausible reading of the Baltimore City data in which that is a typical independent bike shop. Ten establishments in the whole city share $1,232,000 of annual payroll between them.

That is the pricing-meter finding in this category, and it is a new one to me: the tier is not priced for a bigger version of your shop. It is priced against a channel mix that the federal government’s own analysts expect this product category never to reach. Contrast that with the other side of the same document, where CPSC staff report that roughly 80 percent of other micromobility products — e-scooters, e-unicycles, hoverboards — sell online. The platform pricing makes complete sense for a scooter brand. It is being sold to bike shops.

The part no national platform models

Everything above is arithmetic about meters, and meters are the easy part. Here is the part that actually decides whether off-the-shelf software can run this business, and it is where I’d spend the money.

Three fields, one typeface, nine points

Maryland regulates the electric bicycle label in the Transportation Article, at §22–420. The operative words are short enough to quote whole:

“(a)(1) Beginning January 1, 2020, manufacturers and distributors of electric bicycles shall apply in a prominent location a standardized label that is permanently affixed to each electric bicycle. (2) The label required under paragraph (1) of this subsection shall be printed in Arial font in at least 9 point type and contain for the electric bicycle: (i) The classification; (ii) The top assisted speed; and (iii) The motor wattage.”
— Md. Code, Transportation §22–420(a)

Read that as a developer and it is a table definition. Three columns, no more and no fewer, with a rendering specification attached: a named typeface and a minimum point size, written into a state vehicle statute. Maryland has told you what your product record must contain and what font to set it in.

I have now written a fair number of these articles about regulated trades, and this is the most literal example I have found of a legislature specifying a stylesheet. It is not a bad rule — a consumer standing in a shop should be able to read what class of machine they are buying, and “in at least 9 point type” is how you stop that promise being defeated by the print department. But notice what it does to software. If you ever have to produce one of these labels — and in a moment I will show you the circumstance in which you must — then your system has a rendering requirement, not just a data requirement. “Print the classification” is not enough. It has to come out in Arial at nine points or better.

The label you never have to write, and the one you do

Now read subsection (a)(1) again for who it binds. “Manufacturers and distributors of electric bicycles.” A retail bike shop is neither. The bikes should arrive already labeled, by someone upstream, and the shop’s obligation under (a) is essentially nil.

Then read the next subsection, and watch the subject change:

“(b) A person may not tamper with or modify an electric bicycle in a manner that changes the motor–powered speed capability of the electric bicycle unless the person corrects the classification on the label required under subsection (a) of this section.”
— Md. Code, Transportation §22–420(b)

Not “a manufacturer.” Not “a distributor.” A person. Whoever does the work.

This is the finding that made me want to write this article, and I think it is the single most software-shaped sentence in Maryland’s vehicle code. A shop is exempt from the rule that creates the label and bound by the rule that changes it. Every day, in every bike shop in America, a customer asks whether the mechanic can unlock the speed limiter on their e-bike. It is one of the most common questions on the service counter. In Maryland, doing it is lawful — provided the person who did it corrects the classification on the permanently affixed label.

So consider what that means for a data model. The classification is not an attribute of the product. Two identical bikes, same manufacturer, same model year, same SKU, can lawfully be different classes, because one of them came back in March and had its firmware changed. The class belongs to the serial number. And it is mutable. And the thing that mutates it is a service ticket.

I have opened a lot of retail systems. Almost all of them store the category on the product row and the serial number, if they store it at all, on the sale. The relationship the statute describes runs the other way: an immutable physical object with a mutable regulatory state, changed by work orders, carrying a document that has to be reprinted when the state changes. That is not a retail schema. It is closer to an asset register with a maintenance log, which is what a bike shop’s service department has actually been all along.

None of this is exotic to build. One record per physical bike, keyed on the frame serial, with a class field, a label-state field, and a foreign key from every work order that touched the motor. It is perhaps a day of schema design. The reason no platform ships it is that no platform is designed around a state legislature having decided that a repair can change what a product legally is.

Seven hundred and fifty watts, exactly

Maryland defines the machine itself in a different title, at §11–117.1. An electric bicycle is a vehicle designed to be operated by human power with the assistance of an electric motor, with fully operable pedals, two or three wheels, and — the clause that matters — “a motor with a rating of 750 watts or less.” It then has to meet one of three class definitions: Class 1 assists only while pedaling and cuts out at 20 mph, Class 2 assists whether or not you pedal and cuts out at 20 mph, Class 3 assists only while pedaling and cuts out at 28 mph.

Federal law defines the same machine at 15 U.S.C. §2085, and the wording is not the same:

“… a two- or three-wheeled vehicle with fully operable pedals and an electric motor of less than 750 watts (1 h.p.), whose maximum speed on a paved level surface, when powered solely by such a motor while ridden by an operator who weighs 170 pounds, is less than 20 mph.”
— 15 U.S.C. §2085(b)

Maryland says 750 watts or less. Congress says less than 750 watts. A motor rated at exactly 750 watts is an electric bicycle in Annapolis and is not a low-speed electric bicycle in Washington.

If that sounds like a pedantic edge case, walk a shop floor. “750W” is very nearly the single most advertised motor rating in the industry. It is the number the American market settled on precisely because it is the federal ceiling, and a great many product pages print it as a round headline figure. The one value that thousands of listings advertise is the value that falls between the two definitions.

There are two more wrinkles worth knowing before you decide it does not matter. The first is that the federal and state tests measure different things: Maryland’s classes are about assisted speed and whether pedaling is required, while the federal test is the machine’s maximum speed powered solely by the motor, with a 170-pound rider, on a paved level surface. Those are not the same experiment and a bike can pass one and fail the other. The second is what the federal definition is for. Section 2085(a) is the provision that makes a low-speed electric bicycle a consumer product, subject to CPSC’s bicycle regulations at 16 CFR Part 1512 rather than to some other regime. Falling outside that definition is not a technicality about paperwork; it is a question about which body of law your inventory sits in.

And then §2085 does one more thing, in subsection (d): it supersedes any state law or requirement with respect to low-speed electric bicycles to the extent that the state requirement is more stringent than the federal one. I am a software person and not your lawyer, and I am not going to tell you what that means for Maryland’s Arial-at-nine-points label. But I will point out the shape of it, because the shape is genuinely strange: whether the federal preemption clause even reaches a given bicycle depends on whether that bicycle is a low-speed electric bicycle, which depends on its motor rating — a number that Maryland requires to be printed on the label whose enforceability is in question. If you sell bikes on the line, that is a conversation for your own counsel. What your software can do is much simpler and much more useful: know which of your bikes are at exactly 750 watts, so that you can be asked the question and have an answer.

The cross-reference that will not follow

Back to §22–420, subsection (c), which is one sentence and easy to skim past:

“(c) An electric bicycle shall comply with the equipment and manufacturing requirements for bicycles adopted by the federal Consumer Product Safety Commission under 16 C.F.R. § 1512.”
— Md. Code, Transportation §22–420(c)

Maryland has incorporated a federal regulation by reference, and it has named the part. Not “the requirements adopted by the Commission,” not “as amended from time to time,” not “16 C.F.R. Chapter II.” Part 1512, specifically.

On 24 June 2026, CPSC published a notice of proposed rulemaking at 91 FR 38162 — sixty-six pages of the Federal Register, docket CPSC–2025–0012 — proposing the first mandatory federal safety standard for the lithium-ion batteries used in micromobility products. Comments closed on 24 August 2026. That rule would not amend Part 1512. It would create a new 16 CFR Part 1265, with conforming amendments to Part 1112.

A rule at Part 1265 is not a rule under Part 1512. So unless the General Assembly amends the cross-reference, Maryland’s statutory equipment requirement for electric bicycles will continue to point at the 1978 bicycle regulation — reflectors, brake stopping distances, fork strength — while the federal rule that actually governs the dangerous part of a modern e-bike sits in a part the Maryland statute has never heard of.

I want to be precise about what this does and does not mean, because it would be easy to overstate. The federal rule, if finalized, applies of its own force to products manufactured after its effective date; nobody needs Maryland’s permission for that. What goes stale is the state hook — the sentence that lets Maryland say a bike is non-compliant under Maryland law. For a shop, the practical consequence is that “compliant” stops being one boolean. From the moment a final rule lands, a bike can be federally compliant, Maryland-statute compliant, both, or neither, and those are four states rather than two. Any system that stores compliance as a checkbox has already lost.

Two labels, one bicycle, zero shared fields

While we are on Part 1512, it is worth putting the two labels side by side, because the overlap is instructive.

What each label on the same electric bicycle is required to carry. Sources: 16 CFR §1512.19(e); Md. Code, Transportation §22–420(a)(2).
RequirementFederal (16 CFR §1512.19(e))Maryland (§22–420(a)(2))
Who must apply itManufacturer or private labelerManufacturers and distributors
Field 1Name of manufacturer or private labelerThe classification
Field 2Marking identifying month and year of manufactureThe top assisted speed
Field 3The motor wattage
PlacementSecurely affixed on or to the frameIn a prominent location, permanently affixed
RemovalCannot be removed without being defaced or destroyedPermanently affixed
Typography specifiedNoArial, at least 9 point
Must be corrected after modificationNo provisionYes, by the person who modified it

Two mandatory labels on one frame, and not a single field appears on both. The federal label answers “who made this and when,” which is a recall question. The Maryland label answers “what is this and how fast will it go,” which is a road-use question. Neither regulator was writing with the other in mind, and the result is that a complete compliance record for one bicycle is the union of two disjoint sets. If your product data has one field called “label,” it is wrong.

Where the bicycle may be ridden is not a property of the bicycle

The last piece of the Maryland layer is the one that defeats software most completely, and I include it partly to be honest about the limits of what building anything can achieve.

Maryland §21–1205.2 sets out where electric bicycles may go. The default is generous: e-bikes may be operated where bicycles are allowed to travel, including bike lanes. Then come the carve-outs. A local authority or state agency with jurisdiction over a bicycle path may prohibit Class 1 or Class 2 machines on that path. A Class 3 may not be operated on a bicycle path at all, unless the path is within or adjacent to a highway right-of-way, or a local authority with jurisdiction allows it. And an authority with jurisdiction over a nonmotorized trail with a natural surface tread may regulate any class.

Read that as a lookup problem. To answer “can I ride this on the path at the end of my street,” you need the class of the machine, the identity of the authority with jurisdiction over that specific path, whether that authority has exercised an optional prohibition, and, for natural-surface trails, a separate answer again. There is no statewide register of which authorities have prohibited what. The rule is a permission structure distributed across dozens of local bodies, and it changes when any of them acts.

Then subsection (b)(1): a person under the age of sixteen may not operate a Class 3 electric bicycle on a public highway. Note that it does not prohibit the sale of one to anybody, and it explicitly permits an under-sixteen to ride as a passenger on a Class 3 built to carry one. So there is a real legal constraint attached to a product you sell, keyed on a fact about the customer — their age — that no checkout collects, that no law obliges you to collect, and that would be useless if you did, because the buyer is very often a parent.

I do not think software should try to solve that. What it should do is much more modest and much more valuable: put the class, the path rule and the age rule in front of the person on the sales floor at the moment a Class 3 is being rung up, so that the conversation happens. A shop that reliably has that conversation is a better shop, and a better defendant. The thing to build is a prompt, not a gate.

While we are here, two smaller Maryland details worth knowing because they will eventually come up at your counter. Under §21–1207(a)(1)(ii), a bicycle used in poor light must carry a rear red reflector “of a type approved by the Administration” — a second, state-level approval authority layered on top of the detailed federal reflector specification in 16 CFR §1512.16, with neither provision written to reference the other. And under §21–1207.1, riders under sixteen must wear a helmet meeting or exceeding ANSI, Snell Memorial Foundation or ASTM standards — a statute that names three standards bodies and does not name 16 CFR Part 1203, the federal standard every bicycle helmet lawfully sold in the United States has had to meet since 1999. The helmet on your wall satisfies a federal rule the state statute does not mention.

The online store, and the two ceilings on one battery

Now the e-commerce half, which for this trade is not a website problem. It is a hazardous materials problem wearing a website costume.

An e-bike battery is a lithium-ion battery, and lithium-ion batteries are Class 9 dangerous goods. The rules are in 49 CFR §173.185. Most small shipments of consumer electronics never feel this, because §173.185(c) provides an exception for smaller cells and batteries: meet its conditions and your package escapes the bulk of the hazardous materials paperwork in subparts C through H of Part 172.

Here is the condition that matters, and here is where it gets genuinely interesting:

“(c)(1)(i) The Watt-hour (Wh) rating may not exceed 20 Wh for a lithium ion cell or 100 Wh for a lithium ion battery. … (c)(1)(iv) For transportation by highway or rail only, the lithium content of the cell and battery may be increased to … 60 Wh for a lithium ion cell or 300 Wh for a lithium ion battery, provided the outer package is marked: ‘LITHIUM BATTERIES—FORBIDDEN FOR TRANSPORT ABOARD AIRCRAFT AND VESSEL.’”
— 49 CFR §173.185(c)(1)

There are two ceilings on the same object, and which one applies is decided not by the battery but by the modes of transport the package is eligible for. A hundred watt-hours if it might ever be put on a plane. Three hundred if you have committed, in writing on the box, that it will never go on an aircraft or a vessel.

Now put a real e-bike pack against those numbers.

Common e-bike battery packs against the two exception ceilings in 49 CFR §173.185(c)(1). Watt-hours are nominal volts multiplied by amp-hours.
PackWatt-hours× the 100 Wh ceiling× the 300 Wh ground-only ceilingException available?
36V × 14Ah5045.04×1.68×No
48V × 14Ah6726.72×2.24×No
48V × 20Ah9609.60×3.20×No

Every ordinary e-bike battery blows through both ceilings, and by a wide margin. A spare pack shipped on its own is fully regulated Class 9 hazardous material, consigned as UN3480, with the training, shipping papers and carrier arrangements that go with it. That is not a checkbox on a product page. That is a business decision about whether you are in the hazmat shipping business at all, and for most independent shops the honest answer is no.

But watch what happens when you change nothing about the battery and change only how the order is packed. Under §173.185(c)(3)(i), the lithium battery mark carries UN3480 when ion cells or batteries travel alone, and UN3481 when they are contained in, or packed with, equipment. And §173.185(c)(1)(vii) caps a package at 30 kilograms gross weight — except when the cells or batteries are packed with, or contained in, equipment.

So: the battery on its own is one consignment. The battery in the box next to the bike is another. The battery bolted into the bike is a third. One stock item, three regulatory identities, and the heavier package — the entire bicycle, twenty-odd kilograms of it — is the one the weight cap does not reach, while the five-kilogram box with just the pack in it is the one that has to watch its weight.

That inversion is the whole software point, and it is the cleanest example I have found of a rule that cannot live where retail systems want to put it. The hazardous materials classification is not an attribute of the product. It is a function of the product, the pack configuration, and the transport mode — three inputs, resolved at the packing bench, after the customer has already paid. Meanwhile the watt-hour rating itself is unambiguously a product fact, and since 10 May 2024, under §173.185(a)(5), every lithium ion battery has had to be marked with its watt-hour rating on the outside case. So the input is printed on the object and the answer still cannot be stored next to it.

Every national e-commerce platform I have worked with offers exactly one field for this: a checkbox that says the item is hazardous, or at best a dropdown of UN numbers set per product. Neither models a classification that changes with the carton. What a shop actually needs is a rule that runs at fulfillment: look at what is in this box, look at where it is going and by what mode, and produce the right UN number, the right mark, and the right paperwork — or refuse the combination and tell the picker why. That is an afternoon of logic on top of an order record that knows its own contents. It is also, as far as I can tell, unbuyable.

The tender type that only works at your counter

Here is the argument for a bike shop’s own online store that I did not expect to find, and it is a Baltimore-specific one.

Baltimore City’s Department of Transportation has run an E-Bike Voucher Pilot. The structure is worth reading closely: $750 for a Baltimore City resident, and up to $2,000 for an income-qualified resident, with at least 50 percent of vouchers reserved for income-qualified applicants who show enrollment in SNAP, TANF or Medicaid. The pilot supports up to 50 participants, selected by lottery. Recipients must obtain a voucher approval email before purchasing — prior purchases are not eligible — and must use the voucher within 45 days. And it is redeemable at a named list of participating shops: Baltimore Bicycle Works, Joe’s Bike Shop, and Trek’s two city locations.

Look at that as a payment instrument and it has properties no commerce platform ships. It is a pre-authorization rather than a discount code, so it must be validated against a city-held list before the sale, not applied at checkout. It carries an expiry measured from issue, not from purchase. Its face value depends on an income tier the shop cannot verify and does not want to — the city verified it, and the shop should never see the SNAP letter. On a $1,999 e-bike, the standard voucher covers 37.5 percent and the income-qualified voucher covers the whole bike. And the entire instrument is, by design, redeemable only at a named local storefront.

That last property is the one I would build around. A program like this is the city deliberately routing public money to independent shops instead of to a national e-commerce checkout. No platform has a tender type for it, and no platform ever will, because the whole point of the voucher is that it does not work at the places those platforms serve. If you are one of the shops on that list, the ability to look up a voucher, hold a bike against it for its 45 days, apply it cleanly at the register and reconcile it with the city afterward is not a nice-to-have. It is the difference between the program being a source of customers and being a source of paperwork.

This is also, more broadly, the case for owning your own store rather than renting a storefront on someone else’s platform. Our Online Store package starts at $6,000, it ships with the source code, and the reason it is worth considering in this trade specifically is that the things a bike shop needs its store to do — hold a serial number against an order, refuse a battery-only shipment to a state you have not arranged carriage into, reserve a bike against a municipal voucher for a fixed window, take a service booking against a bike the customer already owns — are all things you have to be able to change yourself.

What changes next, and the date it starts

The freshest thing in this article is two and a half months old and it is the reason I would not sign a long software contract in this category this quarter.

On 24 June 2026, CPSC published its proposed Safety Standard for Lithium-Ion Batteries Used in Micromobility Products and Electrical Systems of Micromobility Products Containing Such Batteries at 91 FR 38162, running from page 38162 to page 38227. It proposes to require e-bikes to comply with ANSI/CAN/UL 2849:2020, with a set of federal modifications, and to bring e-scooters and other micromobility products under UL 2272 and UL 2271 on similar terms. Comments closed on 24 August 2026. The proposed effective date is straightforward: products manufactured after a date 180 days from publication of a final rule must comply.

The scale of the change is in CPSC’s own regulatory flexibility analysis, and the numbers are blunt.

CPSC staff estimates from the proposed rule’s initial regulatory flexibility analysis and preliminary regulatory analysis, 91 FR 38162, 24 June 2026.
Measuree-Bikese-ScootersOther micromobility
Estimated compliance cost per unit$230.00$114.86$162.79
Firms manufacturing or supplying to the US1798167
Identified domestic manufacturers5712
Share of sales through online channelsnot expected to exceed 30%majorityroughly 80%
Estimated current compliance rateapproximately 11%

The number to sit with is the last one. CPSC staff put the current compliance rate of e-bike products at approximately 11 percent. If that estimate is right and the rule is finalized broadly as proposed, then something close to 89 percent of the e-bike products on the American market today would need to change before they could lawfully be manufactured for sale here. At $230 a unit, on a $1,999 bike, that is 11.5 percent of the retail price entering the supply chain; on a $3,499 bike, 6.6 percent. Manufacturers will not absorb all of that and will not pass on all of it either, and I am not going to pretend to know the split. What I do know is that a very large share of the catalog a Baltimore shop sells is going to get new part numbers, new certifications and new prices over a period measured in months, and the shop that can reprice and recertify its catalog quickly will have an easier year than the shop that cannot.

For the service bench, one proposed provision matters more than all the others. CPSC proposes to insert a new section 11.1A into UL 2849-20:

“For both consumer replaceable and non-consumer replaceable battery packs that provide power to the motor(s), to prevent a consumer from opening the battery pack outer enclosure … such outer enclosure must not be capable of being opened using common household tools, such as a flat blade or Philips head screwdriver. The enclosure must be ultrasonically welded or secured by equivalent means.”
— proposed 16 CFR §1265.2(b)(1), 91 FR 38162

If that survives to a final rule, battery pack repair as a shop service line effectively ends for products manufactured after the effective date. A sealed, ultrasonically welded enclosure is not something a mechanic opens and closes again. The safety case for it is strong and I am not arguing against it — the same rulemaking documents 227 unique incidents between 2019 and 2023, of which 90 are associated with 39 fatalities and 181 injuries. But a shop that today quotes cell replacements needs to know that this revenue line has an expiry date attached to a rule that has not been finalized yet, and to be able to see, in its own service history, how much of its bench revenue depends on it.

One more scope note that shops keep missing. The proposed rule expressly covers e-bike conversion kits, defining them as the components sold with or separately from an e-bike that let a user convert a non-powered bicycle. Read that alongside Maryland §22–420 and the position is uncomfortable: a shop that fits a conversion kit to a customer’s ordinary bicycle has produced an electric bicycle. It is a machine with a class, a top assisted speed and a motor wattage — and, because no manufacturer or distributor ever applied one, no label. The statutory duty to apply the label under (a) sits with manufacturers and distributors; the duty to correct a classification under (b) attaches to modification. A newly converted bike arguably fits neither cleanly. That is a question for counsel. But if you fit conversion kits, you should at minimum know which serial numbers you have converted, when, with what, and to what resulting class. Right now most shops have that information written on a paper ticket in a drawer.

What custom software costs, next to the meter

Here is the comparison I promised, using our published fixed prices and the two stacks modeled earlier. Every package below ships to production, on infrastructure you own, with the full source code handed over.

founderandai fixed-price packages, and how long each subscription stack takes to reach the same money. Subscription figures are the published floors modeled above and exclude payment processing, hardware and implementation.
PackageFixed priceMonths of Stack A ($3,444/yr)Months of Stack B ($8,832/yr)
Prototype Sprint$3,50012.24.8
Online Storefrom $6,00020.98.2
Custom Appfrom $12,00041.816.3
Operations Systemfrom $12,00041.816.3

Two honest caveats about that table, because a comparison that flatters us is not worth printing. The first is that it compares a one-time build against a recurring subscription, and those are genuinely different kinds of commitment — the subscription includes hosting, support and continuous product development that a fixed-price build does not. The second is that most shops should not replace their point of sale at all. Stack B reaching our Online Store price in 8.2 months does not mean you should cancel Stack B in month nine. It means that if the thing you actually need is one system your existing tools cannot do, the cost of building that one system is smaller than the annual meter you are already paying, and you get to own it.

What we would actually build for a Baltimore bike shop

Concretely, and in the order I would build it.

A bike record, not a product record. One row per physical machine, keyed on the frame serial number, created the first time that serial enters your world — whether you sold it, converted it, or a stranger walked in with it. It carries the model it came from, the current classification, the label state, every work order that has ever touched it, and the customer it currently belongs to, which is a field that changes when the bike is sold on. This is the foundation, and almost everything else in this article is a view over it. It is also the thing that turns a service department into an asset the shop owns: a shop that knows the maintenance history of nine hundred bicycles in its neighborhood has something no national retailer can replicate.

A modification log that knows it is a legal event. When a work order changes what the motor does, the system should say so — flag the classification as stale, generate the corrected label in Arial at nine points or better, and record who did the work and when. That is the §22–420(b) obligation turned into two extra fields and a print action. It costs almost nothing to build and it is the single highest-value thing on this list, because it converts a rule your mechanics currently carry in their heads into a record the business holds.

A fulfillment rule that classifies the box, not the item. At pick time, look at the contents, the destination and the service level, and resolve to the right consignment: whole bike with pack installed, bike and pack in one carton, pack alone. Produce the right UN number and the right mark, or block the combination and explain why. Wire your carrier’s actual accepted configurations in, because they vary, and treat the answer as a decision your staff can audit rather than a setting somebody once chose.

A store that can hold a bike against a voucher. Reserve a specific serial number for a specific customer for a specific window, applied before the sale rather than at checkout, reconcilable afterward against the issuing program. Build it for the city voucher and it will work for the manufacturer rebate, the corporate wellness program and the layaway you have been doing on a whiteboard.

A catalog you can re-baseline in a day. Given what CPSC has proposed, the ability to bulk-update certifications, part numbers and prices across your catalog — and to see instantly which of your inventory sits at exactly 750 watts, which is Class 3, and which you have converted yourself — is not administrative hygiene. Over the next eighteen months it is a competitive position.

When you should not build anything

I would rather you kept a subscription that works than bought a build you did not need, so here is the honest version of who should stop reading.

  • If you are a single-location shop running Lightspeed or Square happily, and your service tickets fit in a notebook you actually use, buy nothing. The meter is cheap at your scale and the build will not pay back.
  • If you are a Trek dealer on Ascend, the supplier integration is worth more than anything we would write, and the right move is to keep it and add one small system beside it.
  • If your online sales are under a few thousand dollars a month, the Workstand e-commerce add-on at $99 is a better deal than any store we could build you, and you should revisit only when the catalog or the fulfillment rules become the constraint.
  • If your problem is that nobody enters the data, software will not fix it. That is a staffing and process problem, and a new system will make it more visible and more expensive.
  • If you are about to renew a multi-year contract this quarter, wait for the CPSC final rule before you commit, because what your catalog has to carry may be about to change.

What should make you consider a build is narrower and easier to recognize: you have more than one location, or a service department that is a real business rather than a courtesy, or serial numbers that matter to you, or an online store whose shipping rules you have already had to explain to a carrier. Those are the shops where the seams between systems have started to cost real money.

Who we are

We are a small studio of former startup founders. We build custom software at a fixed price, in days to weeks rather than months, and we hand over every line of the source code along with the repositories, keys and accounts. There is no hourly meter, because the meter is where an agency’s margin lives and we took it out. You talk to the people writing the code.

Everything we ship goes to production on infrastructure you own, with real accounts, permissions, payments and integrations working on day one. If what you need is a small thing that closes a seam between two systems you already like, that is the Prototype Sprint at $3,500. If it is a store you can actually change, that is the Online Store from $6,000. If it is the bike record and the service department built around it, that is the Operations System from $12,000. You can see what these budgets buy, and the first call is free and thirty minutes — bring the tangle of spreadsheets.

Questions we get asked

Does a Maryland bike shop have to put a class label on an electric bicycle it sells?

The duty to apply the label sits upstream of you. Maryland Transportation §22–420(a)(1) says that beginning January 1, 2020, manufacturers and distributors of electric bicycles shall apply a permanently affixed standardized label in a prominent location. A retailer is neither a manufacturer nor, in the ordinary sense, a distributor, so the bike should arrive already labeled. But §22–420(b) is written much more broadly: a person may not tamper with or modify an electric bicycle in a manner that changes its motor-powered speed capability unless the person corrects the classification on the label. That duty falls on whoever does the work, which in practice is your mechanic. So you are excused from creating the label and bound by the rule that changes it.

What has to be printed on a Maryland e-bike label?

Exactly three things, in a specified typeface at a specified minimum size. Maryland Transportation §22–420(a)(2) requires the label to be printed in Arial font in at least 9 point type and to contain, for the electric bicycle, the classification, the top assisted speed, and the motor wattage. That is a closed three-field schema with a stylesheet attached, written into a state vehicle statute. It shares no fields at all with the federal bicycle label required by 16 CFR §1512.19(e), which asks for the name of the manufacturer or private labeler and a marking identifying the month and year of manufacture.

Is a 750-watt e-bike legal to sell in Maryland?

It is an electric bicycle under Maryland law and it is not a low-speed electric bicycle under federal law, which is a genuinely odd place for a product to sit. Maryland Transportation §11–117.1(a)(4) requires a motor with a rating of 750 watts or less. The federal definition at 15 U.S.C. §2085(b) covers an electric motor of less than 750 watts. A motor rated at exactly 750 watts satisfies the first and fails the second. That matters because 15 U.S.C. §2085(a) is the provision that makes a low-speed electric bicycle a consumer product regulated by the CPSC rather than something else. This is a question for your own counsel, not for a blog post, but your product data should at least be able to tell you which of your bikes sit on the line.

Can I ship an e-bike battery to an online customer?

Not under the small-battery exception, in almost every real case. 49 CFR §173.185(c)(1)(i) caps the exception at 100 watt-hours for a lithium ion battery. Paragraph (c)(1)(iv) raises that to 300 watt-hours for transportation by highway or rail only, provided the outer package is marked to say the batteries are forbidden aboard aircraft and vessel. A common 48-volt, 14 amp-hour e-bike pack is 672 watt-hours, which is 6.72 times the first ceiling and 2.24 times the second. A battery over both ceilings is fully regulated Class 9 hazardous material shipped as UN3480, with the training, paperwork and carrier arrangements that go with it. Talk to your carrier before you list the part, not after someone buys it.

Why does the same battery have different shipping rules depending on the order?

Because the classification describes the package, not the product. Under 49 CFR §173.185(c)(3)(i), the lithium battery mark carries UN3480 when ion cells or batteries travel alone and UN3481 when they are contained in, or packed with, equipment. So a pack installed in the bike, a pack in the same carton as the bike, and a pack on its own are three different consignments built from one stock item. There is a weight consequence too: paragraph (c)(1)(vii) caps a package at 30 kilograms gross except when the cells or batteries are packed with or contained in equipment, so the heavier package, the whole bike, is the one the cap does not reach.

What is the CPSC micromobility battery rule and when does it start?

It is a proposal, not yet law. CPSC published a notice of proposed rulemaking at 91 FR 38162 on 24 June 2026, under docket CPSC–2025–0012, proposing a new 16 CFR Part 1265 that would require e-bikes to comply with ANSI/CAN/UL 2849:2020 with modifications. Comments closed on 24 August 2026. The proposed effective date applies the rule to products manufactured after a date 180 days from publication of a final rule. The number worth planning around is in CPSC’s own regulatory flexibility analysis: staff put the current compliance rate of e-bike products at approximately 11 percent, and the compliance cost at $230 per unit for e-bikes.

Will the new federal rule automatically apply in Maryland?

Federally, yes, on its own terms. Through Maryland’s statute, no, at least not as currently drafted. Maryland Transportation §22–420(c) says an electric bicycle shall comply with the equipment and manufacturing requirements for bicycles adopted by the CPSC under 16 C.F.R. §1512. It names that part specifically, with no words carrying the reference forward to later or other parts. The proposed battery standard would be a new 16 CFR Part 1265, alongside amendments to Part 1112. A rule at Part 1265 is not a rule under Part 1512, so unless Maryland amends the cross-reference, the state equipment requirement and the federal one will describe different things.

What would custom software actually replace in a bike shop?

Usually the seams rather than the systems. The point of sale is rarely the problem. The problem is that the service ticket, the serial-number record, the customer’s bike history, the special-order queue and the online store each know part of the truth and none of them knows all of it. We generally build one record per physical bike, keyed on the serial number, that carries the classification, the work done to it, the label state, the warranty position and the online order it came from, and let the existing point of sale and accounting keep doing what they already do well.

Start here

What class is the bike you sold in March?

Book a free 30‑minute call. Bring last month’s service tickets, your current software bill and one e‑bike invoice, and we’ll go through them with you: whether your system can tell you which serial numbers you have modified and what class they are now, what happens at the packing bench when someone orders a spare battery, whether you could hold a bike against a city voucher for forty‑five days without a whiteboard, and what an online store would cost that knows its own shipping rules instead of guessing. Then we’ll tell you what we would build, what you should keep renting, and the fixed price that goes with it.