Ecommerce development in Chicago
Much of Chicago's ecommerce is business to business. Distributors and manufacturers across the Midwest sell to customers who each have their own negotiated price list, buy on net terms rather than by card, reorder the same things every month, and expect the website to agree with what their account rep quoted. A consumer storefront theme does not model any of that.
We build B2B commerce with the complexity where it belongs: customer-specific pricing and catalogues, quotes that convert to orders, purchase-order and invoice payment alongside cards, and quick reorder from past purchases. Most of the effort goes into the integration with your ERP, so stock, prices and order status stay in step and your finance team is not re-keying orders by hand.
Chicago's software buyers are mostly not startups selling to other startups. The city's economy rests on trading and derivatives, around CME Group and the proprietary trading firms that grew up beside the exchanges; on freight and logistics, because this is where much of the country's rail and trucking traffic meets; on insurance, from carriers to the brokers and agencies around them; and on manufacturing and distribution across the Midwest. These are established, profitable businesses, and a good deal of their software is older than some of the engineers who maintain it.
So the work is integration and modernisation more often than a blank page. Freight systems speak EDI and carrier APIs that disagree about what happened to a load. Insurers run on policy administration systems nobody wants to replace and everybody wants to build around. Trading firms keep their latency-critical code with in-house specialists, and buy the layer around it: risk and reconciliation reports, operations dashboards, internal tools and data pipelines. The strongest pitch in Chicago is rarely a rewrite. It is a clean, documented system built beside the old one, with work moved across one piece at a time.
Built In puts the average base salary for a software engineer in Chicago at around $133,000, and every employer in the city competes with the trading firms for the same engineers. The result is a familiar backlog: the carrier integration that has to be done properly once, the agency portal everyone complains about, the internal tools the engineering team is too busy to reach. Those are defined pieces of work, which suits an engagement. It starts with a fixed-price two-week piece, and the code belongs to you from the first commit.
We move our working day for Illinois. Four hours of every working day overlap with your morning in Central time, stand-up included, so calls, reviews and decisions happen live with the engineer who writes the code. Everything decided or discovered is written down in your repository and tracker, and runbooks and architecture notes are written as we go, so the system built beside the old one is documented from its first day.
We are the right fit for a defined piece of modernisation, an integration that has to be done properly once, or the internal tools your own engineers are too busy to reach. Senior capacity starts within days, the first piece is a fixed-price two-week engagement, and agencies serving Chicago's insurers can put the work under their own name.
Four ways this arrives.
The ERP updates overnight, the store sells all day, and by morning the two do not match. We build the sync as a queue with retries and reconciliation, decide which system wins for each field, and alert on drift before a customer buys stock you do not have.
Or checkout slows until people give up. We cache what can be cached at the edge, keep live stock checks off the browsing path, load-test the shape of a real launch rather than a steady trickle, and queue anything that cannot scale.
Bundles, B2B price lists, subscriptions, delivery rules by postcode. We build it as a custom Shopify app or with Shopify Functions and checkout extensions so it survives platform updates, or tell you when you have outgrown the theme altogether.
Payment webhooks can arrive twice, late or out of order, and the handler trusts every one. We make order state follow the provider's record, process Stripe and Razorpay events idempotently, and reconcile daily so a mismatch is a report, not a complaint.
An hourly sync with a third-party system reachable only through its API, with values normalised at the boundary so unchanged records stop looking changed.
Read the write-up →Asked by Chicago teams.
How do you work with teams in Chicago?+
We are in Bengaluru and move our working day for Illinois, so four hours of every working day overlap with your morning in Central time, stand-up included. Calls, reviews and decisions happen in that window. The rest of the work lives in your tools: messages in Slack, code in GitHub, tickets in Linear. The person on every call is the engineer who writes the code, so a question about the system gets answered by the person who built it.
Do you build for Chicago freight and logistics companies?+
Yes. The work is usually the layer that turns messy events into a shipment you can trust: EDI load tenders, status updates and invoices parsed into one event model, carrier tracking APIs reconciled against it, and proof-of-delivery photos from a field app that works offline. Around that sit the operations screens a brokerage floor uses all day, and the pipelines that turn loads and lanes into pricing and margin reports.
How does your rate compare to hiring in Chicago?+
Built In puts the average base salary for a software engineer in Chicago at about $133,000, before benefits and bonus, and you are competing with trading firms for that person. Our published rate is $35/hour, or $5,400 a month for an embedded engineer, with a $5,000 minimum. There is no recruiting time and no employment overhead, and work starts within days. A fixed-price two-week first piece at $2,800 lets you judge us on output.
Can you build alongside our existing systems rather than replacing them?+
Yes, and in Chicago that is most of the work. We read the old system, write down what it actually does, and build the new piece beside it. Work moves across one workflow at a time, with both running until the last piece lands, so the business keeps running without a cut-over weekend. We did exactly this on FM360, moving a pipeline across module by module rather than in one cut-over.
Have you built a store like ours?+
We build stores from the parts of commerce that usually go wrong, and those are what we work on every day: syncing with a third-party system that only speaks through its API, handling webhooks that arrive twice, and background jobs that must not lose or repeat work. On a call we will walk you through how that applies to your store.
Shopify, headless, or fully custom?+
Start with Shopify if a theme and a few apps cover you; that is cheaper than anything we would build. Go headless when the storefront must do things a theme cannot, or share a front end with other products. Build on Medusa or commercetools when the catalogue, pricing or order flow is genuinely unusual. Most stores never need the third option, and we will say so.
Can you connect our ERP or warehouse system?+
Usually, if it has an API or can export files on a schedule. We start by agreeing which system owns each field, such as stock, price and order status, because most sync bugs come from two systems both believing they are the source of truth. Then we build the sync with retries, a log of every change, and a daily reconciliation report.
Which payment providers do you work with?+
Stripe, Razorpay, and Shopify Payments when the store runs on Shopify. Choose the one that suits your markets and fees; we earn nothing from any of them. The work that matters is the same for all three: treat the provider as the record of what was paid, handle every webhook idempotently, and test refunds and partial captures, not only the happy path.
How do you prepare for a sale or a launch?+
We load-test the whole journey, from landing page to paid order, at the traffic you expect and beyond it. We find what breaks first, which is usually a third-party script, an uncached page or the stock check, and fix it before the day. During the sale itself, the engineer who did that work is watching the dashboards with you.