[{"data":1,"prerenderedAt":496},["ShallowReactive",2],{"navigation-en":3,"realizacje-slug-en-gdzieposztuke":94,"language-switcher-\u002Fen\u002Fcase-studies\u002Fgdzieposztuke":491},{"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,87],{"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",{"slug":88,"client":89,"tag":90,"year":91,"summary":92,"image":93},"gdzieposztuke","gdzieposztuke.pl","Own product",2026,"A service that gathers openings, exhibitions and concerts from gallery, museum and theatre websites and shows them on a map, nearest first.","\u002Fimg\u002Fscreenshots\u002Fgdzieposztuke-desktop.jpg",{"caseStudy":95,"relatedServices":195,"i18nSlugs":489,"next":490},{"id":96,"title":97,"body":98,"challenge":148,"client":89,"description":149,"extension":150,"features":151,"meta":158,"navigation":159,"order":160,"path":161,"relatedServices":162,"results":163,"screenshotDesktop":93,"screenshotMobile":170,"seo":171,"sequence":172,"sitemap":173,"slug":88,"solution":183,"stack":184,"stem":191,"summary":92,"tag":90,"url":192,"usedBy":193,"year":91,"__hash__":194},"caseStudiesEn\u002Fcase-studies\u002Fgdzieposztuke.md","gdzieposztuke.pl — cultural events on a map",{"type":99,"value":100,"toc":141},"minimark",[101,106,110,113,117,125,131,138],[102,103,105],"h2",{"id":104},"starting-point","Starting point",[107,108,109],"p",{},"News of an exhibition opening or a concert usually lives only on the website of the venue that runs it. To see what's on nearby, you have to know those venues and visit each one separately.",[107,111,112],{},"Most institutions, though, publish their programme in a form search engines read. The whole service is built on that.",[102,114,116],{"id":115},"what-we-did","What we did",[107,118,119,120,124],{},"The service from scratch: an API in NestJS on PostgreSQL and a server-rendered Nuxt frontend. Sources are pages with schema.org ",[121,122,123],"code",{},"Event"," data or iCalendar feeds. Every six hours connectors gather events from them, a classifier assigns the type and a geocoder finds the venue's coordinates. The same event from two sources is stored once.",[107,126,127,128,130],{},"The visitor's location goes into a cookie, so the server renders nearby events straight away. Filters live in the URL, so a result can be sent to someone. Every city and every event type has its own page for search, and every event carries ",[121,129,123],{}," structured data.",[107,132,133,134,137],{},"Each category has its colour in a glass orb rendered in WebGL. One shared context draws them all, only the visible ones animate, and with ",[121,135,136],{},"prefers-reduced-motion"," or without WebGL a CSS gradient stays in their place.",[107,139,140],{},"The editors work in a panel: they add sources with a preview of what the service will read from them, correct events (corrections survive the next gathering) and approve visitor submissions. Every change goes into a history with its before and after values.",{"title":142,"searchDepth":143,"depth":143,"links":144},"",3,[145,147],{"id":104,"depth":146,"text":105},2,{"id":115,"depth":146,"text":116},"The programmes of galleries, museums, theatres and concert halls are scattered across dozens of websites, each with its own calendar. Anyone who wants to know what's on a few streets away today has to go through them one by one. The service had to bring it all into one place without anyone retyping programmes by hand.","An aggregator of openings, exhibitions and concerts: events gathered from gallery, museum and theatre websites, shown on a list and a map by distance.","md",[152,153,154,155,156,157],"Events gathered from schema.org data (JSON-LD) and iCalendar feeds","Eight event types, deduplication across sources, geocoding","A list and a map sorted by distance from the visitor (Leaflet, OpenStreetMap)","City and event-type pages for search, generated from the data","Subscribable calendars and a \"Weekend in the city\" newsletter","An editorial panel with accounts, visitor submissions and a change history",{},true,4,"\u002Fcase-studies\u002Fgdzieposztuke",[6,15,24],[164,167],{"metric":165,"label":166},"8","Event types — from openings to workshops",{"metric":168,"label":169},"every 6 h","Each source's programme gathered again, with no manual work","\u002Fimg\u002Fscreenshots\u002Fgdzieposztuke-mobile.jpg",{"title":97,"description":149},null,{"loc":174,"alternatives":175},"\u002Fen\u002Fcase-studies\u002Fgdzieposztuke",[176,179,181],{"hreflang":177,"href":178},"x-default","\u002Frealizacje\u002Fgdzieposztuke",{"hreflang":180,"href":178},"pl-PL",{"hreflang":182,"href":174},"en-US","We built an aggregator that, every few hours, reads the event data institutions publish for search engines and their calendar feeds, recognises the kind of event, removes duplicates and places each venue on the map. Visitors choose how far they're willing to go and when they're free, and see the rest on a list and a map.",[185,186,187,188,189,190],"Nuxt","NestJS","Prisma","PostgreSQL","Leaflet","Three.js","case-studies\u002Fgdzieposztuke","https:\u002F\u002Fgdzieposztuke.pl",[],"HR7uSFQCpDzzBtKgDxuGr_uV6WBWBBhduxCUqKjZdjI",[196,296,399],{"id":197,"title":198,"audience":199,"body":203,"description":226,"extension":150,"faq":227,"heroHeadline":9,"heroSubline":240,"keyword":241,"meta":242,"navGroup":8,"navLabel":7,"navigation":159,"order":243,"path":244,"pricingModels":245,"process":255,"relatedCase":71,"relatedPosts":271,"scope":273,"seo":286,"sitemap":287,"slug":6,"stem":294,"__hash__":295},"servicesEn\u002Fservices\u002Fweb-applications.md","Dedicated web applications",[200,201,202],"Companies whose core process still lives in spreadsheets and email","Teams paying for an off-the-shelf system they use 20% of","Organisations whose growth is blocked by tools that don't talk to each other",{"type":99,"value":204,"toc":222},[205,209,212,215,219],[102,206,208],{"id":207},"when-a-dedicated-application-makes-sense","When a dedicated application makes sense",[107,210,211],{},"An off-the-shelf system wins for as long as your process looks like everyone else's. Your competitive edge usually sits exactly where you do things differently — and that's precisely where boxed software starts getting in the way.",[107,213,214],{},"Signs it's time for your own system: the team keeps the \"real\" data in a spreadsheet next to the official tool, integration between systems means exporting to CSV, and every question about numbers costs an analyst a day.",[102,216,218],{"id":217},"what-we-wont-build","What we won't build",[107,220,221],{},"We don't build systems that can be assembled from off-the-shelf blocks. If the workshop shows that an existing tool plus two integrations is enough, we'll say so directly — it's cheaper for you and more honest toward both sides.",{"title":142,"searchDepth":143,"depth":143,"links":223},[224,225],{"id":207,"depth":146,"text":208},{"id":217,"depth":146,"text":218},"We build B2B systems, client portals and SaaS platforms shaped around your process, not a template. Quote within 3 business days.",[228,231,234,237],{"q":229,"a":230},"How much does a dedicated web application cost?","A simple internal system starts around PLN 60–90k net. A platform with multiple roles, integrations and a client portal is usually PLN 150–400k. We give an exact figure after the discovery workshop, because without understanding the process any number is a guess.",{"q":232,"a":233},"Who owns the code?","You do. We hand over the repository along with the proprietary rights in the contract. We don't license our own engine or use any other lock-in mechanism.",{"q":235,"a":236},"What happens if we end the engagement?","You get the repository, deployment documentation and infrastructure on your own accounts. The project is built to be handed to another team without needing our consent.",{"q":238,"a":239},"How long does building an MVP take?","From the workshop to the first production version, usually 3–5 months. Faster if the scope can be limited to a single process.","When spreadsheets stop being enough, and an off-the-shelf system forces you to change how you work, custom software is what's left.","dedicated web applications",{},1,"\u002Fservices\u002Fweb-applications",[246,249,252],{"name":247,"body":248},"Fixed price","For projects with a closed scope after the discovery workshop. You know the amount and the deadline before you start.",{"name":250,"body":251},"Time & material","For products that will evolve during the build. Billed for actual time, scope set iteratively.",{"name":253,"body":254},"Dedicated team","A standing team on your side, billed monthly. Makes sense for development that runs for quarters, not weeks.",[256,259,263,267],{"step":45,"duration":257,"body":258},"1–2 weeks","We map the process, define the MVP scope, and leave with a timeline and a quote.",{"step":260,"duration":261,"body":262},"Design and prototype","2–3 weeks","A clickable prototype of the key screens, so the idea gets validated before any code is written.",{"step":264,"duration":265,"body":266},"Build","8–16 weeks","Two-week iterations, each ending with a working version on a test environment.",{"step":268,"duration":269,"body":270},"Rollout and care","ongoing","Migration, training, monitoring and development on retainer.",[272],"ile-kosztuje-aplikacja-webowa",[274,277,280,283],{"title":275,"body":276},"Process analysis and data model","Before the first screen exists, we document how the company actually works. This stage decides whether the system shortens the work or just adds another window to click through.",{"title":278,"body":279},"Interface built for daily use","Designed for people who'll spend eight hours a day in the system — keyboard shortcuts, bulk actions, sensible defaults.",{"title":281,"body":282},"Backend and API","Business logic, permissions, change auditing and an API ready to plug other systems into.",{"title":284,"body":285},"Rollout and data migration","We migrate data from spreadsheets and legacy systems, train the team, and stay close during the first weeks in production.",{"title":198,"description":226},{"loc":288,"alternatives":289},"\u002Fen\u002Fservices\u002Fweb-applications",[290,292,293],{"hreflang":177,"href":291},"\u002Fuslugi\u002Faplikacje-webowe",{"hreflang":180,"href":291},{"hreflang":182,"href":288},"services\u002Fweb-applications","6i-zLSV7ljanjtVOR8hvLNYf-VzNtIGQsk4ZtAhb7dw",{"id":297,"title":298,"audience":299,"body":303,"description":326,"extension":150,"faq":327,"heroHeadline":18,"heroSubline":340,"keyword":341,"meta":342,"navGroup":17,"navLabel":16,"navigation":159,"order":143,"path":343,"pricingModels":344,"process":354,"relatedCase":71,"relatedPosts":371,"scope":373,"seo":389,"sitemap":390,"slug":15,"stem":397,"__hash__":398},"servicesEn\u002Fservices\u002Fintegrations-and-api.md","System integrations and APIs",[300,301,302],"Companies where the same information is entered by hand into two systems","Online stores whose stock levels drift out of sync","Taxpayers who must issue invoices through KSeF and have no mechanism for it",{"type":99,"value":304,"toc":322},[305,309,312,315,319],[102,306,308],{"id":307},"integration-isnt-a-one-off-project","Integration isn't a one-off project",[107,310,311],{},"Connecting two systems can be done in a week. Keeping it running for three years, through API changes on both sides, version migrations and seasonal volume spikes, is a completely different task — and that's what actually determines the real cost.",[107,313,314],{},"That's why we design every exchange assuming it will eventually break: retry queues, idempotent operations, an event log and alerts. An integration without that works great until the first exception.",[102,316,318],{"id":317},"ksef-without-panic","KSeF without panic",[107,320,321],{},"The e-invoice obligation turned integration from an option into a necessity. If you have your own sales system, you don't need to replace it — you need a layer that translates your invoices into the structured format, sends them, handles rejections, and archives the confirmations.",{"title":142,"searchDepth":143,"depth":143,"links":323},[324,325],{"id":307,"depth":146,"text":308},{"id":317,"depth":146,"text":318},"We connect ERP, CRM, e-commerce and wholesale systems into one data flow. We implement KSeF and build APIs you can rely on.",[328,331,334,337],{"q":329,"a":330},"How much does connecting two systems cost?","A simple connection through a well-documented API is usually PLN 8–20k net. Integrating with a system that has no API, requiring work on files or the database directly, can cost several times more — because the difficulty sits on that system's side, not ours.",{"q":332,"a":333},"What if my system has no API?","What's left is exchange files, database access, or interface automation. Each of those is worse than an API, and we say so directly, because it affects maintenance cost.",{"q":335,"a":336},"How long does a KSeF rollout take?","For a company with its own sales system, usually 3–6 weeks, including testing on the Ministry of Finance's pre-production environment.",{"q":338,"a":339},"What happens when an integration stops working?","Monitoring detects the gap in the exchange and sends an alert. Unprocessed documents wait in a queue and go through once the connection is restored — nothing disappears silently.","The most expensive integration is the one a person performs — copying data from one window to another, every day, with mistakes.","system integration",{},"\u002Fservices\u002Fintegrations-and-api",[345,348,351],{"name":346,"body":347},"Fixed price per integration","A single connection with a known scope — the most common model.",{"name":349,"body":350},"Integration bundle","Several systems at once, quoted together, with a lower rate per additional connection.",{"name":352,"body":353},"SLA retainer","Maintaining working integrations with a guaranteed response time for outages.",[355,359,363,367],{"step":356,"duration":357,"body":358},"System inventory","3–5 days","What needs to talk to what, in which direction, how often, and which system is the source of truth for each field.",{"step":360,"duration":361,"body":362},"Exchange design","1 week","Field mapping, conflict rules, error handling and volumes.",{"step":364,"duration":365,"body":366},"Rollout","2–8 weeks","Depending on the number of systems and whether they expose a reasonable API.",{"step":368,"duration":369,"body":370},"Observation","1 month","We run in production with heightened monitoring before handing off to maintenance.",[372],"ksef-integracja-systemu-firmowego",[374,377,380,383,386],{"title":375,"body":376},"ERP and accounting integrations","Documents, contacts and payments flow automatically, with error handling and a retry queue instead of records silently going missing.",{"title":378,"body":379},"E-commerce and marketplaces","Stock, prices, orders and shipping statuses synced both ways, with conflict resolution.",{"title":381,"body":382},"KSeF rollout","Issuing and receiving structured invoices, authentication, rejection handling and UPO archiving.",{"title":384,"body":385},"Custom APIs","We design and document APIs your partners and clients can plug into without your involvement.",{"title":387,"body":388},"Data exchange monitoring","An alert when synchronisation stops working — before you hear about it from a client.",{"title":298,"description":326},{"loc":391,"alternatives":392},"\u002Fen\u002Fservices\u002Fintegrations-and-api",[393,395,396],{"hreflang":177,"href":394},"\u002Fuslugi\u002Fintegracje-i-api",{"hreflang":180,"href":394},{"hreflang":182,"href":391},"services\u002Fintegrations-and-api","n1j28IOWWWSC0C0MOL_WuQ1u6Fwc7MmprwrJP06AKGM",{"id":400,"title":401,"audience":402,"body":406,"description":421,"extension":150,"faq":422,"heroHeadline":26,"heroSubline":435,"keyword":436,"meta":437,"navGroup":17,"navLabel":25,"navigation":159,"order":438,"path":439,"pricingModels":440,"process":447,"relatedCase":83,"relatedPosts":461,"scope":463,"seo":479,"sitemap":480,"slug":24,"stem":487,"__hash__":488},"servicesEn\u002Fservices\u002Fprocess-automation.md","Business process automation",[403,404,405],"Teams spending days on reports that get built the same way every month","Companies where approving a document means an email chain","Organisations hiring more people to do work a rule could do",{"type":99,"value":407,"toc":418},[408,412,415],[102,409,411],{"id":410},"automation-starts-with-a-spreadsheet-of-hours","Automation starts with a spreadsheet of hours",[107,413,414],{},"Before we write anything, we want to know how many times a month the process runs and how long it takes each time. That number tells us how much is reasonable to spend on automating it — and whether it's worth it at all.",[107,416,417],{},"Surprisingly often, the process that annoys everyone costs four hours a month — and the one nobody talks about, because \"it's always been done that way,\" eats two full-time roles.",{"title":142,"searchDepth":143,"depth":143,"links":419},[420],{"id":410,"depth":146,"text":411},"We remove repetitive manual work — document flows, reports, retyping data between systems. We start with the process that costs the most hours.",[423,426,429,432],{"q":424,"a":425},"Which process should we start with?","The one performed most often with the fewest exceptions — not the most annoying one. Annoyance and cost are two different things, and automating a process full of exceptions can end up more expensive than doing it by hand.",{"q":427,"a":428},"Does automation mean layoffs?","In practice, usually not. What disappears is work nobody wanted to do, and the team takes on things there was never time for before. If the goal is headcount reduction, we'll say honestly whether a given process can carry that.",{"q":430,"a":431},"How long until it pays for itself?","With a well-chosen process, usually 6–12 months. That's why we start by counting hours — without that, it's guesswork.",{"q":433,"a":434},"How is this different from off-the-shelf no-code tools?","It isn't, if your process fits what they can do — then we'll point you to a tool instead of writing code. The difference shows up with rules those tools can't express, and at volumes where they start getting expensive.","Every company has a few processes that eat up a full-time role and amount to moving information from one place to another.","business process automation",{},5,"\u002Fservices\u002Fprocess-automation",[441,444],{"name":442,"body":443},"Fixed price per process","One process, known scope, known price. The most common and safest model.",{"name":445,"body":446},"Automation retainer","A fixed monthly pool of hours for further automations, for companies that want to go process by process.",[448,451,454,457],{"step":449,"duration":361,"body":450},"Audit and process selection","We review the candidates and pick the one with the best savings-to-difficulty ratio.",{"step":452,"duration":257,"body":453},"Rule design","We write down the edge cases and exceptions. They decide success, not the happy path.",{"step":364,"duration":455,"body":456},"2–6 weeks","The automation runs alongside the manual process, so results can be compared.",{"step":458,"duration":459,"body":460},"Switchover and expansion","2–4 weeks","We turn off the manual version and move on to the next process.",[462],"wdrozenie-ai-w-firmie-od-czego-zaczac",[464,467,470,473,476],{"title":465,"body":466},"Process map and hour count","We start by counting how much time the process costs today. Without that number, there's no way to judge whether automating it pays off.",{"title":468,"body":469},"Document and approval flows","Requests, orders and invoices with approval rules, reminders and a decision history.",{"title":471,"body":472},"Automatically generated reports","The summaries a person compiles today, built by themselves and delivered wherever they need to land.",{"title":474,"body":475},"Data synchronisation","No more retyping the same record into three systems.",{"title":477,"body":478},"Notifications and escalations","The system watches deadlines instead of a person who has to remember them.",{"title":401,"description":421},{"loc":481,"alternatives":482},"\u002Fen\u002Fservices\u002Fprocess-automation",[483,485,486],{"hreflang":177,"href":484},"\u002Fuslugi\u002Fautomatyzacja-procesow",{"hreflang":180,"href":484},{"hreflang":182,"href":481},"services\u002Fprocess-automation","dWXLPn_QIMw3rILavszqeESlo1LijXwS70wlg6LmA0M",{"pl":88,"en":88},{"slug":71,"client":72,"tag":73,"summary":75},[492],{"code":493,"label":494,"name":495,"to":178},"pl","PL","Polish",1790890768956]