<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Preciousky</title>
    <description>The latest articles on DEV Community by Preciousky (@preciousky_45d956626d31c3).</description>
    <link>https://dev.to/preciousky_45d956626d31c3</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1767735%2F89ab1c62-8367-4062-b1a5-bb2b0bfe503d.jpg</url>
      <title>DEV Community: Preciousky</title>
      <link>https://dev.to/preciousky_45d956626d31c3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/preciousky_45d956626d31c3"/>
    <language>en</language>
    <item>
      <title>The four things a website rebuild does not inherit: a migration runbook (India, 2026)</title>
      <dc:creator>Preciousky</dc:creator>
      <pubDate>Wed, 29 Jul 2026 17:24:01 +0000</pubDate>
      <link>https://dev.to/preciousky_45d956626d31c3/the-four-things-a-website-rebuild-does-not-inherit-a-migration-runbook-india-2026-1k9</link>
      <guid>https://dev.to/preciousky_45d956626d31c3/the-four-things-a-website-rebuild-does-not-inherit-a-migration-runbook-india-2026-1k9</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I work on delivery at ZoopCoder, a web and app development agency in India. Rebuilds are our higher-value work, so I have a commercial interest in you concluding "rebuild" — which is why this post is mostly about how to avoid needing one, and it publishes the number that argues against my own side.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Most "should we rebuild?" arguments happen on the wrong axis. People argue about the stack. The thing that actually decides the price, the timeline and the risk is &lt;strong&gt;what survives the move&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A redesign inherits everything for free, because nothing moves. A rebuild inherits nothing for free. That gap — not the framework, not the design hours — is where the entire cost difference lives, and it is why a rebuild quote with a big total and no migration lines is a quote for a different project.&lt;/p&gt;

&lt;p&gt;Here is the runbook I wish more Indian rebuild quotes were written against.&lt;/p&gt;

&lt;h2&gt;
  
  
  First: does it even need to be a rebuild?
&lt;/h2&gt;

&lt;p&gt;Three switches. Run them &lt;strong&gt;line by line down the change list&lt;/strong&gt;, not on the project as a whole. One yes anywhere on a line puts that line into rebuild territory.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The platform changes.&lt;/strong&gt; Builder → WordPress, WordPress → custom, one framework → another. Also: the platform is abandoned, or nobody has the code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The site must start remembering something it does not store today.&lt;/strong&gt; Logins, orders, uploaded files, a consent record, roles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The URL structure changes.&lt;/strong&gt; Addresses change, sections merge or split, new domain, language prefix.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Zero yeses across the whole list means it is a redesign, whatever anyone is calling it. This matters more than it sounds: it is common for eleven items out of twelve to be pure redesign and exactly one item — usually "let customers log in" — to be the only thing flipping a switch. That item can very often be carved out and scoped separately later, at a fifth of the price today.&lt;/p&gt;

&lt;p&gt;Indian bands, 2026, for calibration:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Work&lt;/th&gt;
&lt;th&gt;Band&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Restyle a brochure site, same pages, same URLs&lt;/td&gt;
&lt;td&gt;₹25,000–₹50,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Restyle a WordPress site&lt;/td&gt;
&lt;td&gt;₹35,000–₹75,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"It is slow" — measure first&lt;/td&gt;
&lt;td&gt;₹0–₹15,000 in most cases&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rebuild off a closed builder onto WordPress&lt;/td&gt;
&lt;td&gt;₹35,000–₹75,000 + content carry&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rebuild that adds logins, roles or payments&lt;/td&gt;
&lt;td&gt;₹1,00,000+&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The four inheritances
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Inheritance&lt;/th&gt;
&lt;th&gt;Redesign&lt;/th&gt;
&lt;th&gt;Rebuild&lt;/th&gt;
&lt;th&gt;Reversible?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;URLs&lt;/td&gt;
&lt;td&gt;Kept, free&lt;/td&gt;
&lt;td&gt;Lost by default&lt;/td&gt;
&lt;td&gt;No, in practice&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Content&lt;/td&gt;
&lt;td&gt;Kept, free&lt;/td&gt;
&lt;td&gt;Re-entered page by page&lt;/td&gt;
&lt;td&gt;Yes, expensively&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data&lt;/td&gt;
&lt;td&gt;Untouched&lt;/td&gt;
&lt;td&gt;Mapped migration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Accounts&lt;/td&gt;
&lt;td&gt;Untouched&lt;/td&gt;
&lt;td&gt;Must be transferred&lt;/td&gt;
&lt;td&gt;Yes, slowly&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  1. URLs — the 301 map is a deliverable, not a task
&lt;/h3&gt;

&lt;p&gt;Ask for it &lt;strong&gt;as a file&lt;/strong&gt;, before you sign. Every existing URL on the left, its destination on the right.&lt;/p&gt;

&lt;p&gt;Building the left column properly means unioning three sources, because none of them is complete on its own:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;sitemap.xml&lt;/code&gt; — what the CMS thinks exists.&lt;/li&gt;
&lt;li&gt;Search Console → Pages → the indexed list — what Google actually has.&lt;/li&gt;
&lt;li&gt;The access log — what real traffic hits. On an old site this is where the surprises are: PDFs, old campaign landing pages, &lt;code&gt;/index.php&lt;/code&gt;-style paths, an &lt;code&gt;/amp/&lt;/code&gt; variant nobody remembers shipping.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# distinct paths real traffic actually requested, most-hit first&lt;/span&gt;
&lt;span class="nb"&gt;awk&lt;/span&gt; &lt;span class="s1"&gt;'{print $7}'&lt;/span&gt; /var/log/nginx/access.log &lt;span class="se"&gt;\&lt;/span&gt;
  | &lt;span class="nb"&gt;sed&lt;/span&gt; &lt;span class="s1"&gt;'s/?.*//'&lt;/span&gt; | &lt;span class="nb"&gt;sort&lt;/span&gt; | &lt;span class="nb"&gt;uniq&lt;/span&gt; &lt;span class="nt"&gt;-c&lt;/span&gt; | &lt;span class="nb"&gt;sort&lt;/span&gt; &lt;span class="nt"&gt;-rn&lt;/span&gt; | &lt;span class="nb"&gt;head&lt;/span&gt; &lt;span class="nt"&gt;-200&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Rules that save you later: map to the closest equivalent page, never blanket-redirect everything to &lt;code&gt;/&lt;/code&gt; (Google treats a mass redirect to the homepage as a soft 404 and you keep none of it), chain nothing more than one hop, and publish the map &lt;strong&gt;with&lt;/strong&gt; the new site rather than a week after. Then watch crawl errors weekly for a month — the map is never complete on day one, and the log tells you what you missed.&lt;/p&gt;

&lt;p&gt;This is the line most often absent from an Indian rebuild quote, and it is the one whose absence is invisible until traffic drops.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Content — decide who types it in, in writing
&lt;/h3&gt;

&lt;p&gt;"We will migrate the content" is not a scope line, it is an ambiguity. Page-by-page re-entry is real hours and it is the item most often silently handed back to the client mid-project, which is also the single biggest cause of a slipped date. Put the answer in the document: &lt;strong&gt;who types it in, you or me?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Data — the only irreversible one
&lt;/h3&gt;

&lt;p&gt;Not "we will move the data". The line should read: &lt;strong&gt;export → field map → import → reconcile row counts → spot-check N records together.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="c1"&gt;-- run on both databases after the import; the numbers must match&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="s1"&gt;'enquiries'&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;COUNT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="k"&gt;MAX&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;created_at&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;enquiries&lt;/span&gt;
&lt;span class="k"&gt;UNION&lt;/span&gt; &lt;span class="k"&gt;ALL&lt;/span&gt; &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="s1"&gt;'orders'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;COUNT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="k"&gt;MAX&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;created_at&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;orders&lt;/span&gt;
&lt;span class="k"&gt;UNION&lt;/span&gt; &lt;span class="k"&gt;ALL&lt;/span&gt; &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="s1"&gt;'users'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="k"&gt;COUNT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="k"&gt;MAX&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;created_at&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then the cheapest insurance in the whole project: &lt;strong&gt;keep the old database live and read-only for 90 days after cutover&lt;/strong&gt;, on a staging address. It costs almost nothing and it is the difference between an inconvenience and a catastrophe. Silent truncation of a &lt;code&gt;TEXT&lt;/code&gt; column into a &lt;code&gt;VARCHAR(255)&lt;/code&gt;, timezone drift on &lt;code&gt;created_at&lt;/code&gt;, dropped rows where a NOT NULL was added — none of these announce themselves, and all of them are recoverable if the source is still there.&lt;/p&gt;

&lt;p&gt;Watch the encoding too. A lot of older Indian WordPress installs are &lt;code&gt;utf8&lt;/code&gt; (3-byte) rather than &lt;code&gt;utf8mb4&lt;/code&gt;, so anything with an emoji or certain Indic sequences will silently mangle on the way into a stricter target.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Accounts — not technical work, and the usual reason it stalls
&lt;/h3&gt;

&lt;p&gt;Registrar, hosting panel, DNS, analytics, Search Console, payment gateway, repository, and any transactional email or SMS sender. None of this is engineering. All of it is other people's queues — registrar transfers and gateway KYC in India routinely take a week each — and it is the single most common reason a rebuild sits stalled for three weeks with the code already finished.&lt;/p&gt;

&lt;p&gt;Start it in &lt;strong&gt;week one&lt;/strong&gt;, with every account created in the client's name and the developer added as a user. Not zipped up and handed over at the end.&lt;/p&gt;

&lt;p&gt;Two more worth naming: keep the &lt;strong&gt;existing GA4 and Search Console properties&lt;/strong&gt; rather than creating new ones — history is free to keep and impossible to recreate — and annotate the cutover date so that six months later you can tell a rebuild effect from a seasonal one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two dates that belong in the plan, not in the retro
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;3 October.&lt;/strong&gt; If the client capitalises the rebuild as software, it is depreciated at 40% WDV rather than deducted, and the second proviso to section 32(1) of the Income-tax Act halves depreciation where an asset is put to use for &lt;strong&gt;under 180 days&lt;/strong&gt; in the year. In an ordinary Indian financial year, 3 October is the last day that still completes 180. On ₹1,50,000 that is ₹60,000 of year-one depreciation if you go live on 3 October and ₹30,000 if you go live on 4 October. Same code, same invoice, one calendar day. A redesign treated as revenue expenditure under section 37 is usually deductible in full and is unaffected — in &lt;em&gt;CIT v. Indian Visit.com (P.) Ltd.&lt;/em&gt; the Delhi High Court held website spend produces no accretion to fixed capital. Classification follows what was actually done, never the noun on the invoice. (General information, not tax advice — worth an hour of the client's CA.)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13 May 2027.&lt;/strong&gt; The DPDP Act 2023's substantive obligations on ordinary Indian data fiduciaries are set to apply from this date under the rules notified in November 2025. What it asks for is structural: a plain-language itemised notice available in English &lt;em&gt;or any Eighth Schedule language at the user's option&lt;/em&gt;, consent as a specific affirmative action, withdrawal as easy as giving, and erasure afterwards. In schema terms that is &lt;strong&gt;somewhere to write a consent record, something to match a withdrawal against, and a delete path&lt;/strong&gt; — plus the retention rule that makes the delete meaningful. If you are rebuilding anyway, build it once now instead of retrofitting in eighteen months. Treat the date as a planning date; the phasing has moved before.&lt;/p&gt;

&lt;h2&gt;
  
  
  The number that argues against my own business
&lt;/h2&gt;

&lt;p&gt;A redesign that keeps the platform, the content and the URLs typically costs &lt;strong&gt;between a third and a fifth&lt;/strong&gt; of a rebuild of the same site, and carries almost none of its risk. If the switch test comes back all-off — and "it looks dated and it is slow" comes back all-off — the honest answer is a redesign.&lt;/p&gt;

&lt;p&gt;Especially "it is slow". On small Indian business sites that is almost always one of three cheap things, in this order: uncompressed images straight off a phone, oversubscribed shared hosting, and plugin bloat. Measure, fix those, measure again. A rebuild will certainly produce a fast site; so would ₹8,000 and a Saturday, and only one of those bills arrives twice.&lt;/p&gt;

&lt;p&gt;And "we want better SEO" is backwards. A rebuild is the most reliable way to &lt;em&gt;lose&lt;/em&gt; rankings, because it changes URLs. Rebuild for what the site must do, never for what you hope a search engine will do afterwards.&lt;/p&gt;

&lt;p&gt;Full version with both price tables, the three-switch matrix and the tax breakdown: &lt;a href="https://zoopcoder.com/guides/website-redesign-vs-rebuild-india.php" rel="noopener noreferrer"&gt;Should you redesign your website or rebuild it? (India, 2026)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>india</category>
      <category>seo</category>
      <category>database</category>
    </item>
    <item>
      <title>The agency premium in India is 20% or 42% - and it depends on your GST registration, not their price</title>
      <dc:creator>Preciousky</dc:creator>
      <pubDate>Fri, 24 Jul 2026 10:34:56 +0000</pubDate>
      <link>https://dev.to/preciousky_45d956626d31c3/the-agency-premium-in-india-is-20-or-42-and-it-depends-on-your-gst-registration-not-their-price-4fbg</link>
      <guid>https://dev.to/preciousky_45d956626d31c3/the-agency-premium-in-india-is-20-or-42-and-it-depends-on-your-gst-registration-not-their-price-4fbg</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I work at ZoopCoder, a small development agency in India. So the whole point of this post is a number that argues against hiring us — 42% — and it is the number our own industry never prints.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The rule first, because it is the only part most people need
&lt;/h2&gt;

&lt;p&gt;In India in 2026, hire a &lt;strong&gt;freelancer&lt;/strong&gt; if the project is under roughly &lt;strong&gt;₹1,00,000&lt;/strong&gt;, has a scope you can write on one page, and could survive a two-week pause. Hire an &lt;strong&gt;agency&lt;/strong&gt; once it crosses ₹1,00,000, needs more than one skill set, or has a launch date you cannot move.&lt;/p&gt;

&lt;p&gt;That is it. Everything else here is the arithmetic behind it, plus one statutory fact that changes the answer for about half the people reading this.&lt;/p&gt;

&lt;h2&gt;
  
  
  The exclusive fact: the agency premium is 20% or 42%, and it depends on YOUR registration, not their price
&lt;/h2&gt;

&lt;p&gt;Every freelancer-vs-agency comparison you will read compares sticker prices. In India the sticker price is not the price, because of one asymmetry that nobody puts in the table.&lt;/p&gt;

&lt;p&gt;Most Indian freelancers bill &lt;strong&gt;without GST&lt;/strong&gt; — under the ₹20 lakh services turnover threshold they are not required to register. Every agency bills &lt;strong&gt;with 18% GST&lt;/strong&gt;. If you are a GST-registered business, that 18% is input tax credit: you pay it and you reclaim it. If you are not registered, it is money you never see again.&lt;/p&gt;

&lt;p&gt;Take a ₹1,00,000 freelance quote against a ₹1,20,000 agency quote for the same scope:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Your situation&lt;/th&gt;
&lt;th&gt;Freelancer (no GST)&lt;/th&gt;
&lt;th&gt;Agency ₹1,20,000 + 18% GST&lt;/th&gt;
&lt;th&gt;Real gap&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GST-registered business&lt;/td&gt;
&lt;td&gt;₹1,00,000 real cost&lt;/td&gt;
&lt;td&gt;₹1,41,600 paid, ₹21,600 reclaimed as ITC → &lt;strong&gt;₹1,20,000&lt;/strong&gt; real cost&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;20%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Not GST-registered&lt;/td&gt;
&lt;td&gt;₹1,00,000 real cost&lt;/td&gt;
&lt;td&gt;₹1,41,600 paid, nothing reclaimable → &lt;strong&gt;₹1,41,600&lt;/strong&gt; real cost&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;42%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Same two vendors. Same quotes. The premium is either 20% or 42% purely because of a fact about &lt;em&gt;you&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;If you are a registered company, the tax is a wash and the agency decision is a straight question of whether continuity is worth a fifth more. If you are a proprietor, an individual founder, a doctor building a clinic site, a small trust — you are in the 42% row, and the agency is genuinely around 40% more expensive than the quote makes it look. That is a real argument for hiring a freelancer and I would rather you heard it from an agency than found it on the invoice.&lt;/p&gt;

&lt;p&gt;(General information, not tax advice. Confirm your own position with your CA.)&lt;/p&gt;

&lt;h2&gt;
  
  
  The second statutory fact runs the other way: Section 194J
&lt;/h2&gt;

&lt;p&gt;If you are a &lt;strong&gt;business&lt;/strong&gt; paying for development services, you are generally required to deduct &lt;strong&gt;TDS before paying&lt;/strong&gt; — commonly &lt;strong&gt;10% under Section 194J&lt;/strong&gt; for professional and technical services — and deposit it against the vendor's PAN.&lt;/p&gt;

&lt;p&gt;An agency does this every month and issues the invoice correctly. A first-time freelancer frequently does not know the rule, has not budgeted for it, and then reads the 10% you correctly withheld as you short-paying them. It is a small administrative thing that sours a genuinely large number of otherwise fine projects.&lt;/p&gt;

&lt;p&gt;Ask, in writing, before the first payment: &lt;em&gt;are you registered for GST, and do you account for TDS under 194J?&lt;/em&gt; Two sentences, and it removes the two most common payment fights in Indian software work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rate bands, briefly
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Freelancer&lt;/th&gt;
&lt;th&gt;Small agency&lt;/th&gt;
&lt;th&gt;Mid-size / enterprise&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Typical rate&lt;/td&gt;
&lt;td&gt;₹400 – ₹1,200 / hr&lt;/td&gt;
&lt;td&gt;₹800 – ₹2,000 / hr&lt;/td&gt;
&lt;td&gt;₹1,500 – ₹6,000 / hr&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;People on your project&lt;/td&gt;
&lt;td&gt;One&lt;/td&gt;
&lt;td&gt;Designer + dev(s) + QA&lt;/td&gt;
&lt;td&gt;Team + dedicated PM + BA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;If they vanish&lt;/td&gt;
&lt;td&gt;Project stops — there is no bench&lt;/td&gt;
&lt;td&gt;Someone else picks it up&lt;/td&gt;
&lt;td&gt;Contractually guaranteed cover&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recourse&lt;/td&gt;
&lt;td&gt;Often just a chat thread&lt;/td&gt;
&lt;td&gt;Written scope, fixed price, milestones&lt;/td&gt;
&lt;td&gt;MSA, SLA, indemnity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GST on the invoice&lt;/td&gt;
&lt;td&gt;Often none (below ₹20L turnover)&lt;/td&gt;
&lt;td&gt;18%, reclaimable if registered&lt;/td&gt;
&lt;td&gt;18%, reclaimable if registered&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;So the same 8-screen app is roughly &lt;strong&gt;₹60,000–₹1,50,000&lt;/strong&gt; freelance versus &lt;strong&gt;₹1,00,000–₹3,00,000&lt;/strong&gt; at a small agency. A 40–100% premium that buys exactly one thing: &lt;strong&gt;continuity&lt;/strong&gt;. A freelancer is a single point of failure; an agency is a contract, a team, and somebody still answering the phone in month seven.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the freelancer advantage disappears — and it is not where people expect
&lt;/h2&gt;

&lt;p&gt;The interesting part of pricing the same project both ways is what happens at the top of the range, not the bottom:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Business website, 5–10 pages&lt;/strong&gt; — ₹15,000–₹35,000 freelance vs ₹25,000–₹50,000 agency. The freelancer is genuinely close to half price. Take it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simple Flutter app&lt;/strong&gt; — ₹35,000–₹80,000 vs ₹50,000–₹1,00,000. Still a real saving.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Medium app, logins + payments&lt;/strong&gt; — ₹80,000–₹2,00,000 vs ₹1,00,000–₹2,50,000. The bands are starting to overlap.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SaaS MVP&lt;/strong&gt; — ₹1,50,000–₹6,00,000 vs ₹1,50,000–₹5,00,000. &lt;strong&gt;The bands have fully overlapped.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At ₹25,000 a freelancer is half the price. At ₹5,00,000 there is no price advantage left at all, because a solo developer building a SaaS MVP has to sub-contract the design, the DevOps and the QA they cannot do themselves — and the coordination cost of that lands on you, unpaid and unmanaged. You end up as the project manager of an agency you accidentally assembled, at agency prices, with none of the accountability.&lt;/p&gt;

&lt;h2&gt;
  
  
  When an agency is the wrong buy — written by an agency
&lt;/h2&gt;

&lt;p&gt;An agency that claims to be right for every project is telling you about its sales targets, not your project. Cases where hiring one of us is a waste of your money:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A one-to-five page site under ₹25,000.&lt;/strong&gt; There is nothing for a team to coordinate. Our overhead is pure dead weight at this size.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A single well-defined change to something that exists.&lt;/strong&gt; Add a gateway. Fix a form. Migrate a host. One skill, one person, one week.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You already have a technical co-founder or in-house lead.&lt;/strong&gt; You already own the thing you would be buying. Buy hands, not a team.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ongoing small changes after launch.&lt;/strong&gt; Once a product is built, documented and handed over, a retained freelancer at ₹15,000–₹30,000/month out-values most agency support plans. Agency to build, freelancer to maintain, is genuinely the smartest hybrid I know.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the mirror image, where a freelancer is a mistake rather than a saving: a launch date you cannot move; work needing design + backend + mobile + DevOps simultaneously; anything holding money or personal data; anything a regulator or a client depends on; and — the quiet killer — &lt;strong&gt;any build where you personally cannot judge whether the output is good.&lt;/strong&gt; Managing a freelancer well requires you to be able to evaluate the work. If you cannot, you are not saving 42%. You are buying an unmeasurable risk at a discount.&lt;/p&gt;

&lt;h2&gt;
  
  
  The failure mode that actually costs money
&lt;/h2&gt;

&lt;p&gt;Bad freelance projects almost never fail because the code was bad. They fail because the person stopped replying. One human being has one life: illness, a full-time offer, a better client, burnout.&lt;/p&gt;

&lt;p&gt;And the loss is not the money already paid. The loss is the half-finished, undocumented codebase. Picking up someone else's abandoned project typically runs &lt;strong&gt;30–50% more than building from scratch&lt;/strong&gt;, because the next developer has to read and trust code they did not write before they can safely change a line. Many will refuse and quote you for a rebuild instead. That is how an ₹80,000 saving becomes a ₹1,80,000 bill and four lost months.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to actually do
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Work out which GST row you are in &lt;strong&gt;before&lt;/strong&gt; you compare quotes. It moves the real gap from 20% to 42%.&lt;/li&gt;
&lt;li&gt;Ask both candidates, in writing: GST registration status, and TDS/194J handling.&lt;/li&gt;
&lt;li&gt;Under ₹1,00,000 with a one-page scope → freelancer.&lt;/li&gt;
&lt;li&gt;Over ₹1,00,000, or multi-skill, or a fixed launch date → agency.&lt;/li&gt;
&lt;li&gt;After launch → retained freelancer, almost always.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The long version of this, with the full price-both-ways table and our own published rates rather than a competitor's range, is here: &lt;a href="https://zoopcoder.com/guides/freelancer-vs-agency-india.php" rel="noopener noreferrer"&gt;https://zoopcoder.com/guides/freelancer-vs-agency-india.php&lt;/a&gt; — and our actual prices, which you can check the table against, are at &lt;a href="https://zoopcoder.com/pricing.php" rel="noopener noreferrer"&gt;https://zoopcoder.com/pricing.php&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I run an agency. If the 42% row is you and the project is small, hire the freelancer.&lt;/p&gt;

</description>
      <category>india</category>
      <category>startup</category>
      <category>freelancing</category>
      <category>business</category>
    </item>
    <item>
      <title>Paying for your code does not mean you own it: what section 19 of India's Copyright Act silently does to your contract</title>
      <dc:creator>Preciousky</dc:creator>
      <pubDate>Thu, 23 Jul 2026 10:34:08 +0000</pubDate>
      <link>https://dev.to/preciousky_45d956626d31c3/paying-for-your-code-does-not-mean-you-own-it-what-section-19-of-indias-copyright-act-silently-1060</link>
      <guid>https://dev.to/preciousky_45d956626d31c3/paying-for-your-code-does-not-mean-you-own-it-what-section-19-of-indias-copyright-act-silently-1060</guid>
      <description>&lt;p&gt;I run &lt;a href="https://zoopcoder.com" rel="noopener noreferrer"&gt;ZoopCoder&lt;/a&gt;, an Indian development agency. Everything below argues against my own commercial interest — by default, the code my team writes for you belongs to &lt;em&gt;us&lt;/em&gt;, and I am about to explain exactly how to take it. Check every section number against the bare Act before you rely on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rule
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Paying for a build does not transfer copyright in India. Only a signed assignment does — and if that assignment does not state a duration and a territory, the statute quietly rewrites it to five years, India only.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That is not a drafting opinion. It is sections 17, 19(5) and 19(6) of the Copyright Act, 1957, and it is the single most expensive thing Indian founders do not know about their own software.&lt;/p&gt;

&lt;h2&gt;
  
  
  The exclusive fact: the clause that expires
&lt;/h2&gt;

&lt;p&gt;Almost every Indian development contract I have seen contains a sentence like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"All intellectual property created under this agreement shall belong to the Client."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Read literally against the statute, that sentence can give you &lt;strong&gt;five years of Indian rights in your own product&lt;/strong&gt;, and then it lapses back to the developer.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;s.19(1)&lt;/strong&gt; — an assignment of copyright is valid only if it is &lt;em&gt;in writing, signed by the assignor&lt;/em&gt;. A quotation email, an invoice marked "full and final", a WhatsApp "yes bhai it's all yours" — none of these are assignments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;s.19(2)&lt;/strong&gt; — the assignment must identify the work and specify the rights assigned, the &lt;strong&gt;duration&lt;/strong&gt; and the &lt;strong&gt;territorial extent&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;s.19(5)&lt;/strong&gt; — &lt;strong&gt;if the duration is not stated, the assignment is deemed to be for five years.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;s.19(6)&lt;/strong&gt; — &lt;strong&gt;if the territorial extent is not stated, it is presumed to extend only to India.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So the fix costs you nine words. Write &lt;em&gt;"for the full term of copyright"&lt;/em&gt; and &lt;em&gt;"worldwide"&lt;/em&gt; into the same sentence, and both statutory defaults disappear. Leave them out and you have bought a lease, not the thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the default is not what buyers assume
&lt;/h2&gt;

&lt;p&gt;Under &lt;strong&gt;s.17&lt;/strong&gt;, the first owner of copyright is the &lt;strong&gt;author&lt;/strong&gt; — the person who wrote it. The one common case that flips automatically is a work made by your own &lt;strong&gt;salaried employee in the course of employment under a contract of service&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;An agency or a freelancer works under a contract &lt;strong&gt;for&lt;/strong&gt; service. That is outside the rule. The copyright stays with them until they assign it in writing.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;How the code got written&lt;/th&gt;
&lt;th&gt;Who owns it by default&lt;/th&gt;
&lt;th&gt;What you must sign to change it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Your own salaried employee, in the course of their duties&lt;/td&gt;
&lt;td&gt;You (the company)&lt;/td&gt;
&lt;td&gt;Nothing — but keep an IP clause for work done outside duties&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A freelancer you paid per milestone&lt;/td&gt;
&lt;td&gt;The freelancer&lt;/td&gt;
&lt;td&gt;A written, signed assignment under s.19&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;An Indian agency&lt;/td&gt;
&lt;td&gt;The agency&lt;/td&gt;
&lt;td&gt;A s.19 assignment &lt;strong&gt;plus&lt;/strong&gt; a warranty that its own staff's rights sit with it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;An offshore/foreign vendor&lt;/td&gt;
&lt;td&gt;Follows the contract and its governing law, which may not be Indian law at all&lt;/td&gt;
&lt;td&gt;Assignment + an enforceable governing-law and jurisdiction clause&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;An intern or a friend, unpaid&lt;/td&gt;
&lt;td&gt;Them&lt;/td&gt;
&lt;td&gt;A signed assignment — and do it while they still like you&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Written substantially by an AI assistant&lt;/td&gt;
&lt;td&gt;Unsettled. Indian copyright is built around a human author and no Indian court has decided it&lt;/td&gt;
&lt;td&gt;Drafting that works either way: a right-to-assign warranty + an indemnity, &lt;strong&gt;not&lt;/strong&gt; a confident answer&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The label on the paper does not decide the employee question either. Courts look at control, integration and the substance of the relationship — calling someone a consultant while treating them as staff is decided on the facts, not the letterhead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Handover is not ownership
&lt;/h2&gt;

&lt;p&gt;This is the most common misunderstanding in Indian software buying, and it survives because both words feel like the end of the project.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Handover&lt;/strong&gt; is a delivery event. You receive files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assignment&lt;/strong&gt; is a legal transfer. You receive rights.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can hold a complete copy of the source, on your own server, in your own GitHub org, and still not own the copyright in it — which means your developer can lawfully reuse the same code for your competitor, and you cannot lawfully licence it to anyone.&lt;/p&gt;

&lt;p&gt;Three more things a handover is not: it is not a warranty that the code is original rather than copied; it is not a transfer of the third-party licences inside it; and it is not the author's &lt;strong&gt;moral rights&lt;/strong&gt;, which under &lt;strong&gt;s.57&lt;/strong&gt; stay with the author no matter who owns the copyright. That last one is why "we own absolutely everything" is never literally true.&lt;/p&gt;

&lt;p&gt;Put assignment and handover in the contract as &lt;strong&gt;two separate obligations&lt;/strong&gt;, because they are two separate things.&lt;/p&gt;

&lt;h2&gt;
  
  
  The number that argues against us
&lt;/h2&gt;

&lt;p&gt;Here is the honest cost table, and note that every "before" figure is zero. Ownership is free to agree and expensive to retrofit — which means the leverage is entirely yours right up until you pay the first instalment, and entirely ours afterwards.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Situation&lt;/th&gt;
&lt;th&gt;Cost to fix &lt;strong&gt;before&lt;/strong&gt; the build&lt;/th&gt;
&lt;th&gt;Cost to fix &lt;strong&gt;after&lt;/strong&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;No assignment signed, developer cooperative&lt;/td&gt;
&lt;td&gt;₹0 — one clause in the proposal&lt;/td&gt;
&lt;td&gt;A deed of assignment: goodwill or a small fee, plus a lawyer's time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No assignment signed, relationship broken down&lt;/td&gt;
&lt;td&gt;₹0&lt;/td&gt;
&lt;td&gt;Whatever they decide your need is worth — you negotiate from zero leverage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Assignment silent on duration and territory&lt;/td&gt;
&lt;td&gt;₹0 — two phrases in one sentence&lt;/td&gt;
&lt;td&gt;A fresh signed deed, at the moment you can least wait: mid-diligence or mid-raise&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Domain, hosting or Play Console in the developer's name&lt;/td&gt;
&lt;td&gt;₹0 — register them yourself&lt;/td&gt;
&lt;td&gt;Transfer processes measured in weeks, with a listing you cannot update meanwhile&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Undisclosed copyleft component in a commercial product&lt;/td&gt;
&lt;td&gt;₹0 — ask for the component list&lt;/td&gt;
&lt;td&gt;Replacing it, or complying with its licence, after you have shipped&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;And if the developer cannot be found or will not sign, the only clean exit is a rebuild. In our experience that costs &lt;strong&gt;60–80% of the original build&lt;/strong&gt; — you are re-paying for work that already exists and that you already paid for once.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do, in order
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Decide it before the first instalment, not at handover.&lt;/strong&gt; Put the assignment in the same document as the price and make the first payment conditional on it being signed. A developer who will not sign an assignment at quotation stage has just told you something useful for free.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write the four things s.19 requires&lt;/strong&gt; — writing + signature, the work identified, the rights, the duration ("full term of copyright"), the territory ("worldwide"). Describe the work widely: source code, designs, databases, documentation, and anything created during the engagement.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;List the handover separately&lt;/strong&gt;: repository with full commit history, environment and config files, deployment credentials, design source files, database schema, build pipeline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Register the accounts in your own name from day one&lt;/strong&gt; — domain, DNS, hosting, Play Console, App Store Connect, payment gateway. This is the cheapest control you will ever buy and the one most often skipped because the developer offers to "handle it".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask for the third-party component list&lt;/strong&gt; before launch, not after. A copyleft library inside a commercial product carries obligations no assignment clause can override.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The one clause we would refuse
&lt;/h2&gt;

&lt;p&gt;For completeness and against interest: an assignment that also demands we hand over our &lt;strong&gt;internal framework, boilerplate and reusable libraries&lt;/strong&gt; — the pre-existing code that predates your project and is used across every client. No agency can honestly sign that away, and one that does is either lying to you or lying to its other clients.&lt;/p&gt;

&lt;p&gt;The correct shape is: &lt;strong&gt;you own everything created for you; we grant you a perpetual, irrevocable, worldwide licence to the pre-existing components embedded in your build.&lt;/strong&gt; If a vendor cannot articulate that distinction, that is your signal — not the price.&lt;/p&gt;




&lt;p&gt;I am not a lawyer and this is not legal advice — it is what an agency wishes clients would ask for. Read the Act, or have a lawyer draft the clause; either costs less than the rebuild.&lt;/p&gt;

&lt;p&gt;The long version, with the full clause checklist and the position if you have already built and signed nothing, is here: &lt;strong&gt;&lt;a href="https://zoopcoder.com/guides/who-owns-website-app-code-india.php" rel="noopener noreferrer"&gt;Who owns your website or app code in India&lt;/a&gt;&lt;/strong&gt;. Our pricing is public at &lt;a href="https://zoopcoder.com/pricing.php" rel="noopener noreferrer"&gt;zoopcoder.com/pricing.php&lt;/a&gt;, including what we charge to build with the assignment already signed — which is the same as without it, because it should be.&lt;/p&gt;

</description>
      <category>india</category>
      <category>legal</category>
      <category>startup</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Your first developer is statutorily your cheapest one: the in-house vs agency arithmetic in India</title>
      <dc:creator>Preciousky</dc:creator>
      <pubDate>Wed, 22 Jul 2026 01:41:25 +0000</pubDate>
      <link>https://dev.to/preciousky_45d956626d31c3/your-first-developer-is-statutorily-your-cheapest-one-the-in-house-vs-agency-arithmetic-in-india-25mn</link>
      <guid>https://dev.to/preciousky_45d956626d31c3/your-first-developer-is-statutorily-your-cheapest-one-the-in-house-vs-agency-arithmetic-in-india-25mn</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I work at &lt;a href="https://zoopcoder.com" rel="noopener noreferrer"&gt;ZoopCoder&lt;/a&gt;, an Indian development agency. That means I have an obvious commercial interest in you buying agency hours instead of hiring. I have tried to write this so you can check every number yourself, including the ones that argue against us — there is a section near the end that tells you when to stop paying us. Every rupee figure here comes off our own published &lt;a href="https://zoopcoder.com/pricing.php" rel="noopener noreferrer"&gt;pricing page&lt;/a&gt; or off public statute, and I have said which is which.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Every "in-house developer vs agency" post I have read compares an hourly rate to a monthly salary and calls it analysis. That comparison is wrong in two specific, checkable ways, and both of them are things Indian founders discover after they have signed the offer letter.&lt;/p&gt;

&lt;p&gt;Here is the short version, then the arithmetic.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rule: it is not the rate, it is the utilisation
&lt;/h2&gt;

&lt;p&gt;Hire in-house once you can honestly forecast &lt;strong&gt;more than about 900 hours of development work a year&lt;/strong&gt; — roughly &lt;strong&gt;18 hours a week, every week, for twelve months&lt;/strong&gt;. Below that, an agency is cheaper.&lt;/p&gt;

&lt;p&gt;Why 900:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A developer on a &lt;strong&gt;₹8,00,000 CTC&lt;/strong&gt; costs about &lt;strong&gt;₹10,50,000 a year&lt;/strong&gt; once hardware, software seats, recruitment and statutory contributions are counted.&lt;/li&gt;
&lt;li&gt;That same person returns roughly &lt;strong&gt;215 productive working days&lt;/strong&gt; — not 365, and not 250. (365 − 104 weekend days − 10 public holidays − ~21 days of leave.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;₹10,50,000 at ₹1,200 an hour&lt;/strong&gt; — the middle of our published ₹800–₹2,000/hr band — buys about &lt;strong&gt;875 hours&lt;/strong&gt;, or ~110 working days of agency time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So the crossover is not "who is cheaper per hour". At ~215 days versus ~110 days, the employee is obviously cheaper &lt;em&gt;per unit of work&lt;/em&gt; — &lt;strong&gt;if you have the work.&lt;/strong&gt; The whole question is whether you can keep one person busy all year. Most companies I talk to, when they actually write the list down, land somewhere between &lt;strong&gt;300 and 600 hours&lt;/strong&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Development work per year&lt;/th&gt;
&lt;th&gt;~Hours/week&lt;/th&gt;
&lt;th&gt;Agency @ ₹1,200/hr&lt;/th&gt;
&lt;th&gt;In-house (₹8L CTC, loaded)&lt;/th&gt;
&lt;th&gt;Cheaper&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;120 hrs&lt;/td&gt;
&lt;td&gt;~2.5&lt;/td&gt;
&lt;td&gt;₹1,44,000&lt;/td&gt;
&lt;td&gt;₹10,50,000&lt;/td&gt;
&lt;td&gt;Agency&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;300 hrs&lt;/td&gt;
&lt;td&gt;~6&lt;/td&gt;
&lt;td&gt;₹3,60,000&lt;/td&gt;
&lt;td&gt;₹10,50,000&lt;/td&gt;
&lt;td&gt;Agency&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;600 hrs&lt;/td&gt;
&lt;td&gt;~12&lt;/td&gt;
&lt;td&gt;₹7,20,000&lt;/td&gt;
&lt;td&gt;₹10,50,000&lt;/td&gt;
&lt;td&gt;Agency&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;~875 hrs&lt;/td&gt;
&lt;td&gt;~18&lt;/td&gt;
&lt;td&gt;₹10,50,000&lt;/td&gt;
&lt;td&gt;₹10,50,000&lt;/td&gt;
&lt;td&gt;Line ball&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1,200 hrs&lt;/td&gt;
&lt;td&gt;~25&lt;/td&gt;
&lt;td&gt;₹14,40,000&lt;/td&gt;
&lt;td&gt;₹10,50,000&lt;/td&gt;
&lt;td&gt;In-house&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1,720 hrs (full year)&lt;/td&gt;
&lt;td&gt;~36&lt;/td&gt;
&lt;td&gt;₹20,64,000&lt;/td&gt;
&lt;td&gt;₹10,50,000&lt;/td&gt;
&lt;td&gt;In-house&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Notice what that table does to the usual argument. Below the line it is not close. Above the line it is not close either. Almost nobody is actually near the crossover — people just never compute which side they are on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fact nobody models: your statutory cost is a function of &lt;em&gt;your headcount&lt;/em&gt;, not their salary
&lt;/h2&gt;

&lt;p&gt;This is the part I have genuinely never seen in an Indian cost article, and I think it is because most of them are structurally copied from US pieces where the equivalent thresholds work differently.&lt;/p&gt;

&lt;p&gt;In India, the three big employer-side obligations are triggered by the size of your &lt;strong&gt;establishment&lt;/strong&gt;, not by what you pay the person:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Obligation&lt;/th&gt;
&lt;th&gt;Employer-side cost (indicative)&lt;/th&gt;
&lt;th&gt;Headcount trigger&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;EPF&lt;/td&gt;
&lt;td&gt;~12% of wages&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;20 employees&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ESI&lt;/td&gt;
&lt;td&gt;~3.25% of wages&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;10 employees&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gratuity&lt;/td&gt;
&lt;td&gt;accrues ~4.81% of wages&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;10 employees&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Read that column again. It means:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Your first developer is usually your statutorily cheapest one.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A five-person company hiring its first developer typically owes &lt;strong&gt;none of the three&lt;/strong&gt;. The &lt;em&gt;identical&lt;/em&gt; hire, same salary, same laptop, made by a twelve-person company carries ESI and gratuity. At twenty employees it carries EPF too. Same human, same offer letter, materially different annual cost — and the variable is the size of the company doing the hiring.&lt;/p&gt;

&lt;p&gt;Practical consequence: if you are a 9-person company thinking about your tenth and eleventh hires, the marginal cost of hire #10 is not one salary. It is one salary &lt;em&gt;plus a step-change in the cost of everyone already on the payroll&lt;/em&gt;. That is a real cliff and it belongs in the model.&lt;/p&gt;

&lt;p&gt;Caveats, because this is statute and statute moves: these are the thresholds as they stand at the time of writing, voluntary coverage below the thresholds is possible and some companies choose it, and the Labour Codes redefine "wages" in a way that raises PF and gratuity where the new definition applies. Confirm your own position with your CA before you budget off this. I am an engineer at an agency, not your accountant.&lt;/p&gt;

&lt;h2&gt;
  
  
  The second asymmetry: GST cuts the other way
&lt;/h2&gt;

&lt;p&gt;The agency invoice carries &lt;strong&gt;18% GST&lt;/strong&gt;. Whether that is a real cost depends entirely on one thing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You are GST-registered:&lt;/strong&gt; you reclaim the whole 18% as input tax credit. The agency's headline price &lt;em&gt;is&lt;/em&gt; the real price. This comparison is a straight cash comparison.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You are not registered&lt;/strong&gt; (proprietor, small trust, startup below the threshold): that 18% is unrecoverable. A salary carries no GST at all, because employment is outside the scope of GST.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On ₹10,50,000 of agency work that is about &lt;strong&gt;₹1,89,000&lt;/strong&gt; of unrecoverable tax. It moves the crossover from ~875 hours down to &lt;strong&gt;~742 hours&lt;/strong&gt; a year — from about 18 hours a week to about &lt;strong&gt;15&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So the honest rule has a branch in it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GST-registered → hire in-house above ~18 hrs/week of real work.&lt;/li&gt;
&lt;li&gt;Not GST-registered → hire in-house above ~15 hrs/week.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What the money comparison completely misses
&lt;/h2&gt;

&lt;p&gt;Cost is the easy axis. These are the ones that actually decide it:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;In-house developer&lt;/th&gt;
&lt;th&gt;Small agency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Time to first line of code&lt;/td&gt;
&lt;td&gt;30–90 days (notice period + ramp)&lt;/td&gt;
&lt;td&gt;days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost when work goes quiet&lt;/td&gt;
&lt;td&gt;full salary&lt;/td&gt;
&lt;td&gt;₹0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Failure mode&lt;/td&gt;
&lt;td&gt;resignation — one person holds every credential and every undocumented decision&lt;/td&gt;
&lt;td&gt;being busy — your urgent Tuesday bug competes with someone else's urgent Tuesday bug&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recovery from that failure&lt;/td&gt;
&lt;td&gt;2–3 months to rehire and re-ramp&lt;/td&gt;
&lt;td&gt;escalate, or leave&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Breadth&lt;/td&gt;
&lt;td&gt;one person's stack&lt;/td&gt;
&lt;td&gt;a bench, but rented&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Availability&lt;/td&gt;
&lt;td&gt;yours all day&lt;/td&gt;
&lt;td&gt;shared&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I want to be straight about the second column, because it is the thing agencies do not put on their websites: &lt;strong&gt;an agency has other clients.&lt;/strong&gt; If your product needs someone reachable within the hour on a normal Tuesday, an employee is genuinely better and no amount of cost arithmetic changes that. Pick the failure you can survive — a two-week wait for attention, or a two-month wait for a replacement.&lt;/p&gt;

&lt;h2&gt;
  
  
  When you should fire us and hire someone
&lt;/h2&gt;

&lt;p&gt;Under LAW-of-not-wasting-your-money, here is the honest list. If any of these is true, stop retaining an agency:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;You ship changes more than weekly.&lt;/strong&gt; The per-request overhead of a contract relationship eats the savings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software is the product&lt;/strong&gt;, not a support function for the product. Then the codebase is your company and it should not live in a vendor's head.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You need a developer on customer calls&lt;/strong&gt; — reading the actual bug report, in the actual meeting, unfiltered.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your retainer is already above roughly ₹85,000/month.&lt;/strong&gt; That is a salary. Pay it as one.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That last one is the number that argues against us most directly, so here it is stated plainly: a fully-utilised in-house developer works out to roughly &lt;strong&gt;₹491–₹641 per productive hour&lt;/strong&gt; (₹10,50,000 over 215 days), which is &lt;strong&gt;below the bottom of our own quoted ₹800–₹2,000/hr band.&lt;/strong&gt; If you can keep them busy, they win on price. We are not cheaper than a busy employee and I am not going to pretend otherwise. We are cheaper than an &lt;em&gt;idle&lt;/em&gt; one, and most first hires are partly idle.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern that usually wins
&lt;/h2&gt;

&lt;p&gt;For a company with a live product, the cheapest correct answer is usually neither/both: agency builds v1 on a fixed-price contract, then one in-house developer takes over day-to-day, and the agency is retained only for bursts the employee cannot absorb — a payments migration, an app-store rewrite, a security review.&lt;/p&gt;

&lt;p&gt;That only works if you own the code from day one. Whichever side you pick, insist on the same terms: &lt;strong&gt;the repository lives in an account you own&lt;/strong&gt;, source code is assigned to you in writing, credentials are in your password manager and not someone's laptop, and there is a written handover obligation.&lt;/p&gt;

&lt;p&gt;Full working — the 9-line loaded-cost breakdown, the statutory table with the "does it hit a ₹8L developer" column, and the 12-row comparison — is on the guide this post is drawn from: &lt;strong&gt;&lt;a href="https://zoopcoder.com/guides/in-house-developer-vs-agency-india.php" rel="noopener noreferrer"&gt;In-House Developer vs Agency in India (2026)&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you disagree with the 900-hour threshold I would genuinely like to hear the counter-case in the comments — the input I am least sure of is the ₹1,200/hr midpoint, since that varies a lot by city and by stack.&lt;/p&gt;

</description>
      <category>india</category>
      <category>career</category>
      <category>startup</category>
      <category>management</category>
    </item>
    <item>
      <title>React Native vs Flutter in India: the build cost is identical, the year-two hiring cost is not</title>
      <dc:creator>Preciousky</dc:creator>
      <pubDate>Mon, 20 Jul 2026 13:04:35 +0000</pubDate>
      <link>https://dev.to/preciousky_45d956626d31c3/react-native-vs-flutter-in-india-the-build-cost-is-identical-the-year-two-hiring-cost-is-not-1gja</link>
      <guid>https://dev.to/preciousky_45d956626d31c3/react-native-vs-flutter-in-india-the-build-cost-is-identical-the-year-two-hiring-cost-is-not-1gja</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I work at ZoopCoder, a small development agency in India. We build in both React Native and Flutter, and our internal default is Flutter — so discount everything below accordingly. I've linked our own pricing at the end so you can check whether I'm quoting real numbers or marketing ones.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I've watched this argument happen in maybe forty client kickoffs now, and it almost always gets decided on the wrong axis. Someone brings a comparison table full of rendering-engine details, someone else says "Flutter will be cheaper," and the actual cost driver never comes up.&lt;/p&gt;

&lt;p&gt;So here is the uncomfortable version, with our real published numbers.&lt;/p&gt;

&lt;h2&gt;
  
  
  The build cost is identical, and I'll show you our own price list to prove it
&lt;/h2&gt;

&lt;p&gt;This is the part agencies avoid publishing because it removes a sales lever. Here is what we charge for the same scope in each framework:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What you're building&lt;/th&gt;
&lt;th&gt;React Native&lt;/th&gt;
&lt;th&gt;Flutter&lt;/th&gt;
&lt;th&gt;What actually moves the price&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Simple app, 4–8 screens, no login&lt;/td&gt;
&lt;td&gt;₹50,000 – ₹1,00,000&lt;/td&gt;
&lt;td&gt;₹50,000 – ₹1,00,000&lt;/td&gt;
&lt;td&gt;Screen count, how custom the design is&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Medium app, logins + payments&lt;/td&gt;
&lt;td&gt;₹1,00,000 – ₹2,50,000&lt;/td&gt;
&lt;td&gt;₹1,00,000 – ₹2,50,000&lt;/td&gt;
&lt;td&gt;The backend and the payment gateway&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Marketplace / on-demand&lt;/td&gt;
&lt;td&gt;₹2,50,000+&lt;/td&gt;
&lt;td&gt;₹2,50,000+&lt;/td&gt;
&lt;td&gt;User roles, live tracking, payouts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend hosting, monthly&lt;/td&gt;
&lt;td&gt;₹3,000 – ₹25,000&lt;/td&gt;
&lt;td&gt;₹3,000 – ₹25,000&lt;/td&gt;
&lt;td&gt;Users and data — framework irrelevant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maintenance, monthly&lt;/td&gt;
&lt;td&gt;₹5,000 – ₹30,000&lt;/td&gt;
&lt;td&gt;₹5,000 – ₹30,000&lt;/td&gt;
&lt;td&gt;OS releases, store policy changes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The columns are the same on purpose. What consumes an app budget is screen design, API integration, the payment gateway, testing on real low-end Indian Android devices, and getting through store review. Every one of those costs the same in Dart as it does in TypeScript.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If a vendor quotes you meaningfully cheaper "because Flutter," they are discounting to win the job and will find the money back somewhere.&lt;/strong&gt; That's worth saying plainly even though it's a sentence that costs us work.&lt;/p&gt;

&lt;h2&gt;
  
  
  So what does the framework actually decide? Your year-two hiring cost
&lt;/h2&gt;

&lt;p&gt;The rule we use internally:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Pick Flutter if the app is under about ₹2,50,000 and its job is screens, forms, lists and payments. Pick React Native if you already run a React or Next.js web product, or if you plan to hire an in-house mobile developer in India within twelve months.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That second clause is the one that matters and the one nobody prices. React Native recruits out of the enormous Indian JavaScript pool — the same pool your web hiring already draws from. Dart is a separate specialism with much thinner local supply, so you wait longer and pay more for equivalent seniority.&lt;/p&gt;

&lt;p&gt;Note what is &lt;em&gt;not&lt;/em&gt; on that list: code sharing with your React website. You do not share code. You share the language, the tooling, the state patterns, the reviewers and the hiring pipeline. That distinction has cost founders real money when they budgeted for the first and got the second.&lt;/p&gt;

&lt;h2&gt;
  
  
  The thing that makes "which one builds faster" irrelevant
&lt;/h2&gt;

&lt;p&gt;Framework comparisons argue about build speed in days. Your launch date is decided by something almost no RN-vs-Flutter article mentions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you publish under a personal Google Play developer account opened after November 2023, Google requires a closed test with at least 12 testers opted in continuously for 14 days before you can even apply for production access.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not 12 downloads. Twelve people opted in and &lt;em&gt;staying&lt;/em&gt; opted in, for a fortnight, before the application is even accepted. Apple review then adds its own days on the other platform.&lt;/p&gt;

&lt;p&gt;That is a two-to-three week gate that is completely indifferent to your framework, your agency, and your code quality. A framework choice that saves three developer-days cannot save you a fortnight of Google's clock.&lt;/p&gt;

&lt;p&gt;Two practical consequences:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Put the store gate in the plan &lt;em&gt;before&lt;/em&gt; anyone argues about compile times.&lt;/li&gt;
&lt;li&gt;Start recruiting your 12 testers while the app is still being built. Staff, friends, early customers, a WhatsApp group. For a small business with no existing user base this is a genuinely hard requirement, and in our experience it is the single most common reason a first app launches later than promised.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;An organisation-type developer account is exempt from the 12-tester rule, which is often reason enough to register one properly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cross-platform means one codebase, not one machine
&lt;/h2&gt;

&lt;p&gt;iOS release builds must be compiled and signed on macOS — in React Native and in Flutter alike. Neither framework removes Apple's requirement. Add the Apple Developer Program (99 USD/yr) and Google Play's one-time 25 USD, and if nobody on the project owns a Mac you are paying for hardware or a cloud build service on top of the quote.&lt;/p&gt;

&lt;p&gt;Ask any vendor, in writing, whether iOS build and signing infrastructure sits inside their price. It is the most common surprise line in an Indian cross-platform budget, and choosing the other framework does not avoid it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where we tell clients to overrule our own Flutter default
&lt;/h2&gt;

&lt;p&gt;We prefer Flutter. An agency that recommends the same framework to every client is describing its own comfort, not your project. The cases where we say React Native against our own preference:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You already run a React or Next.js web product.&lt;/strong&gt; Strongest tie-breaker on the list; wins on its own.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You'll hire an in-house mobile developer in India within a year.&lt;/strong&gt; Hire-ability beats everything on the feature table.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A vendor SDK you depend on ships React Native support first.&lt;/strong&gt; Some payment, KYC, chat and analytics providers still maintain an official RN package and leave Flutter to the community. One missing official SDK becomes weeks of native bridging. Listing every SDK your app needs and checking both takes about an hour and has reversed the decision on real projects of ours.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Install size is a real constraint.&lt;/strong&gt; Flutter adds roughly 4–8 MB. For most apps that's noise. Selling into price-sensitive markets on entry-level Android phones with tight storage, it can be conversion.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the mirror image — we hold the Flutter line for heavily animated, design-led apps, anything that must look pixel-identical across devices, and a first app at a company with no existing JavaScript team.&lt;/p&gt;

&lt;h2&gt;
  
  
  What getting it wrong costs
&lt;/h2&gt;

&lt;p&gt;Switching frameworks later is not a migration, it's a rewrite. Budget &lt;strong&gt;60–80% of the original build&lt;/strong&gt;: every screen built again from scratch, while the backend, API, design and product decisions carry over. On a ₹2,00,000 app that's ₹1,20,000–₹1,60,000 to arrive exactly where you already were, feature for feature, with nothing new to show a customer.&lt;/p&gt;

&lt;p&gt;Which is why the protective move matters more than the choice: keep business logic on the server, not in the app. Anything that lives on your backend survives a framework change untouched.&lt;/p&gt;




&lt;p&gt;The full version of this — the buyer-facing comparison table, both price columns, and the store-gate detail — is on our site: &lt;a href="https://zoopcoder.com/guides/react-native-vs-flutter-india.php" rel="noopener noreferrer"&gt;React Native vs Flutter in India (2026)&lt;/a&gt;. Our actual price list is at &lt;a href="https://zoopcoder.com/pricing.php" rel="noopener noreferrer"&gt;zoopcoder.com/pricing.php&lt;/a&gt; if you want to check the numbers above against what we publish.&lt;/p&gt;

&lt;p&gt;Third-party figures (Apple/Google fees, Play Console policy) are accurate as of July 2026 and do move — verify against the console before you rely on them.&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>flutter</category>
      <category>mobile</category>
      <category>india</category>
    </item>
    <item>
      <title>Nobody can quote you a per-page website rate in India, and the reason is worth Rs 75,000</title>
      <dc:creator>Preciousky</dc:creator>
      <pubDate>Sun, 19 Jul 2026 10:37:23 +0000</pubDate>
      <link>https://dev.to/preciousky_45d956626d31c3/nobody-can-quote-you-a-per-page-website-rate-in-india-and-the-reason-is-worth-rs-75000-28i8</link>
      <guid>https://dev.to/preciousky_45d956626d31c3/nobody-can-quote-you-a-per-page-website-rate-in-india-and-the-reason-is-worth-rs-75000-28i8</guid>
      <description>&lt;p&gt;Disclosure up front: I work at ZoopCoder, an Indian web development agency. We sell website builds, so read this knowing what I sell. Every rupee figure below is either our own published price or clearly labelled as a market rate you should verify yourself.&lt;/p&gt;

&lt;p&gt;Indian clients ask for a per-page rate constantly. "We need 12 pages, what's your rate per page?" It is a completely reasonable question and it has no useful answer, and I want to show the arithmetic rather than just assert that.&lt;/p&gt;

&lt;h2&gt;
  
  
  The same page count, three very different numbers
&lt;/h2&gt;

&lt;p&gt;Here is an 8-page site, built three ways, at our published prices:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Build&lt;/th&gt;
&lt;th&gt;Price (INR)&lt;/th&gt;
&lt;th&gt;Per page&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;8-page brochure site (static content, contact form)&lt;/td&gt;
&lt;td&gt;25,000 – 50,000&lt;/td&gt;
&lt;td&gt;3,100 – 6,250&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8-page WordPress/CMS (client edits content)&lt;/td&gt;
&lt;td&gt;35,000 – 75,000&lt;/td&gt;
&lt;td&gt;4,400 – 9,400&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8-screen custom web app (user logins)&lt;/td&gt;
&lt;td&gt;1,00,000+&lt;/td&gt;
&lt;td&gt;12,500+&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Identical page count. Roughly a 4x spread on the per-page number. A rate quoted before anyone knows what the pages &lt;em&gt;do&lt;/em&gt; is going to be wrong in one direction or the other — and in my experience it is usually wrong in the direction that ends in an awkward conversation three weeks in.&lt;/p&gt;

&lt;h2&gt;
  
  
  The cliff is not pages. It is state.
&lt;/h2&gt;

&lt;p&gt;The reason the per-page frame breaks is that it measures the wrong unit.&lt;/p&gt;

&lt;p&gt;A brochure page is a pure function of nothing. Same bytes for every visitor. You can cache it at the edge forever and the server never thinks. Adding the 9th, 10th and 20th brochure page is close to linear and genuinely cheap — a few thousand rupees each, mostly content and layout work.&lt;/p&gt;

&lt;p&gt;The moment you add a login, every page becomes a function of &lt;em&gt;who is asking&lt;/em&gt;. And that one change drags in a pile of work that is invisible on every wireframe:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;accounts, sessions, password reset, email verification&lt;/li&gt;
&lt;li&gt;authorization — not "is this user logged in" but "is this user allowed to see &lt;em&gt;this specific record&lt;/em&gt;"&lt;/li&gt;
&lt;li&gt;a database of user-owned data, with migrations&lt;/li&gt;
&lt;li&gt;the negative case: never leaking user A's data to user B&lt;/li&gt;
&lt;li&gt;and the tests for all of the above, because this is the layer where a bug is a breach, not a typo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of that shows up as a page. None of it is design. All of it has to be built, and more importantly, tested. That is where the money between 75,000 and 1,00,000+ actually goes.&lt;/p&gt;

&lt;p&gt;So the price cliff in the Indian market sits right about there — and it is a cliff of &lt;strong&gt;statefulness&lt;/strong&gt;, not of page count. This is why "we'll just add a small login area" is the single most expensive sentence a client can say in a kickoff call. It is not a small addition. It is a different category of software.&lt;/p&gt;

&lt;h2&gt;
  
  
  The practical version, including the part that costs us money
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;If your site has no login, do not buy a web app.&lt;/strong&gt; If nobody can name a single thing on the site that requires a user to sign in, you are buying a brochure site, and a brochure site in India costs 25,000 – 75,000 depending on whether you want to edit the content yourself. We see people quoted 1,50,000+ for exactly this. If that is your project, you do not need us at that price — and honestly you may not need an agency at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If your site does have logins, be suspicious of a 40,000 quote.&lt;/strong&gt; Either the scope has not been understood and the number will move, or someone is going to skip the authorization work, which is the part you cannot see and cannot easily check on delivery.&lt;/p&gt;

&lt;h2&gt;
  
  
  The costs the per-page number hides entirely
&lt;/h2&gt;

&lt;p&gt;Whatever you build, the build price is not the annual price:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Cost&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Domain&lt;/td&gt;
&lt;td&gt;800 – 1,500 / year&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hosting (most business sites)&lt;/td&gt;
&lt;td&gt;3,000 – 15,000 / year&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maintenance plan (optional)&lt;/td&gt;
&lt;td&gt;3,000 – 15,000 / month&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That last row is genuinely optional and I want to be clear about it, because we sell those plans. A small brochure site that nobody logs into often does not need a monthly plan at all. A stateful app with user data and a payment flow does — not for the "content updates" bullet, but because dependency and security patches on a system holding user records are not something you skip.&lt;/p&gt;

&lt;p&gt;Full by-type cost breakdown, with the tables: &lt;a href="https://zoopcoder.com/website-development-cost-in-india.php" rel="noopener noreferrer"&gt;https://zoopcoder.com/website-development-cost-in-india.php&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you price web work in India differently — particularly if you have found a per-page model that holds up on stateful builds — I would genuinely like to hear it, because I have not.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>india</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Shopify Payments doesn't operate in India - here's what that actually costs you</title>
      <dc:creator>Preciousky</dc:creator>
      <pubDate>Sat, 18 Jul 2026 10:36:26 +0000</pubDate>
      <link>https://dev.to/preciousky_45d956626d31c3/shopify-payments-doesnt-operate-in-india-heres-what-that-actually-costs-you-30lp</link>
      <guid>https://dev.to/preciousky_45d956626d31c3/shopify-payments-doesnt-operate-in-india-heres-what-that-actually-costs-you-30lp</guid>
      <description>&lt;p&gt;Disclosure: I work at ZoopCoder, an Indian development agency that builds e-commerce stores. So I sell the thing this post is about. Every number below is either our own published price or a third-party rate you can verify yourself, and I have flagged which is which. There is a section near the end on when you should not build a store at all.&lt;/p&gt;

&lt;p&gt;If you are picking a platform for an Indian store and you have been reading cost comparisons written for a US audience, one line item is missing from all of them, and it is large enough to change the answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Shopify Payments does not operate in India
&lt;/h2&gt;

&lt;p&gt;Shopify has its own in-house payment processor, Shopify Payments. In markets where it operates, using it means Shopify charges you no transaction fee — you pay the card rate and nothing else.&lt;/p&gt;

&lt;p&gt;It is not available in India. So an Indian merchant has to connect a third-party gateway — Razorpay, PayU, Cashfree. And when you process through a third-party gateway, Shopify charges an &lt;strong&gt;additional transaction fee on every order&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Shopify plan&lt;/th&gt;
&lt;th&gt;Third-party gateway fee&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Basic&lt;/td&gt;
&lt;td&gt;2%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Grow&lt;/td&gt;
&lt;td&gt;1%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;0.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That is on top of what your gateway already charges. A standard Razorpay account is about 2% on domestic cards. So:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An Indian store on Shopify Basic can pay roughly 4% on a card order, where a merchant in a Shopify Payments country pays about 2%.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Scale that. On ₹50,00,000 of annual sales, the extra 2% is &lt;strong&gt;₹1,00,000 a year&lt;/strong&gt; — which is more than the cost of building the store in the first place (a standard store is ₹40,000–₹90,000; that is ZoopCoder's published price).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Shopify's India plan prices and Razorpay's rates are third-party figures, checked July 2026. They move. Verify before you plan around them.)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The crossover, with the working shown
&lt;/h2&gt;

&lt;p&gt;The usual framing is "Shopify costs money, WooCommerce is free." That is not the comparison. The platforms bill you in &lt;strong&gt;different currencies&lt;/strong&gt;: Shopify takes a fixed subscription plus a percentage of sales; WooCommerce takes ₹0 for software but requires hosting and continuous security maintenance, which is priced in labour.&lt;/p&gt;

&lt;p&gt;So Shopify's cost grows with revenue and WooCommerce's stays roughly flat. The lines cross.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Annual online sales&lt;/th&gt;
&lt;th&gt;Shopify&lt;/th&gt;
&lt;th&gt;WooCommerce&lt;/th&gt;
&lt;th&gt;Cheaper&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;₹5,00,000&lt;/td&gt;
&lt;td&gt;~₹31,200 (Basic ₹21,200 + 2% fee ₹10,000)&lt;/td&gt;
&lt;td&gt;~₹42,000 (hosting ₹6,000 + ₹3,000/mo plan)&lt;/td&gt;
&lt;td&gt;Shopify&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;₹15,00,000&lt;/td&gt;
&lt;td&gt;~₹51,200 (Basic ₹21,200 + 2% fee ₹30,000)&lt;/td&gt;
&lt;td&gt;~₹48,000 (hosting ₹12,000 + ₹3,000/mo plan)&lt;/td&gt;
&lt;td&gt;WooCommerce, just&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;₹50,00,000&lt;/td&gt;
&lt;td&gt;~₹1,21,200 (Basic ₹21,200 + 2% fee ₹1,00,000)&lt;/td&gt;
&lt;td&gt;~₹1,21,000 (hosting ₹25,000 + ₹8,000/mo plan)&lt;/td&gt;
&lt;td&gt;A dead heat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;₹1,00,00,000&lt;/td&gt;
&lt;td&gt;~₹1,79,300 (Grow ₹79,300 + 1% fee ₹1,00,000)&lt;/td&gt;
&lt;td&gt;~₹1,36,000 (hosting ₹40,000 + ₹8,000/mo plan)&lt;/td&gt;
&lt;td&gt;WooCommerce&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;You can derive the crossover directly. Shopify Basic is ₹21,200 a year including GST, plus 2% of sales. A ₹4,000/month WooCommerce arrangement is ₹48,000 flat. Set them equal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;21,200 + 0.02S = 48,000
0.02S          = 26,800
S              = 13,40,000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Below about ₹13.4 lakh a year, Shopify is cheaper. Above it, WooCommerce is&lt;/strong&gt; — assuming you pay somebody to maintain the WooCommerce store rather than doing it yourself. If you genuinely do your own updates and backups, WooCommerce wins everywhere and this whole table collapses. Be honest with yourself about which of those you are, because an unmaintained WooCommerce store is a security incident on a timer.&lt;/p&gt;

&lt;h3&gt;
  
  
  A second crossover nobody publishes
&lt;/h3&gt;

&lt;p&gt;The instinct when the 2% fee starts to sting is to upgrade to Grow to get it down to 1%. Check the arithmetic first.&lt;/p&gt;

&lt;p&gt;Grow costs roughly ₹58,000/year more than Basic and saves you 1% of sales. Upgrading pays for itself only when 1% of sales exceeds ₹58,000 — that is &lt;strong&gt;₹58,00,000 in annual sales&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Below that, staying on Basic and paying the higher percentage is cheaper. The plan comparison page will not frame it that way.&lt;/p&gt;

&lt;h2&gt;
  
  
  The UPI thing everybody gets wrong
&lt;/h2&gt;

&lt;p&gt;"UPI has zero MDR" is true and is constantly misread.&lt;/p&gt;

&lt;p&gt;Zero MDR is a regulatory cap on the &lt;strong&gt;merchant discount rate&lt;/strong&gt; — the interchange the banks would take. That genuinely is nil.&lt;/p&gt;

&lt;p&gt;Your payment gateway is a separate business. It charges a platform/technology fee for the dashboard, reconciliation, refunds and settlement — commonly around &lt;strong&gt;2%, plus 18% GST on the fee itself&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Zero MDR means the bank takes nothing. It does not mean your gateway takes nothing.&lt;/strong&gt; If you have a low-margin catalogue and you modelled UPI orders as free, your unit economics are wrong. Read your gateway's pricing page for the specific line item.&lt;/p&gt;

&lt;p&gt;While we are here, the full picture:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Payment method&lt;/th&gt;
&lt;th&gt;Typical merchant cost&lt;/th&gt;
&lt;th&gt;What people get wrong&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;UPI&lt;/td&gt;
&lt;td&gt;MDR zero by regulation; gateway platform fee commonly ~2% + 18% GST on the fee&lt;/td&gt;
&lt;td&gt;Zero MDR means the &lt;em&gt;bank&lt;/em&gt; takes nothing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Domestic cards&lt;/td&gt;
&lt;td&gt;~2% on a standard Razorpay-type account&lt;/td&gt;
&lt;td&gt;Rates are negotiable at volume — ask once you are past a few lakh a month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Netbanking&lt;/td&gt;
&lt;td&gt;Similar to cards, bank-dependent&lt;/td&gt;
&lt;td&gt;Success rates vary by bank far more than the fee does; a failed payment costs the whole order&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;International cards&lt;/td&gt;
&lt;td&gt;Roughly double domestic&lt;/td&gt;
&lt;td&gt;Do not model foreign sales at the domestic rate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cash on delivery&lt;/td&gt;
&lt;td&gt;No gateway fee, but COD handling + full two-way shipping on every refusal&lt;/td&gt;
&lt;td&gt;The most expensive method in this table, and it looks like the cheapest&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The costs that are not the platform
&lt;/h2&gt;

&lt;p&gt;Platform choice is the argument everybody has. It is rarely the biggest number. What actually shows up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Product photography&lt;/strong&gt; — ₹150–₹800 per product. Avoidable only if you shoot it yourself, and it will look like you shot it yourself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Catalogue data entry&lt;/strong&gt; — descriptions, variants, weights, HSN codes. Several days per few hundred SKUs. Not avoidable. Someone does it: you, or someone you pay.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paid apps and plugins&lt;/strong&gt; — ₹1,000–₹10,000/month if you install them. Entirely avoidable. Install nothing until a real problem demands it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Returns and RTO on COD&lt;/strong&gt; — two-way shipping plus packaging on every refused order. Reducible with partial-prepaid, not avoidable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Domain + SSL&lt;/strong&gt; — ₹800–₹1,500/year. Never pay for a basic SSL certificate; Let's Encrypt is free and fine.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When you should not build a store
&lt;/h2&gt;

&lt;p&gt;I said I'd get here. We build e-commerce stores for a living, so weigh this accordingly — but these are real:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You have fewer than about ten SKUs and no repeat customers.&lt;/strong&gt; A WhatsApp catalogue and a payment link will outperform a store, at roughly zero cost.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You have not sold the product anywhere yet.&lt;/strong&gt; Sell thirty units through Instagram DMs first. If you cannot sell thirty by hand, a checkout page is not the constraint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your margin cannot absorb ~2% plus shipping plus returns.&lt;/strong&gt; Some catalogues genuinely cannot. Find that out on a spreadsheet, not after the build.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your volume is already almost entirely on Amazon or Flipkart and you are happy.&lt;/strong&gt; A own-brand store is a marketing project, not a technical one; the site is the easy part.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nobody will own the catalogue.&lt;/strong&gt; A store with stale stock and wrong prices is worse than no store.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Shopify Payments does not operate in India, so Indian merchants pay Shopify an extra 2%/1%/0.6% (Basic/Grow/Advanced) on top of the gateway's ~2%.&lt;/li&gt;
&lt;li&gt;Around ₹13.4 lakh in annual sales, WooCommerce becomes cheaper than Shopify Basic — if you are paying someone to maintain it.&lt;/li&gt;
&lt;li&gt;Upgrading Basic → Grow does not pay for itself until about ₹58 lakh in annual sales.&lt;/li&gt;
&lt;li&gt;Zero MDR on UPI caps the bank's cut, not your gateway's.&lt;/li&gt;
&lt;li&gt;Build cost in India: ₹40,000–₹2,50,000 for the overwhelming majority of stores. Running cost: ₹31,000–₹1,36,000/year excluding gateway percentages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Full breakdown with the build-price bands by store type, the timelines, and the FAQ: &lt;a href="https://zoopcoder.com/guides/ecommerce-website-cost-india.php" rel="noopener noreferrer"&gt;How much does an e-commerce website cost in India? (2026)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our published price list, if you want to check the numbers I quoted for our own work: &lt;a href="https://zoopcoder.com/pricing.php" rel="noopener noreferrer"&gt;zoopcoder.com/pricing.php&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ecommerce</category>
      <category>india</category>
      <category>shopify</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Your website mostly keeps working. Your app decays on someone else's calendar.</title>
      <dc:creator>Preciousky</dc:creator>
      <pubDate>Fri, 17 Jul 2026 10:42:49 +0000</pubDate>
      <link>https://dev.to/preciousky_45d956626d31c3/your-website-mostly-keeps-working-your-app-decays-on-someone-elses-calendar-405a</link>
      <guid>https://dev.to/preciousky_45d956626d31c3/your-website-mostly-keeps-working-your-app-decays-on-someone-elses-calendar-405a</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I work with &lt;a href="https://zoopcoder.com/" rel="noopener noreferrer"&gt;ZoopCoder&lt;/a&gt;, an Indian development agency that sells maintenance plans. So take the sales-shaped parts with appropriate salt — but every number below is published, checkable, and I've included the cases where you should buy nothing at all.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There's an asymmetry in maintenance that almost no quote explains, and it catches technical founders as often as non-technical ones:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A website left alone mostly keeps working. An app left alone stops being installable.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Same neglect, completely different outcome. Nothing in your code changed in either case. The difference is whose calendar the decay runs on — and once you see it that way, "do I need a maintenance plan?" stops being one question and becomes two.&lt;/p&gt;

&lt;h2&gt;
  
  
  The website case: decay is mostly optional
&lt;/h2&gt;

&lt;p&gt;A static brochure site — no logins, no payments, no database, no plugins — has almost nothing to rot. Renew the domain, keep hosting paid, and it will serve the same HTML in 2028 that it serves today. Let's Encrypt renews the certificate itself.&lt;/p&gt;

&lt;p&gt;So the honest floor for keeping a small site alive in India is not a monthly retainer. It's this:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Typical cost per year (India, 2026)&lt;/th&gt;
&lt;th&gt;Actually required?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Domain renewal (.com / .in)&lt;/td&gt;
&lt;td&gt;₹800 – ₹1,500&lt;/td&gt;
&lt;td&gt;Yes, always&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shared hosting&lt;/td&gt;
&lt;td&gt;₹2,000 – ₹6,000&lt;/td&gt;
&lt;td&gt;Enough for a brochure or small WordPress site&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VPS / cloud hosting&lt;/td&gt;
&lt;td&gt;₹6,000 – ₹30,000&lt;/td&gt;
&lt;td&gt;Only for custom apps, real traffic, or live orders&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSL certificate&lt;/td&gt;
&lt;td&gt;₹0&lt;/td&gt;
&lt;td&gt;Free via Let's Encrypt. Never pay for a basic cert&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business email&lt;/td&gt;
&lt;td&gt;₹0 – ₹2,000 / user&lt;/td&gt;
&lt;td&gt;Optional&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Floor — small business site&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;₹3,000 – ₹8,000 / year&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Domain + shared hosting. That's the whole bill&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Floor — custom app on a VPS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;₹7,000 – ₹32,000 / year&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Domain + a real server&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;₹3,000–₹8,000 &lt;strong&gt;per year&lt;/strong&gt; is the floor. Compare that to a maintenance plan at ₹3,000–₹15,000+ &lt;strong&gt;per month&lt;/strong&gt; and you can see why the distinction matters: those two numbers differ by more than an order of magnitude, and plenty of quotes blur them together deliberately.&lt;/p&gt;

&lt;p&gt;The moment the site has moving parts, the maths flips hard. A WordPress or WooCommerce install is a live security exposure — an unpatched one is the single most common way Indian small-business sites get defaced, and cleaning up one hack costs more than a year of a basic plan. But that's a &lt;em&gt;conditional&lt;/em&gt; cost driven by what you built, not an inevitability.&lt;/p&gt;

&lt;h2&gt;
  
  
  The app case: decay runs on Google's and Apple's calendar
&lt;/h2&gt;

&lt;p&gt;Apps carry two costs websites don't, and one of them has teeth:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Cost&lt;/th&gt;
&lt;th&gt;Amount&lt;/th&gt;
&lt;th&gt;What happens if you stop paying&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Google Play Console&lt;/td&gt;
&lt;td&gt;$25 one-time (~₹2,200)&lt;/td&gt;
&lt;td&gt;Nothing. There is no renewal — pay once, ever&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple Developer Program&lt;/td&gt;
&lt;td&gt;$99 per year (~₹8,700)&lt;/td&gt;
&lt;td&gt;Your app is &lt;strong&gt;removed from the App Store&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;(Rupee figures are approximate and move with the exchange rate — the fees themselves are set in USD. Verify current fees with Google and Apple directly.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But the fees aren't the interesting part. This is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google and Apple raise their minimum SDK, privacy and permission requirements on their own schedule, not yours.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An app left untouched for two years will eventually fail a store requirement and stop being installable — even though nothing about it broke, no dependency rotted, and you changed nothing. You didn't incur technical debt. The platform moved the floor underneath a binary that was, by every local measure, fine.&lt;/p&gt;

&lt;p&gt;That's a genuinely different failure mode from "the code got old", and it's why "it's finished, we can stop paying" is a reasonable thing to say about a brochure site and a dangerous thing to say about an app. The website's clock is yours. The app's clock belongs to two companies in California who have never heard of you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What plans actually cost, and where they sit in the Indian market
&lt;/h2&gt;

&lt;p&gt;These are our published plans, not an illustrative example:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Per month&lt;/th&gt;
&lt;th&gt;Year one (11 mo)&lt;/th&gt;
&lt;th&gt;Right for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Post-launch support&lt;/td&gt;
&lt;td&gt;₹0 (first 30 days)&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;Included with every project&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Basic&lt;/td&gt;
&lt;td&gt;₹3,000&lt;/td&gt;
&lt;td&gt;₹33,000&lt;/td&gt;
&lt;td&gt;Brochure sites, small WordPress sites&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Professional&lt;/td&gt;
&lt;td&gt;₹8,000&lt;/td&gt;
&lt;td&gt;₹88,000&lt;/td&gt;
&lt;td&gt;E-commerce, lead-gen, anything with live orders&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise&lt;/td&gt;
&lt;td&gt;₹15,000+&lt;/td&gt;
&lt;td&gt;₹1,65,000+&lt;/td&gt;
&lt;td&gt;SaaS, CRM, ERP, business-critical platforms&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Year one multiplies by 11, not 12, because the first 30 days post-launch are included — you're not paying a retainer during the month you're most likely to need one.&lt;/p&gt;

&lt;p&gt;Add the floor to the plan and you get the real number: a small WordPress site on Basic is about &lt;strong&gt;₹39,000 in year one&lt;/strong&gt; (₹33,000 + ~₹6,000 renewals) and ~₹42,000/year after. A busy store on Professional is about &lt;strong&gt;₹95,000 in year one&lt;/strong&gt;. A SaaS on Enterprise starts near &lt;strong&gt;₹1,90,000/year&lt;/strong&gt;. Those are the numbers to budget — not the plan price alone.&lt;/p&gt;

&lt;p&gt;For market context: published Indian agency rates in 2026 run ~₹1,500/month for a basic site to ₹50,000+/month for enterprise platforms, with e-commerce typically ₹10,000–₹20,000/month. Our Professional tier at ₹8,000 sits below that band. I'd rather say that plainly than pretend we're the cheapest at every tier — we aren't, and the Enterprise "+" is real, because scope sets the number and an SLA costs what it costs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The percentage trap, briefly
&lt;/h2&gt;

&lt;p&gt;Many Indian agencies quote an AMC as &lt;strong&gt;15–20% of build cost per year&lt;/strong&gt;. It sounds principled. It's the wrong shape.&lt;/p&gt;

&lt;p&gt;Maintenance effort is driven by how often the thing changes, how much custom code it carries, and how much traffic and risk it handles. Your build price is none of those — it's a number from the past. So it fails in both directions:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;Build cost&lt;/th&gt;
&lt;th&gt;AMC at 18%&lt;/th&gt;
&lt;th&gt;What the work is worth&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Expensive site, barely changes&lt;/td&gt;
&lt;td&gt;₹5,00,000&lt;/td&gt;
&lt;td&gt;₹90,000/yr&lt;/td&gt;
&lt;td&gt;Renewals + a few hours&lt;/td&gt;
&lt;td&gt;You overpay, forever&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cheap build, became a busy store&lt;/td&gt;
&lt;td&gt;₹40,000&lt;/td&gt;
&lt;td&gt;₹7,200/yr&lt;/td&gt;
&lt;td&gt;Live orders, monitoring, fast response&lt;/td&gt;
&lt;td&gt;You're underserved, and won't be told&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Row two is the dangerous one. ₹7,200/year is ₹600/month. Nobody monitors a live store for ₹600 a month. What you bought is the &lt;em&gt;word&lt;/em&gt; maintenance, and you'll discover what it didn't include on the day something breaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to buy nothing
&lt;/h2&gt;

&lt;p&gt;We sell these plans, so hold me to this: &lt;strong&gt;a maintenance plan is a service you choose to buy, not a bill you automatically owe.&lt;/strong&gt; Skip it if all of these hold:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The site is static — no logins, no payments, no database, no plugins.&lt;/li&gt;
&lt;li&gt;It changes fewer than three or four times a year, and only text and images.&lt;/li&gt;
&lt;li&gt;No revenue depends on it being up &lt;em&gt;this hour&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Someone can email a developer when it breaks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In that case: renew domain and hosting for ₹3,000–₹8,000/year and buy ad-hoc hours when you need them. Four small changes a year bought as hours will almost always beat ₹36,000 of retainer.&lt;/p&gt;

&lt;p&gt;Buy the plan if it runs a plugin ecosystem, takes payments, stores customer data, carries leads or orders, or is something people log into to do their job. &lt;strong&gt;The dividing line isn't the size of your business or what you paid to build the thing — it's whether it has moving parts, and whether money flows through it.&lt;/strong&gt; And if it's an app, remember the clock isn't yours.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one clause that matters more than the price
&lt;/h2&gt;

&lt;p&gt;Make sure you own the code, the domain and the hosting account. If you can leave, a maintenance plan is a service you're choosing. If you can't, it isn't a plan — it's rent on something you already bought. Check which one you're being offered &lt;em&gt;before&lt;/em&gt; you compare prices, because that single fact determines whether the price means anything at all.&lt;/p&gt;

&lt;p&gt;Full breakdown with the year-one arithmetic, the renewal floor and the market comparison: &lt;strong&gt;&lt;a href="https://zoopcoder.com/guides/website-maintenance-cost-india.php" rel="noopener noreferrer"&gt;How much does website maintenance cost in India?&lt;/a&gt;&lt;/strong&gt; · Plans are published at &lt;a href="https://zoopcoder.com/pricing.php" rel="noopener noreferrer"&gt;zoopcoder.com/pricing.php&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>mobile</category>
      <category>india</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The build is not the bill: what a SaaS MVP actually costs in year one (India, 2026)</title>
      <dc:creator>Preciousky</dc:creator>
      <pubDate>Thu, 16 Jul 2026 11:48:47 +0000</pubDate>
      <link>https://dev.to/preciousky_45d956626d31c3/the-build-is-not-the-bill-what-a-saas-mvp-actually-costs-in-year-one-india-2026-52oh</link>
      <guid>https://dev.to/preciousky_45d956626d31c3/the-build-is-not-the-bill-what-a-saas-mvp-actually-costs-in-year-one-india-2026-52oh</guid>
      <description>&lt;p&gt;Every SaaS cost estimate I read quotes one number: the build. ₹1,50,000 to ₹5,00,000 for an MVP in India, 10 to 24 weeks, thanks for reading.&lt;/p&gt;

&lt;p&gt;That number is real. It is also not the bill.&lt;/p&gt;

&lt;p&gt;A website is a one-time purchase that then sits there. A SaaS is a running process with a monthly invoice attached, and the gap between those two facts is where first products die. Not in the build. In month four, when the card on the hosting account declines.&lt;/p&gt;

&lt;p&gt;Here is the year-one arithmetic, in actual rupees, for a small Indian SaaS.&lt;/p&gt;

&lt;h2&gt;
  
  
  What year one costs on top of the build
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Running cost&lt;/th&gt;
&lt;th&gt;Typical year one&lt;/th&gt;
&lt;th&gt;What actually drives it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cloud hosting&lt;/td&gt;
&lt;td&gt;₹18,000 – ₹96,000&lt;/td&gt;
&lt;td&gt;₹1,500–₹8,000/month. An early SaaS rarely needs more than one small server plus a managed database&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Domain + SSL&lt;/td&gt;
&lt;td&gt;₹1,000 – ₹3,000&lt;/td&gt;
&lt;td&gt;Domain renewal. SSL is free via Let's Encrypt — never pay for a basic cert&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Transactional email / SMS&lt;/td&gt;
&lt;td&gt;₹6,000 – ₹36,000&lt;/td&gt;
&lt;td&gt;₹500–₹3,000/month. Signup, reset, invoices. Scales with users, not features&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maintenance &amp;amp; updates&lt;/td&gt;
&lt;td&gt;₹33,000 – ₹1,65,000&lt;/td&gt;
&lt;td&gt;₹3,000–₹15,000/month × 11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Payment gateway&lt;/td&gt;
&lt;td&gt;~2% of revenue&lt;/td&gt;
&lt;td&gt;Not fixed — you only pay when a customer pays you&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Year-one total (excl. gateway)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;₹58,000 – ₹3,00,000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;On top of the ₹1,50,000–₹5,00,000 build&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Run it honestly and the headline changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A lean ₹1,50,000 MVP is really &lt;strong&gt;about ₹2,10,000&lt;/strong&gt; in year one.&lt;/li&gt;
&lt;li&gt;A ₹5,00,000 build on a full maintenance plan is closer to &lt;strong&gt;₹8,00,000&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your entire budget is the build number, you have funded a launch, not a product.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the infra line is not optional the way founders think it is
&lt;/h2&gt;

&lt;p&gt;The instinct is to treat hosting as the thing you cut. It is the smallest line on the table and the one that looks most like someone else's markup. But it is the only line that is load-bearing for the thing you actually sold: uptime.&lt;/p&gt;

&lt;p&gt;A brochure site being down for an hour is embarrassing. A SaaS being down for an hour loses customers permanently, because the customer's work stopped. That asymmetry is the entire reason a SaaS costs more than a website with the same screen count, and it shows up everywhere in the codebase:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Accounts, roles, permissions.&lt;/strong&gt; Signup, login, reset, sessions, and rules about who may see what. Every rule is a thing to build and a thing to test.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data isolation between tenants.&lt;/strong&gt; Customer A must never see customer B's rows. This shapes your schema on day one and it is the one bug you genuinely cannot ship.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subscriptions and billing.&lt;/strong&gt; Recurring payments, failed cards, upgrades, refunds, GST invoices. Billing is a product in its own right, and it is where "two more weeks" comes from.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An admin console.&lt;/strong&gt; You will need to fix customer accounts by hand in month one. It is a second application, and it is why scope quietly doubles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Uptime and backups.&lt;/strong&gt; See above.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of that is visible to the user. All of it is why the number is what it is.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the build calendar actually goes
&lt;/h2&gt;

&lt;p&gt;Same split as any medium project: roughly &lt;strong&gt;10% discovery, 20% design, 45% development, 15% testing, 10% deployment.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Only about 45% of what you pay for is someone writing product code. That is not padding — it is the reason fixing scope early saves more money than any negotiation over the hourly rate ever will. You cannot rate-negotiate your way out of a discovery phase you skipped.&lt;/p&gt;

&lt;h2&gt;
  
  
  The five things to cut, with numbers
&lt;/h2&gt;

&lt;p&gt;The fastest way to bring a ₹4,00,000 quote to ₹2,00,000 is not a cheaper developer. It is deleting the things that do not answer the only question an MVP exists to answer: &lt;em&gt;will anyone pay for this?&lt;/em&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Verdict&lt;/th&gt;
&lt;th&gt;Roughly what it adds&lt;/th&gt;
&lt;th&gt;Do this instead&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Mobile app alongside web&lt;/td&gt;
&lt;td&gt;Cut&lt;/td&gt;
&lt;td&gt;₹50,000 – ₹1,50,000&lt;/td&gt;
&lt;td&gt;A responsive web app reaches every user on day one&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom analytics dashboard&lt;/td&gt;
&lt;td&gt;Cut&lt;/td&gt;
&lt;td&gt;₹40,000 – ₹1,00,000&lt;/td&gt;
&lt;td&gt;CSV export + a spreadsheet answers the same questions at ten users&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSO / SAML&lt;/td&gt;
&lt;td&gt;Cut&lt;/td&gt;
&lt;td&gt;₹30,000 – ₹80,000&lt;/td&gt;
&lt;td&gt;Email + Google login. Build SSO when an enterprise buyer asks and pays&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multiple pricing tiers&lt;/td&gt;
&lt;td&gt;Cut&lt;/td&gt;
&lt;td&gt;₹30,000 – ₹70,000&lt;/td&gt;
&lt;td&gt;Launch with one price. You don't yet know what anyone will pay&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Public API&lt;/td&gt;
&lt;td&gt;Cut&lt;/td&gt;
&lt;td&gt;₹40,000 – ₹1,00,000&lt;/td&gt;
&lt;td&gt;Nobody integrates with a product that has no users&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Cut all five and a mid-band quote drops by roughly &lt;strong&gt;₹1,90,000 to ₹5,00,000 of scope&lt;/strong&gt;. Not one of them makes the product more likely to find a paying customer. Every one of them can ship in phase two, with revenue, once you know which ones customers actually ask for.&lt;/p&gt;

&lt;h2&gt;
  
  
  The uncomfortable part
&lt;/h2&gt;

&lt;p&gt;Some of you should not build this yet. Specifically, if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You haven't spoken to ten potential users.&lt;/strong&gt; Not friends — people with the problem and a budget. Costs ₹0 and a fortnight, and it changes the scope of most products.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A spreadsheet and an existing tool could fake it.&lt;/strong&gt; Run the workflow manually for three to five paying customers first. If they won't pay for it done by hand, they won't pay for it automated. If they will, you now have revenue, real requirements, and a cheaper build.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You need revenue within three months.&lt;/strong&gt; An MVP takes 10–24 weeks. The arithmetic does not work, and anyone who tells you otherwise is not being straight with you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A no-code prototype could prove the workflow.&lt;/strong&gt; Bubble, Glide or an Airtable flow can validate a single workflow for ₹0–₹30,000. They won't scale — that's fine, that isn't the job yet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Writing the code is the fun part. It is also the part you should be most willing to postpone.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclosure: I work with &lt;a href="https://zoopcoder.com/" rel="noopener noreferrer"&gt;ZoopCoder&lt;/a&gt;, an Indian dev agency, so treat the "when not to build" section knowing we'd be turning down that work. The ₹ bands above are our published prices, not an estimate — hosting/email/gateway figures are typical Indian market rates you should verify with each vendor. Full breakdown with the scope tiers and year-one table: &lt;a href="https://zoopcoder.com/guides/saas-mvp-cost-in-india.php" rel="noopener noreferrer"&gt;How much does a SaaS MVP cost in India?&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>saas</category>
      <category>startup</category>
      <category>india</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why software build timelines slip in India (and coding is only ~45% of the calendar)</title>
      <dc:creator>Preciousky</dc:creator>
      <pubDate>Wed, 15 Jul 2026 14:16:57 +0000</pubDate>
      <link>https://dev.to/preciousky_45d956626d31c3/why-software-build-timelines-slip-in-india-and-coding-is-only-45-of-the-calendar-2o64</link>
      <guid>https://dev.to/preciousky_45d956626d31c3/why-software-build-timelines-slip-in-india-and-coding-is-only-45-of-the-calendar-2o64</guid>
      <description>&lt;h2&gt;
  
  
  The uncomfortable truth about build timelines: coding is ~45% of the calendar
&lt;/h2&gt;

&lt;p&gt;Every time someone asks "how long will it take to build this app?", the answer they expect is a coding estimate. But if you have shipped a few products, you know the calendar is dominated by everything &lt;em&gt;around&lt;/em&gt; the code. Here is the breakdown we actually see on India-based builds, and why the estimate you were given keeps slipping.&lt;/p&gt;

&lt;h2&gt;
  
  
  The headline numbers (once the team is building)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Project type&lt;/th&gt;
&lt;th&gt;Realistic timeline&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Landing page&lt;/td&gt;
&lt;td&gt;5-10 days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business website&lt;/td&gt;
&lt;td&gt;2-3 weeks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ecommerce site&lt;/td&gt;
&lt;td&gt;3-8 weeks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Simple app (few screens, 1-2 integrations)&lt;/td&gt;
&lt;td&gt;4-6 weeks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mid-complexity app (accounts, payments, admin)&lt;/td&gt;
&lt;td&gt;8-16 weeks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SaaS MVP&lt;/td&gt;
&lt;td&gt;10-24 weeks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Complex platform / marketplace&lt;/td&gt;
&lt;td&gt;4-7 months&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These assume a competent team is already onboarded. The "hire" and "spec" time sits &lt;em&gt;before&lt;/em&gt; this clock starts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the calendar actually goes
&lt;/h2&gt;

&lt;p&gt;This is the part that surprises non-technical stakeholders. For a typical app, the phase split looks like:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Phase&lt;/th&gt;
&lt;th&gt;Share of calendar&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Discovery &amp;amp; specs&lt;/td&gt;
&lt;td&gt;~10%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UI/UX design&lt;/td&gt;
&lt;td&gt;~20%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Development (the "coding")&lt;/td&gt;
&lt;td&gt;~45%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Testing &amp;amp; bug-fixing&lt;/td&gt;
&lt;td&gt;~15%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deployment &amp;amp; store review&lt;/td&gt;
&lt;td&gt;~10%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Coding is under half the timeline. So when a vendor promises "your app in 3 weeks", the honest question is: &lt;em&gt;which of these phases are you dropping?&lt;/em&gt; It is almost always testing — and you pay that debt back with interest in month two.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real reason projects run late (it is not the developers)
&lt;/h2&gt;

&lt;p&gt;In my experience the single biggest source of slippage on Indian projects is &lt;strong&gt;scope creep and slow client approvals&lt;/strong&gt;, not slow engineering. Mid-build feature changes and multi-day sign-off delays on designs routinely add &lt;strong&gt;2-8 weeks&lt;/strong&gt;. That clock lives entirely on the client's side.&lt;/p&gt;

&lt;p&gt;Things engineers can predict but clients rarely budget for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Native iOS + Android in parallel&lt;/strong&gt; is materially slower than one Flutter / React Native codebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;App Store / Play review&lt;/strong&gt; adds anywhere from a few days to a couple of weeks, and it is out of your hands.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;India-specific integrations&lt;/strong&gt; — Razorpay/PayU, Aadhaar/DigiLocker KYC, GST invoicing — tend to need extra compliance rounds that never show up in the naive estimate.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to actually hit the estimate
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Freeze scope before development starts.&lt;/strong&gt; A locked spec is worth more than an extra developer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assign one decision-maker&lt;/strong&gt; on the client side who can approve designs within a day.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep testing in the plan.&lt;/strong&gt; If it is not a line item, it is not happening.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sequence, don't parallelize blindly&lt;/strong&gt; — a shared codebase beats two native teams for most products pre-scale.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;em&gt;Disclosure: I work with &lt;a href="https://zoopcoder.com" rel="noopener noreferrer"&gt;ZoopCoder&lt;/a&gt;, an India-based development agency, so treat the agency framing accordingly — I have tried to keep the phase math and timelines honest and vendor-neutral. We published the full version of this, with the timeline-and-price table by project type and a ranked list of what causes delays, here: &lt;a href="https://zoopcoder.com/guides/how-long-to-build-app-website-india.php" rel="noopener noreferrer"&gt;How Long Does It Take to Build an App or Website in India?&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>mobile</category>
      <category>productivity</category>
      <category>india</category>
    </item>
    <item>
      <title>The 30-40% cross-platform saving, in actual rupees (India, 2026)</title>
      <dc:creator>Preciousky</dc:creator>
      <pubDate>Tue, 14 Jul 2026 10:52:48 +0000</pubDate>
      <link>https://dev.to/preciousky_45d956626d31c3/the-30-40-cross-platform-saving-in-actual-rupees-india-2026-3na0</link>
      <guid>https://dev.to/preciousky_45d956626d31c3/the-30-40-cross-platform-saving-in-actual-rupees-india-2026-3na0</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure up front: I work at ZoopCoder, an Indian dev studio. The rupee figures below are the ones we publish on our own pricing page, shown next to the wider market band — including the tiers cheaper than us.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;"Cross-platform saves you 30–40%" is repeated so often that it has stopped meaning anything. I want to put actual numbers under it, from the Indian market in 2026, and then argue about where the saving really comes from — because it is not where most people think.&lt;/p&gt;

&lt;h2&gt;
  
  
  The numbers first
&lt;/h2&gt;

&lt;p&gt;Relative build cost, same app, same scope:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Approach&lt;/th&gt;
&lt;th&gt;Relative cost&lt;/th&gt;
&lt;th&gt;Choose it when&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Flutter (one codebase)&lt;/td&gt;
&lt;td&gt;Baseline — 100%&lt;/td&gt;
&lt;td&gt;Most business, commerce, booking and content apps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;React Native (one codebase)&lt;/td&gt;
&lt;td&gt;~100%&lt;/td&gt;
&lt;td&gt;You already have a React web team and want to share skills&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Android native only&lt;/td&gt;
&lt;td&gt;70–80%&lt;/td&gt;
&lt;td&gt;India-only audience (Android ≈ 95% of the market here)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Native Android &lt;strong&gt;and&lt;/strong&gt; native iOS&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;150–180%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Heavy hardware use, background processing, platform-specific features&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;In rupees, for a medium-complexity app (logins, payments, admin panel, two user roles), the cross-platform build lands at &lt;strong&gt;₹1,00,000–₹2,50,000&lt;/strong&gt; at a small Indian agency, on an 8–14 week timeline. The two-native-codebases version of that same app is the 150–180% row.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the saving actually comes from
&lt;/h2&gt;

&lt;p&gt;It is &lt;em&gt;not&lt;/em&gt; mostly the UI layer. That is the intuition — "one widget tree instead of two" — and it is the smaller half.&lt;/p&gt;

&lt;p&gt;The bigger half is everything that silently doubles when you have two codebases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Test suites.&lt;/strong&gt; Two of them. Every business rule asserted twice.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CI pipelines.&lt;/strong&gt; Two build matrices, two signing setups, two flake surfaces.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Release trains.&lt;/strong&gt; Two store submissions, two review rejections to argue with, two rollback plans.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bug triage.&lt;/strong&gt; Every bug now has a "does it repro on the other platform?" step before you can even file it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OS updates.&lt;/strong&gt; Android and iOS each ship a major version annually. Two codebases means you pay that tax twice, every year, forever.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last point is why I think the 150–180% number &lt;em&gt;understates&lt;/em&gt; native's true cost. The 150–180% is the &lt;strong&gt;build&lt;/strong&gt;. The maintenance delta never ends — and in India that shows up as ₹5,000–₹30,000/month of maintenance that quietly becomes two streams instead of one.&lt;/p&gt;

&lt;h2&gt;
  
  
  When native is still the right call
&lt;/h2&gt;

&lt;p&gt;I am not arguing Flutter always wins. Pay for native when the app's core value depends on the platform:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Heavy device hardware (camera pipelines, sensors, Bluetooth peripherals)&lt;/li&gt;
&lt;li&gt;Serious background processing&lt;/li&gt;
&lt;li&gt;Platform-specific features you'd otherwise be fighting a plugin to reach&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are writing a business, commerce, booking or content app, though, you are usually paying the native premium for nothing — and paying it again every year.&lt;/p&gt;

&lt;h2&gt;
  
  
  The costs the framework choice doesn't change
&lt;/h2&gt;

&lt;p&gt;Whatever you pick, these don't move, and they're the ones that catch first-time app owners:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Google Play Console: &lt;strong&gt;$25&lt;/strong&gt;, one-time&lt;/li&gt;
&lt;li&gt;Apple Developer Program: &lt;strong&gt;$99/year&lt;/strong&gt; — stop paying and the app is delisted&lt;/li&gt;
&lt;li&gt;Backend hosting: &lt;strong&gt;₹3,000–₹25,000/month&lt;/strong&gt;, scaling with active users&lt;/li&gt;
&lt;li&gt;Maintenance: &lt;strong&gt;₹5,000–₹30,000/month&lt;/strong&gt; — an unmaintained app breaks in roughly &lt;strong&gt;12–18 months&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Budget for these on day one, or you have built something with an expiry date and not noticed.&lt;/p&gt;




&lt;p&gt;Full breakdown — cost by complexity, by app type (brochure → fintech), vendor rate bands from freelancer to enterprise, and timelines: &lt;strong&gt;&lt;a href="https://zoopcoder.com/guides/mobile-app-development-cost-in-india.php" rel="noopener noreferrer"&gt;https://zoopcoder.com/guides/mobile-app-development-cost-in-india.php&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you think the 150–180% figure is wrong for your stack, I'd genuinely like to hear it — that number is the one I'm least certain generalises.&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>mobile</category>
      <category>india</category>
    </item>
  </channel>
</rss>
