[{"data":1,"prerenderedAt":404},["ShallowReactive",2],{"navigation-en":3,"language-switcher-\u002Fen\u002Fblog\u002Fcategory\u002Fweb-applications":87,"blog-kategoria-en-web-applications":93},{"services":4,"industries":48,"caseStudies":69},[5,10,14,19,23,27,31,35,39,43],{"slug":6,"navLabel":7,"navGroup":8,"heroHeadline":9},"web-applications","Web applications","build","A web application built around your process",{"slug":11,"navLabel":12,"navGroup":8,"heroHeadline":13},"erp-systems","ERP systems","An ERP system built for your company, not the other way round",{"slug":15,"navLabel":16,"navGroup":17,"heroHeadline":18},"integrations-and-api","Integrations and APIs","improve","Your systems stop being islands",{"slug":20,"navLabel":21,"navGroup":17,"heroHeadline":22},"ai-implementation","AI implementation","AI deployed where it actually saves time",{"slug":24,"navLabel":25,"navGroup":17,"heroHeadline":26},"process-automation","Process automation","Work no one should be doing by hand",{"slug":28,"navLabel":29,"navGroup":8,"heroHeadline":30},"websites","Websites","A site that loads instantly and brings in inquiries",{"slug":32,"navLabel":33,"navGroup":8,"heroHeadline":34},"mobile-applications","Mobile applications","One codebase, both platforms",{"slug":36,"navLabel":37,"navGroup":17,"heroHeadline":38},"code-audit-and-project-takeover","Code audit and takeover","The project stalled. We'll take it over and tell you the truth about its condition",{"slug":40,"navLabel":41,"navGroup":17,"heroHeadline":42},"maintenance-and-support","Maintenance and support","A system needs someone watching it after launch",{"slug":44,"navLabel":45,"navGroup":46,"heroHeadline":47},"discovery-workshop","Discovery workshop","start","Before you decide to build, find out exactly what you're building",[49,53,57,61,65],{"slug":50,"navLabel":51,"heroHeadline":52},"manufacturing","Manufacturing","The works order reaches the floor as a printout from an email",{"slug":54,"navLabel":55,"heroHeadline":56},"automotive","Automotive","The customer exists in three places at once",{"slug":58,"navLabel":59,"heroHeadline":60},"industrial-automation","Industrial automation","You sell competence that doesn't photograph",{"slug":62,"navLabel":63,"heroHeadline":64},"e-commerce","E-commerce","The shop works. What sits behind it comes apart",{"slug":66,"navLabel":67,"heroHeadline":68},"logistics","Transport and logistics","The job arrives by email, the status comes back by phone",[70,77,82],{"slug":71,"client":72,"tag":73,"year":74,"summary":75,"image":76},"dss-by-caredo","Caredo","Product",2025,"We build the whole DSS product together with the Caredo team — from the CRM and planner to the software behind the key lockers and totems.","\u002Fimg\u002Fcase-studies\u002Fdss\u002Fkluczykomat\u002Fframe_0169.webp",{"slug":78,"client":72,"tag":79,"year":74,"summary":80,"image":81},"dss-by-caredo-website","Product website","We built the DSS product website end to end — from design to launch — on Caredo's visual identity.","\u002Fimg\u002Fscreenshots\u002Fdss-desktop.jpg",{"slug":83,"client":83,"tag":84,"year":74,"summary":85,"image":86},"2motion","Brand and website","A whole brand from scratch — logo, colours, business cards — a company website and blog posts that position 2motion in search.","\u002Fimg\u002Fscreenshots\u002F2motion-desktop.jpg",[88],{"code":89,"label":90,"name":91,"to":92},"pl","PL","Polish","\u002Fblog\u002Fkategoria\u002Faplikacje-webowe",[94],{"id":95,"title":96,"author":97,"body":98,"category":384,"date":385,"description":386,"draft":387,"editorialNote":388,"extension":389,"image":390,"meta":391,"navigation":392,"path":393,"rawbody":394,"seo":395,"sitemap":396,"stem":397,"tags":398,"translationKey":402,"updated":388,"__hash__":403},"blogEn\u002Fblog\u002File-kosztuje-aplikacja-webowa.md","How much does a dedicated web application cost in 2026","zespol",{"type":99,"value":100,"toc":372},"minimark",[101,114,117,122,189,192,196,199,233,237,243,249,255,261,267,273,279,283,286,312,316,327,330,334,340,346,352,358,362,369],[102,103,104,105,109,110,113],"p",{},"A dedicated web application for a company costs, in Poland, anywhere from around ",[106,107,108],"strong",{},"PLN 60,000 net"," for a simple internal system to ",[106,111,112],{},"PLN 400,000 and up"," for a platform with multiple roles, integrations and a client portal. That spread isn't vendor indecision — it's that very different projects, differing by an order of magnitude in effort, hide under the same label.",[102,115,116],{},"Below I break those numbers down and show exactly what pushes a quote up.",[118,119,121],"h2",{"id":120},"price-ranges-by-project-type","Price ranges by project type",[123,124,125,141],"table",{},[126,127,128],"thead",{},[129,130,131,135,138],"tr",{},[132,133,134],"th",{},"Project type",[132,136,137],{},"Net range",[132,139,140],{},"Time to production",[142,143,144,156,167,178],"tbody",{},[129,145,146,150,153],{},[147,148,149],"td",{},"Internal tool, one process, one role",[147,151,152],{},"PLN 60–90k",[147,154,155],{},"3–4 months",[129,157,158,161,164],{},[147,159,160],{},"B2B system with a client portal and several roles",[147,162,163],{},"PLN 120–220k",[147,165,166],{},"5–8 months",[129,168,169,172,175],{},[147,170,171],{},"SaaS platform with subscriptions and multi-tenancy",[147,173,174],{},"PLN 250–400k",[147,176,177],{},"8–14 months",[129,179,180,183,186],{},[147,181,182],{},"Extending an existing system",[147,184,185],{},"PLN 15–60k per module",[147,187,188],{},"3–10 weeks",[102,190,191],{},"These are ranges for a Polish vendor with a senior team, at PLN 160–260 per hour. Offers significantly lower usually mean one of three things: a less experienced team, an underestimated scope, or a model where the gap gets made up in change orders.",[118,193,195],{"id":194},"where-the-money-actually-goes","Where the money actually goes",[102,197,198],{},"The cost breakdown for a typical mid-sized project looks like this:",[200,201,202,209,215,221,227],"ul",{},[203,204,205,208],"li",{},[106,206,207],{},"Analysis and design — 15–20%."," Workshops, the data model, the prototype. The stage where it's easiest to save money and most expensive to have saved it.",[203,210,211,214],{},[106,212,213],{},"Backend and business logic — 35–40%."," Rules, permissions, integrations, performance.",[203,216,217,220],{},[106,218,219],{},"Interface — 25–30%."," The more roles and views, the more it costs. The admin panel is sometimes bigger than the client-facing part.",[203,222,223,226],{},[106,224,225],{},"Testing and rollout — 10–15%."," Environments, release automation, data migration.",[203,228,229,232],{},[106,230,231],{},"Buffer for the unknown — 10%."," Every project has one. Vendors who don't budget for it make it up in change orders instead.",[118,234,236],{"id":235},"seven-things-that-double-a-quote","Seven things that double a quote",[102,238,239,242],{},[106,240,241],{},"1. Integrations with systems that have no API."," Connecting to a well-documented API takes a few days. Connecting to a system that only offers a file export or direct database access takes weeks — and it's a debt that comes back with every update on that system's side.",[102,244,245,248],{},[106,246,247],{},"2. Migrating data from an inconsistent source."," If a spreadsheet has the same company appearing as \"Smith Ltd\", \"Smith Ltd.\" and \"SMITH LTD\", someone has to resolve that. There's usually more of it than it looks.",[102,250,251,254],{},[106,252,253],{},"3. Offline-first work."," An app that has to work with no connection and sync afterwards needs a local database, an operation queue and conflict-resolution rules. That can turn out to be a third of the whole project.",[102,256,257,260],{},[106,258,259],{},"4. Multilingual support bolted on later."," Adding a second language to a system that wasn't built for it costs several times more than planning for it from the start.",[102,262,263,266],{},[106,264,265],{},"5. A complex permissions model."," The gap between \"admin and user\" and a permissions matrix per module, per field and per branch is weeks of work and a standing cost on every feature after that.",[102,268,269,272],{},[106,270,271],{},"6. Compliance requirements."," Baseline GDPR is cheap. A requirement to audit every data change, retention rules and on-demand anonymisation is a module of its own.",[102,274,275,278],{},[106,276,277],{},"7. An open-ended scope."," The single biggest factor. A project where the scope gets settled along the way ends up costing, in practice, 1.5–2x a project with the same scope described up front.",[118,280,282],{"id":281},"what-a-quote-usually-doesnt-include","What a quote usually doesn't include",[102,284,285],{},"Vendors quote the cost of the build. You still need to budget for:",[200,287,288,294,300,306],{},[203,289,290,293],{},[106,291,292],{},"Maintenance"," — realistically 15–20% of the project's value per year. Monitoring, security updates, small fixes.",[203,295,296,299],{},[106,297,298],{},"Infrastructure"," — from a few hundred zloty a month for a simple system to several thousand at higher traffic.",[203,301,302,305],{},[106,303,304],{},"Content and photography"," — negligible for internal systems, potentially a significant line item for products with a public-facing part.",[203,307,308,311],{},[106,309,310],{},"Your team's time"," — workshops, acceptance testing, decisions. A few to a dozen hours a week across the whole project. It's a real cost, just not one that shows up on an invoice.",[118,313,315],{"id":314},"how-to-check-whether-a-quote-is-fair","How to check whether a quote is fair",[102,317,318,319,322,323,326],{},"Ask for a breakdown by stage with amounts, and a list of assumptions. A fair quote states not just what's in scope, but also ",[106,320,321],{},"what isn't",", and ",[106,324,325],{},"what happens to the price if an assumption doesn't hold",".",[102,328,329],{},"If you get a single number with no breakdown, you have no way to compare it to another single number. Three offers differing by an order of magnitude almost always mean each of them priced something different.",[118,331,333],{"id":332},"how-to-lower-the-cost-without-lowering-quality","How to lower the cost without lowering quality",[102,335,336,339],{},[106,337,338],{},"Narrow the first rollout to a single process."," A system that handles one process end to end delivers value from day one. A system half-handling five processes delivers none.",[102,341,342,345],{},[106,343,344],{},"Skip configurability you don't need yet."," \"We want to be able to change this later without a developer\" is usually the most expensive sentence in the whole spec.",[102,347,348,351],{},[106,349,350],{},"Use off-the-shelf components where you're not building an advantage."," Authentication, payments, email delivery, search — good components already exist, and writing them from scratch is a cost with no return.",[102,353,354,357],{},[106,355,356],{},"Pay for a workshop before building."," A dozen or so thousand spent closing the scope pays for itself many times over, because it removes the main cause of budget overruns.",[118,359,361],{"id":360},"summary","Summary",[102,363,364,365,368],{},"If you need one number to open a conversation with the board: ",[106,366,367],{},"an internal system handling one process is around PLN 80,000 net and four months",". Everything above that depends on the number of roles, integrations, and how well the scope is described — not on how many screens the app has.",[102,370,371],{},"If you want a number you can defend to the board, you need a workshop on your own data and your own process. That's the only way a quote stops being a guess.",{"title":373,"searchDepth":374,"depth":374,"links":375},"",3,[376,378,379,380,381,382,383],{"id":120,"depth":377,"text":121},2,{"id":194,"depth":377,"text":195},{"id":235,"depth":377,"text":236},{"id":281,"depth":377,"text":282},{"id":314,"depth":377,"text":315},{"id":332,"depth":377,"text":333},{"id":360,"depth":377,"text":361},"aplikacje-webowe","2026-09-02","Real price ranges for web applications, a cost breakdown by stage, and the factors that can double a quote. No \"it depends\" without an explanation.",false,null,"md","\u002Fimg\u002Fblog\u002File-kosztuje-aplikacja-webowa.jpg",{},true,"\u002Fblog\u002File-kosztuje-aplikacja-webowa","---\ntitle: How much does a dedicated web application cost in 2026\ndescription: Real price ranges for web applications, a cost breakdown by stage, and the factors that can double a quote. No \"it depends\" without an explanation.\ndate: 2026-09-02\ncategory: aplikacje-webowe\ntags:\n  - pricing\n  - budget\n  - mvp\nauthor: zespol\nimage: \u002Fimg\u002Fblog\u002File-kosztuje-aplikacja-webowa.jpg\ntranslationKey: cost-of-a-web-application\ndraft: false\n---\n\nA dedicated web application for a company costs, in Poland, anywhere from around **PLN 60,000 net** for a simple internal system to **PLN 400,000 and up** for a platform with multiple roles, integrations and a client portal. That spread isn't vendor indecision — it's that very different projects, differing by an order of magnitude in effort, hide under the same label.\n\nBelow I break those numbers down and show exactly what pushes a quote up.\n\n## Price ranges by project type\n\n| Project type | Net range | Time to production |\n|---|---|---|\n| Internal tool, one process, one role | PLN 60–90k | 3–4 months |\n| B2B system with a client portal and several roles | PLN 120–220k | 5–8 months |\n| SaaS platform with subscriptions and multi-tenancy | PLN 250–400k | 8–14 months |\n| Extending an existing system | PLN 15–60k per module | 3–10 weeks |\n\nThese are ranges for a Polish vendor with a senior team, at PLN 160–260 per hour. Offers significantly lower usually mean one of three things: a less experienced team, an underestimated scope, or a model where the gap gets made up in change orders.\n\n## Where the money actually goes\n\nThe cost breakdown for a typical mid-sized project looks like this:\n\n- **Analysis and design — 15–20%.** Workshops, the data model, the prototype. The stage where it's easiest to save money and most expensive to have saved it.\n- **Backend and business logic — 35–40%.** Rules, permissions, integrations, performance.\n- **Interface — 25–30%.** The more roles and views, the more it costs. The admin panel is sometimes bigger than the client-facing part.\n- **Testing and rollout — 10–15%.** Environments, release automation, data migration.\n- **Buffer for the unknown — 10%.** Every project has one. Vendors who don't budget for it make it up in change orders instead.\n\n## Seven things that double a quote\n\n**1. Integrations with systems that have no API.** Connecting to a well-documented API takes a few days. Connecting to a system that only offers a file export or direct database access takes weeks — and it's a debt that comes back with every update on that system's side.\n\n**2. Migrating data from an inconsistent source.** If a spreadsheet has the same company appearing as \"Smith Ltd\", \"Smith Ltd.\" and \"SMITH LTD\", someone has to resolve that. There's usually more of it than it looks.\n\n**3. Offline-first work.** An app that has to work with no connection and sync afterwards needs a local database, an operation queue and conflict-resolution rules. That can turn out to be a third of the whole project.\n\n**4. Multilingual support bolted on later.** Adding a second language to a system that wasn't built for it costs several times more than planning for it from the start.\n\n**5. A complex permissions model.** The gap between \"admin and user\" and a permissions matrix per module, per field and per branch is weeks of work and a standing cost on every feature after that.\n\n**6. Compliance requirements.** Baseline GDPR is cheap. A requirement to audit every data change, retention rules and on-demand anonymisation is a module of its own.\n\n**7. An open-ended scope.** The single biggest factor. A project where the scope gets settled along the way ends up costing, in practice, 1.5–2x a project with the same scope described up front.\n\n## What a quote usually doesn't include\n\nVendors quote the cost of the build. You still need to budget for:\n\n- **Maintenance** — realistically 15–20% of the project's value per year. Monitoring, security updates, small fixes.\n- **Infrastructure** — from a few hundred zloty a month for a simple system to several thousand at higher traffic.\n- **Content and photography** — negligible for internal systems, potentially a significant line item for products with a public-facing part.\n- **Your team's time** — workshops, acceptance testing, decisions. A few to a dozen hours a week across the whole project. It's a real cost, just not one that shows up on an invoice.\n\n## How to check whether a quote is fair\n\nAsk for a breakdown by stage with amounts, and a list of assumptions. A fair quote states not just what's in scope, but also **what isn't**, and **what happens to the price if an assumption doesn't hold**.\n\nIf you get a single number with no breakdown, you have no way to compare it to another single number. Three offers differing by an order of magnitude almost always mean each of them priced something different.\n\n## How to lower the cost without lowering quality\n\n**Narrow the first rollout to a single process.** A system that handles one process end to end delivers value from day one. A system half-handling five processes delivers none.\n\n**Skip configurability you don't need yet.** \"We want to be able to change this later without a developer\" is usually the most expensive sentence in the whole spec.\n\n**Use off-the-shelf components where you're not building an advantage.** Authentication, payments, email delivery, search — good components already exist, and writing them from scratch is a cost with no return.\n\n**Pay for a workshop before building.** A dozen or so thousand spent closing the scope pays for itself many times over, because it removes the main cause of budget overruns.\n\n## Summary\n\nIf you need one number to open a conversation with the board: **an internal system handling one process is around PLN 80,000 net and four months**. Everything above that depends on the number of roles, integrations, and how well the scope is described — not on how many screens the app has.\n\nIf you want a number you can defend to the board, you need a workshop on your own data and your own process. That's the only way a quote stops being a guess.\n",{"title":96,"description":386},{"loc":393},"blog\u002File-kosztuje-aplikacja-webowa",[399,400,401],"pricing","budget","mvp","cost-of-a-web-application","jhCI0ZJN6yMJqQD2Jbr2XiEVwicPPV8synd3rKHAvg4",1790522546200]