SectionsBundlesPricingFAQBlogAboutContactContactInstall on Shopify
Home/Blog/Founder notes
Founder notes · 8 min read

Why I'm building Modulo solo in 2026

Why I'm building Modulo solo in 2026

Hi. I'm Marcus, and I'm building Modulo. One person, one Shopify app, no investors. This is the first post on this blog, so it makes sense to write the post that explains why this app exists at all, and why I think now is the right moment for a solo founder to build it.

This is not a "we are excited to announce" post. There's no team to wave at. There's no funding round to reference. There is one person, a laptop, an EU-hosted Render account, and a Shopify storefront I spent a year staring at, asking the same question over and over: why does this need to be five apps?

The storefront audit that made me angry

In early 2025 I audited fifty Shopify storefronts. Some were mine, most were not. The pattern was identical across every single one.

A typical store had between six and eleven third-party apps installed:

  • One page builder, usually charging $30 to $50 a month.
  • One bundle / volume discount app, $20 to $40.
  • One upsell app, $25 to $50.
  • One reviews widget, $15 to $35.
  • One sticky add-to-cart app, $10 to $20.
  • One trust badge app, $5 to $15.
  • One stock urgency app, $10 to $20.
  • One shipping estimator app, $10 to $20.
  • Plus one or two others I'd never heard of, billed automatically, providing one feature each.

The bill at the bottom of the monthly Shopify invoice was rarely under $200. For one storefront I audited it was $470 a month in app subscriptions, on top of the Shopify plan. The merchant had no idea what most of them did.

That was the cost story. The performance story was worse. Every one of those apps had a small script injected into the theme <head>. Every script was a render-blocking request to a third-party CDN. Lighthouse Performance scores on the worst storefronts were in the low 40s. The largest contentful paint was usually a logo image waiting for a chain of three external scripts to resolve before it could draw. Mobile checkout bounce rates were brutal because of this and not because of anything the merchant had done wrong.

I sat with this for a few months. I tried to think of the politically clean answer, the "well actually" answer that says it's fine, each app solves a real problem, you should expect to pay for software, and the performance issue is a Shopify problem not an app problem. I could not make that answer feel honest. The truth is that the typical Shopify storefront in 2025 is slow and expensive because the app ecosystem rewards a five-app architecture, and merchants are paying for that rewards system with conversion they will never see.

Why one app, not five

Modulo is one install. It ships:

  • 36 native theme sections, rendered by Shopify's own Liquid engine.
  • 16 storefront blocks for conversion polish (sticky cart, trust badges, payment icons, stock urgency, and so on).
  • A bundling engine that talks directly to Shopify's automatic discount API.

That replaces, for most stores, between two and five of the apps in the list above. Sometimes more. During the private beta the median number of apps removed when a store installed Modulo was 4.5. The lowest was 2. The highest was 9.

The technical reason this is possible is that Shopify Online Store 2.0 themes are good now. The section and block primitives are first-class. The theme editor accepts merchant-edited section settings. The discount API generates real Shopify automatic discounts instead of fragile middleware. The Web Pixels API gives you analytics without injecting tracking scripts. None of that was true when most of the apps in your bill were originally written.

So Modulo is what you get if you write a Shopify app from scratch in 2026, with no legacy assumptions, no script injection, no iframes, no checkout.liquid mutation. Native Liquid for everything that can be Liquid. JavaScript only when scroll-triggered behavior genuinely needs it, scoped per section, deferred. Zero <head> injection.

The result is a storefront that loads in around 1.5 seconds on a 4G connection, on a store with 36 Modulo sections installed, with a Lighthouse Performance score consistently in the high 90s. The complete Modulo storefront payload is roughly 8KB of CSS and 12KB of JS, all loaded inline from the section that uses it.

Why solo in 2026

The honest answer is that the math broke.

Five years ago, building a Shopify app in this scope required a team. A frontend engineer for the admin UI. A backend engineer for the API. A Liquid specialist for the theme integration. A designer. A support person. A founder. Six people, six salaries, a runway, a seed round, the whole apparatus.

In 2026 I write the admin UI with Polaris, the backend API in Node, the Liquid section templates by hand, and the design system in Tailwind with a Modulo-specific token layer. The blog you are reading is hand-rolled MDX with Fumadocs. The OG images you see when you share a link are programmatically generated React components. None of that required a team. All of it was within reach of one person willing to learn the parts that were new.

The LLM-assisted development part of this is the part most people are loud about, and I'll be honest about it too: yes, an LLM helps. It helps me move faster on the parts I already know and it helps me skip ahead on the parts I don't. It does not write the app for me. The architectural decisions, the Liquid edge cases, the discount API quirks, the cookie strategy, the GDPR webhook implementations, the storefront performance work, all of that is still my job. The LLM is a fast intern who can type. The senior engineering judgment is still on the human side of the keyboard.

What's changed, then, is the cost of doing the thing alone. The fixed cost of "one engineer who can ship a complete Shopify app" used to be a six-figure salary plus stack overhead. It is now closer to my own opportunity cost. That is the change that makes a solo Shopify app financially viable in a way it wasn't in 2020.

The free-forever clause is just math

Modulo is free at launch. Anyone who installs before the paid tier launches is grandfathered into a free-forever plan with the full feature set. That is in writing, in the Terms of service, and it survives any change in pricing or ownership.

This is not a marketing hook. The math behind it is simple. The fixed monthly cost of running Modulo for the first thousand merchants is roughly:

  • Render hosting: 25 USD.
  • Resend transactional email: 20 USD.
  • Sentry error reporting: 26 USD.
  • Domain, certificate, miscellaneous: 5 USD.

That is 76 USD a month, total, to operate the service. The variable cost per merchant is dominated by Shopify's own infrastructure, which the merchant already pays Shopify for. My marginal cost of adding a merchant is essentially zero, until I hit the next tier of any of those four line items, which doesn't happen until the install base is significantly larger.

So a free-forever commitment for the first thousand installers is not a generosity story. It is a transparency story. The infrastructure cost is bounded and small. I can afford to operate at scale without charging. The paid tier exists for future features that genuinely cost more to deliver, not as a forced upgrade for the existing install base.

What you can expect from this blog

A few things, in order of frequency:

  • Real numbers from the build. No fabricated metrics, no rounded-up testimonials, no "merchants saw a 47% lift" without a sample size and a methodology. If I quote a number, the methodology is in the post.
  • Changelog entries. Every release, every section added, every block, every bug fix worth telling you about.
  • Technical decisions explained. Why I picked Render over Vercel for the backend. Why I render sections in Liquid and not in a React island. Why I sample telemetry at one percent rather than running real-time analytics. Each of these gets a post when it's interesting.
  • Founder notes when something genuinely changed. Not weekly stand-ups, not productivity theater. Just the changes that matter.

I will not write filler. If a week passes without something worth telling you, no post that week. The Shopify ecosystem has enough content marketing already.

How to talk to me

hello@runmodulo.com.

That email lands directly in my inbox. There's no shared mailbox, no triage layer, no autoresponder. The reply you get is from me, usually within four hours during EU working hours, often much faster. If I'm asleep, the reply is the next morning.

If you've ever wondered what stitching five apps together is costing your storefront, send me your domain. I will run a free audit until the app launches and email you back with the actual numbers: app subscription total, render-blocking script count, Lighthouse Performance score, and a one-page summary of which Modulo features would replace what. No pitch, no sales call, no follow-up sequence. I want to look at storefronts.

That's the first post. The next one will be one of those audits, anonymised, written up.

Talk to me

Liked it? Disagreed with it? Reply.

Every post here is a half-written conversation. Email me with what worked, what didn't, or what you wish I'd covered. I read everything and write back, usually within four hours.

hello@runmodulo.com