[{"data":1,"prerenderedAt":623},["ShallowReactive",2],{"navigation-en":3,"uslugi-slug-en-maintenance-and-support":87,"language-switcher-\u002Fen\u002Fservices\u002Fmaintenance-and-support":618},{"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",{"service":88,"relatedCase":199,"relatedPosts":315,"i18nSlugs":615,"subServices":617},{"id":89,"title":90,"audience":91,"body":95,"description":124,"extension":125,"faq":126,"heroHeadline":42,"heroSubline":139,"keyword":140,"meta":141,"navGroup":17,"navLabel":41,"navigation":142,"order":143,"path":144,"pricingModels":145,"process":155,"relatedCase":71,"relatedPosts":168,"scope":170,"seo":186,"sitemap":187,"slug":40,"stem":197,"__hash__":198},"servicesEn\u002Fservices\u002Fmaintenance-and-support.md","Application maintenance and development",[92,93,94],"Companies where one person maintains the system and everyone dreads their holiday","Organisations with no monitoring, finding out about outages from clients","Teams whose development has stalled because there's no one to ship changes",{"type":96,"value":97,"toc":117},"minimark",[98,103,107,110,114],[99,100,102],"h2",{"id":101},"the-most-common-outage-scenario","The most common outage scenario",[104,105,106],"p",{},"It isn't a spectacular breach or an attack. It's an expired certificate, a full disk, or a dependency update that changed behaviour somewhere nobody tested.",[104,108,109],{},"All three are cheap to catch in advance and expensive to learn about from a client on a Friday afternoon.",[99,111,113],{"id":112},"why-we-test-backups","Why we test backups",[104,115,116],{},"A backup nobody has ever restored is a hypothesis, not a safeguard. Once a quarter, we restore it on a test environment and check that the system actually comes up and the data checks out.",{"title":118,"searchDepth":119,"depth":119,"links":120},"",3,[121,123],{"id":101,"depth":122,"text":102},2,{"id":112,"depth":122,"text":113},"Post-launch care with a committed response time — monitoring, security updates and ongoing development on a retainer.","md",[127,130,133,136],{"q":128,"a":129},"Do you maintain systems you didn't build?","Yes, after an audit. The audit is needed to know what we're taking over and what response time we can honestly promise. Sometimes its outcome is a list of things to fix before care begins.",{"q":131,"a":132},"What does response time mean?","The time from a report to starting work on the problem, not to resolving it. A production outage is usually 4 business hours under the basic plan. Fix time depends on the cause, and no honest provider guarantees it upfront.",{"q":134,"a":135},"What if I don't use all my hours in a given month?","Unused hours roll over to the next month, up to one month's pool. They don't accumulate indefinitely — that turns a retainer into a bank of hours and breaks planning on both sides.",{"q":137,"a":138},"Can I cancel?","With one month's notice. On leaving, we hand over operational documentation and access — the project is built to be transferable.","Software doesn't break on its own, but the world around it keeps changing — libraries, browsers, regulations and traffic scale.","web application maintenance",{},true,9,"\u002Fservices\u002Fmaintenance-and-support",[146,149,152],{"name":147,"body":148},"Basic care","Monitoring, security updates and incident response. From PLN 2.5k net a month.",{"name":150,"body":151},"Care with development","The above plus a fixed pool of hours for changes. From PLN 8k net a month.",{"name":153,"body":154},"Extended SLA","Shorter response time, after-hours on-call. Quoted individually.",[156,160,164],{"step":157,"duration":158,"body":159},"System handover","1–2 weeks","We get to know the code and infrastructure, set up monitoring and check the backups.",{"step":161,"duration":162,"body":163},"Setting the SLA","1 meeting","Response time, maintenance window, escalation path and the list of decision-makers.",{"step":165,"duration":166,"body":167},"Ongoing care","ongoing","Monitoring, updates, development and a report at month's end.",[169],"ile-kosztuje-aplikacja-webowa",[171,174,177,180,183],{"title":172,"body":173},"Monitoring and incident response","Uptime, errors and performance watched around the clock, with an alert to us before your client notices.",{"title":175,"body":176},"Security updates","Dependencies updated regularly, critical vulnerabilities patched out of turn.",{"title":178,"body":179},"Backups and recovery","Backups taken automatically and periodically proven by an actual restore. An untested backup isn't a backup.",{"title":181,"body":182},"Development on retainer","A monthly pool of hours for changes and new features, without negotiating a separate contract every time.",{"title":184,"body":185},"Monthly report","What happened, what we updated, where the hours went, and what we recommend next.",{"title":90,"description":124},{"loc":188,"alternatives":189},"\u002Fen\u002Fservices\u002Fmaintenance-and-support",[190,193,195],{"hreflang":191,"href":192},"x-default","\u002Fuslugi\u002Futrzymanie-i-rozwoj",{"hreflang":194,"href":192},"pl-PL",{"hreflang":196,"href":188},"en-US","services\u002Fmaintenance-and-support","6eSWl4HFZWH41RSD83jHivvdkr3rsQ9G62IZkYrcjEo",{"id":200,"title":201,"body":202,"challenge":267,"client":72,"description":268,"extension":125,"features":269,"meta":276,"navigation":142,"order":277,"path":278,"relatedServices":279,"results":280,"screenshotDesktop":76,"screenshotMobile":284,"seo":285,"sequence":286,"sitemap":289,"slug":71,"solution":296,"stack":297,"stem":302,"summary":75,"tag":73,"url":303,"usedBy":304,"year":74,"__hash__":314},"caseStudiesEn\u002Fcase-studies\u002Fdss-by-caredo.md","DSS by Caredo — a product we build together with the Caredo team",{"type":96,"value":203,"toc":261},[204,208,211,214,218,234,241,245,248,252],[99,205,207],{"id":206},"starting-point","Starting point",[104,209,210],{},"DSS (Digital Service Station) is a system for car dealerships and service centres that takes the customer from the moment they pull into the car park to the moment they collect their car. A totem greets them and shows them where to park, a key locker takes the key without the front desk, a parts dispenser hands a mechanic the parts for a specific work order.",[104,212,213],{},"Each of those devices only makes sense if it knows who the customer is and which work order is in progress. That is the software's job — and that is the part we build together with Caredo.",[99,215,217],{"id":216},"what-we-build-together","What we build together",[104,219,220,221,225,226,229,230,233],{},"A ",[222,223,224],"strong",{},"CRM"," where the customer, their history and their work orders are one record. A ",[222,227,228],{},"planner"," where the schedule of visits and work orders is made. A ",[222,231,232],{},"key handover system",": the customer drops off or collects a key at any hour, and the system assigns it to the work order and logs every operation on its own.",[104,235,236,237,240],{},"On top of that, ",[222,238,239],{},"device integrations"," — external and internal key lockers, the parts dispenser, the tool dispenser and the parking totem — so that each one is part of a single process rather than a separate machine with its own database.",[99,242,244],{"id":243},"device-interfaces-for-brands","Device interfaces for brands",[104,246,247],{},"A Porsche customer shouldn't see the same key-locker screen as a Kia customer. For Mercedes-Benz, Porsche, Toyota and Kia dealers we build device interfaces in each brand's identity — screens the customer uses alone, with no member of staff beside them, so they have to make sense from the first touch.",[99,249,251],{"id":250},"how-we-work-together","How we work together",[104,253,254,255,260],{},"We're not the vendor of a single module. We work with the Caredo team on the whole product: when a new device is designed, its software and its integration with the rest of the system are built alongside it, not after the fact. The product website, dssbycaredo.com, we built separately — it's a ",[256,257,259],"a",{"href":258},"\u002Fen\u002Fcase-studies\u002Fdss-by-caredo-website","separate case study",".",{"title":118,"searchDepth":119,"depth":119,"links":262},[263,264,265,266],{"id":206,"depth":122,"text":207},{"id":216,"depth":122,"text":217},{"id":243,"depth":122,"text":244},{"id":250,"depth":122,"text":251},"Caredo designs devices for dealerships and service centres: key lockers, parts dispensers, parking totems. The hardware is half the product. The other half is the software that connects each device to the customer, the work order and the service team — and that has to look like the brand's showroom, not like a technical panel.","Together with the Caredo team we build the whole DSS product: the CRM, the planner, the key handover system, the integrations of the devices on site and the device interfaces for Mercedes-Benz, Porsche, Toyota and Kia dealers.",[270,271,272,273,274,275],"A CRM with customer history, work orders and permissions per branch and role","A planner for visits and service orders","A 24\u002F7 key drop-off and pickup system that assigns each key to its work order","Integrations for the key lockers, parts and tool dispensers and the parking totem","Customer-facing device interfaces in Mercedes-Benz, Porsche, Toyota and Kia identity","An analytics dashboard with real-time data",{},1,"\u002Fcase-studies\u002Fdss-by-caredo",[6,15,24],[281],{"metric":282,"label":283},"100%","System uptime",null,{"title":201,"description":268},{"path":287,"frames":288,"poster":76},"\u002Fimg\u002Fcase-studies\u002Fdss\u002Fkluczykomat\u002Fframe_",169,{"loc":290,"alternatives":291},"\u002Fen\u002Fcase-studies\u002Fdss-by-caredo",[292,294,295],{"hreflang":191,"href":293},"\u002Frealizacje\u002Fdss-by-caredo",{"hreflang":194,"href":293},{"hreflang":196,"href":290},"We work as part of the Caredo team: together we build the CRM, the planner, the key drop-off and pickup system and the integrations that bring every device into one system. For Mercedes-Benz, Porsche, Toyota and Kia dealers we design device interfaces in each brand's identity.",[298,299,300,301],"TypeScript","Nuxt","Node.js","PostgreSQL","case-studies\u002Fdss-by-caredo","https:\u002F\u002Fdssbycaredo.com",[305,306,307,308,309,310,311,312,313],"Mercedes-Benz","Porsche","Toyota","Kia","Audi","Cupra","Ford","Škoda","Volkswagen","MS9XoW0yDSBUBi4JOZJ4VQn87W5x7rIKYo99PuI8oSg",[316],{"id":317,"title":318,"author":319,"body":320,"category":598,"date":599,"description":600,"draft":601,"editorialNote":284,"extension":125,"image":602,"meta":603,"navigation":142,"path":604,"rawbody":605,"seo":606,"sitemap":607,"stem":608,"tags":609,"translationKey":613,"updated":284,"__hash__":614},"blogEn\u002Fblog\u002File-kosztuje-aplikacja-webowa.md","How much does a dedicated web application cost in 2026","zespol",{"type":96,"value":321,"toc":589},[322,333,336,340,407,410,414,417,451,455,461,467,473,479,485,491,497,501,504,530,534,544,547,551,557,563,569,575,579,586],[104,323,324,325,328,329,332],{},"A dedicated web application for a company costs, in Poland, anywhere from around ",[222,326,327],{},"PLN 60,000 net"," for a simple internal system to ",[222,330,331],{},"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.",[104,334,335],{},"Below I break those numbers down and show exactly what pushes a quote up.",[99,337,339],{"id":338},"price-ranges-by-project-type","Price ranges by project type",[341,342,343,359],"table",{},[344,345,346],"thead",{},[347,348,349,353,356],"tr",{},[350,351,352],"th",{},"Project type",[350,354,355],{},"Net range",[350,357,358],{},"Time to production",[360,361,362,374,385,396],"tbody",{},[347,363,364,368,371],{},[365,366,367],"td",{},"Internal tool, one process, one role",[365,369,370],{},"PLN 60–90k",[365,372,373],{},"3–4 months",[347,375,376,379,382],{},[365,377,378],{},"B2B system with a client portal and several roles",[365,380,381],{},"PLN 120–220k",[365,383,384],{},"5–8 months",[347,386,387,390,393],{},[365,388,389],{},"SaaS platform with subscriptions and multi-tenancy",[365,391,392],{},"PLN 250–400k",[365,394,395],{},"8–14 months",[347,397,398,401,404],{},[365,399,400],{},"Extending an existing system",[365,402,403],{},"PLN 15–60k per module",[365,405,406],{},"3–10 weeks",[104,408,409],{},"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.",[99,411,413],{"id":412},"where-the-money-actually-goes","Where the money actually goes",[104,415,416],{},"The cost breakdown for a typical mid-sized project looks like this:",[418,419,420,427,433,439,445],"ul",{},[421,422,423,426],"li",{},[222,424,425],{},"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.",[421,428,429,432],{},[222,430,431],{},"Backend and business logic — 35–40%."," Rules, permissions, integrations, performance.",[421,434,435,438],{},[222,436,437],{},"Interface — 25–30%."," The more roles and views, the more it costs. The admin panel is sometimes bigger than the client-facing part.",[421,440,441,444],{},[222,442,443],{},"Testing and rollout — 10–15%."," Environments, release automation, data migration.",[421,446,447,450],{},[222,448,449],{},"Buffer for the unknown — 10%."," Every project has one. Vendors who don't budget for it make it up in change orders instead.",[99,452,454],{"id":453},"seven-things-that-double-a-quote","Seven things that double a quote",[104,456,457,460],{},[222,458,459],{},"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.",[104,462,463,466],{},[222,464,465],{},"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.",[104,468,469,472],{},[222,470,471],{},"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.",[104,474,475,478],{},[222,476,477],{},"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.",[104,480,481,484],{},[222,482,483],{},"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.",[104,486,487,490],{},[222,488,489],{},"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.",[104,492,493,496],{},[222,494,495],{},"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.",[99,498,500],{"id":499},"what-a-quote-usually-doesnt-include","What a quote usually doesn't include",[104,502,503],{},"Vendors quote the cost of the build. You still need to budget for:",[418,505,506,512,518,524],{},[421,507,508,511],{},[222,509,510],{},"Maintenance"," — realistically 15–20% of the project's value per year. Monitoring, security updates, small fixes.",[421,513,514,517],{},[222,515,516],{},"Infrastructure"," — from a few hundred zloty a month for a simple system to several thousand at higher traffic.",[421,519,520,523],{},[222,521,522],{},"Content and photography"," — negligible for internal systems, potentially a significant line item for products with a public-facing part.",[421,525,526,529],{},[222,527,528],{},"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.",[99,531,533],{"id":532},"how-to-check-whether-a-quote-is-fair","How to check whether a quote is fair",[104,535,536,537,540,541,260],{},"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 ",[222,538,539],{},"what isn't",", and ",[222,542,543],{},"what happens to the price if an assumption doesn't hold",[104,545,546],{},"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.",[99,548,550],{"id":549},"how-to-lower-the-cost-without-lowering-quality","How to lower the cost without lowering quality",[104,552,553,556],{},[222,554,555],{},"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.",[104,558,559,562],{},[222,560,561],{},"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.",[104,564,565,568],{},[222,566,567],{},"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.",[104,570,571,574],{},[222,572,573],{},"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.",[99,576,578],{"id":577},"summary","Summary",[104,580,581,582,585],{},"If you need one number to open a conversation with the board: ",[222,583,584],{},"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.",[104,587,588],{},"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":118,"searchDepth":119,"depth":119,"links":590},[591,592,593,594,595,596,597],{"id":338,"depth":122,"text":339},{"id":412,"depth":122,"text":413},{"id":453,"depth":122,"text":454},{"id":499,"depth":122,"text":500},{"id":532,"depth":122,"text":533},{"id":549,"depth":122,"text":550},{"id":577,"depth":122,"text":578},"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,"\u002Fimg\u002Fblog\u002File-kosztuje-aplikacja-webowa.jpg",{},"\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":318,"description":600},{"loc":604},"blog\u002File-kosztuje-aplikacja-webowa",[610,611,612],"pricing","budget","mvp","cost-of-a-web-application","jhCI0ZJN6yMJqQD2Jbr2XiEVwicPPV8synd3rKHAvg4",{"pl":616,"en":40},"utrzymanie-i-rozwoj",[],[619],{"code":620,"label":621,"name":622,"to":192},"pl","PL","Polish",1790522544860]