{"id":18145,"date":"2026-11-03T12:50:32","date_gmt":"2026-11-03T19:50:32","guid":{"rendered":"https:\/\/allinonemarketingpro.com\/abbotsford\/services\/custom-software-development\/"},"modified":"2026-11-04T01:04:39","modified_gmt":"2026-11-04T08:04:39","slug":"custom-software-development","status":"publish","type":"page","link":"https:\/\/allinonemarketingpro.com\/abbotsford\/services\/custom-software-development\/","title":{"rendered":"Custom Software Development"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"18145\" class=\"elementor elementor-18145\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2024e7c e-con-full aio-page e-flex e-con e-parent\" data-id=\"2024e7c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6541447 elementor-widget elementor-widget-aio-service-hero\" data-id=\"6541447\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-hero.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<header style=\"background:#093346;color:#fff;padding:clamp(140px,16vw,210px) clamp(20px,4.5vw,64px) clamp(56px,7vw,96px)\"><div style=\"max-width:1312px;margin:0 auto;display:flex;flex-direction:column;gap:28px\">\n      <nav aria-label=\"Breadcrumb\" style=\"display:flex;flex-wrap:wrap;gap:10px;white-space:nowrap;font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.14em;color:#9FB3BE\"><a href=\"\/abbotsford\/services\/\" style=\"color:#9FB3BE;text-decoration:none\" class=\"h1f6476f\">DEVELOPMENT<\/a><span aria-hidden=\"true\">\/<\/span><span>TRADITIONAL SOFTWARE<\/span><\/nav>\n      <div style=\"display:flex;flex-wrap:wrap;gap:40px clamp(40px,6vw,96px);align-items:center\"><div style=\"flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:22px\"><h1 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(38px,4.8vw,72px);line-height:1;letter-spacing:-.03em;color:#fff;text-wrap:balance\">Custom software development in Abbotsford<\/h1><p style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:300;font-size:clamp(22px,2.2vw,32px);line-height:1.2;letter-spacing:-.01em;color:#fff;text-wrap:balance\">Your know-how, written into software your whole team can use.<\/p><p style=\"margin:0;max-width:640px;font-size:18px;line-height:1.6;color:#E4E9EC;text-wrap:pretty\">Custom software development takes the rules your business already follows and builds them into tools your team can use daily. We start by listening to how jobs really flow, then ship small working pieces you can test, correct and keep.<\/p><div style=\"display:flex;flex-wrap:wrap;gap:12px\"><a href=\"\/abbotsford\/start-a-project\/\" style=\"display:flex;align-items:center;min-height:56px;padding:0 28px;background:#E82400;color:#fff;font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;letter-spacing:.06em;text-decoration:none;white-space:nowrap\" class=\"hf3251d8\">REQUEST A FREE AUDIT<\/a><a href=\"#sv-pr\" style=\"display:flex;align-items:center;min-height:56px;padding:0 24px;border:1px solid #9FB3BE;color:#fff;font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;letter-spacing:.06em;text-decoration:none;white-space:nowrap\" class=\"he524528\">HOW WE HELP \u2193<\/a><\/div><p style=\"margin:0;font-size:14px;line-height:1.5;color:#9FB3BE\">Free audit, no obligation \u00b7 In-house team since 2015 \u00b7 Abbotsford studio<\/p><\/div><figure style=\"flex:1 1 400px;min-width:0;margin:0\"><img loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/11\/svc-custom-software-development.jpg 1400w, https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/11\/svc-custom-software-development-300x200.jpg 300w, https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/11\/svc-custom-software-development-1024x683.jpg 1024w, https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/11\/svc-custom-software-development-768x512.jpg 768w\" sizes=\"(max-width: 1400px) 100vw, 1400px\" src=\"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/11\/svc-custom-software-development.jpg\" alt=\"Two women looking at code on a computer screen together.\" width=\"1400\" height=\"1050\" style=\"display:block;width:100%;height:auto;aspect-ratio:4\/3;object-fit:cover;background:#0F4C68\"><\/figure><\/div>\n    <\/div><\/header>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6cd3147 elementor-widget elementor-widget-aio-service-problems\" data-id=\"6cd3147\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-problems.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-labelledby=\"sv-pr\" style=\"background:#F4F7F8;padding:clamp(56px,8vw,120px) clamp(20px,4.5vw,64px)\"><div data-rv=\"ip1\" style=\"max-width:1312px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(32px,4vw,48px)\"><div style=\"display:flex;flex-wrap:wrap;gap:20px 64px;justify-content:space-between;align-items:flex-end\"><div style=\"display:flex;flex-direction:column;gap:16px\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#45606F\">PROBLEMS WE SOLVE OFTEN<\/div><h2 id=\"sv-pr\" style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:-.03em;color:#093346\">Worries owners raise before commissioning custom software<\/h2><\/div><p style=\"margin:0;max-width:440px;font-size:17px;line-height:1.6;color:#2B4A5A\">Owners rarely worry about code. They worry about people, money and being stuck. Here is each concern in plain words, followed by what we do and what changes.<\/p><\/div>\n      <ol style=\"list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px\"><li style=\"display:flex;flex-direction:column;gap:18px;padding:clamp(24px,2.4vw,32px);background:#fff;border:1px solid #DCE3E7;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.00s, transform .75s cubic-bezier(.2,.7,.2,1) 0.00s, box-shadow .3s, border-color .3s\" class=\"he16b05b\"><span style=\"display:flex;justify-content:space-between;align-items:center\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;letter-spacing:.1em;color:#E82400\">01<\/span><span aria-hidden=\"true\" style=\"width:10px;height:10px;background:#E82400\"><\/span><\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(19px,1.6vw,22px);line-height:1.25;letter-spacing:-.01em;color:#093346;text-wrap:pretty\">\u201cOnly one person really knows how we price a job.\u201d<\/h3><span style=\"display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:16px;border-top:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;font-size:12px;color:#45606F\">WHAT WE DO<\/span><span style=\"font-size:15px;line-height:1.55;color:#2B4A5A\">We interview that person, then sit in on real quotes. We write each rule in plain language, turn them into a rate table your office can edit, and test the software against past jobs until its answers match yours.<\/span><\/span><span style=\"display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#F4F7F8;border-left:3px solid #E82400\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:12px;letter-spacing:.2em;color:#45606F\">WHAT CHANGES<\/span><span style=\"font-size:15px;line-height:1.55;font-weight:600;color:#093346\">The knowledge stays with the business, and a holiday no longer stalls the quote desk.<\/span><\/span><\/li><li style=\"display:flex;flex-direction:column;gap:18px;padding:clamp(24px,2.4vw,32px);background:#fff;border:1px solid #DCE3E7;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.08s, transform .75s cubic-bezier(.2,.7,.2,1) 0.08s, box-shadow .3s, border-color .3s\" class=\"he16b05b\"><span style=\"display:flex;justify-content:space-between;align-items:center\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;letter-spacing:.1em;color:#E82400\">02<\/span><span aria-hidden=\"true\" style=\"width:10px;height:10px;background:#E82400\"><\/span><\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(19px,1.6vw,22px);line-height:1.25;letter-spacing:-.01em;color:#093346;text-wrap:pretty\">\u201cI'm afraid we will pay for software and end up locked out.\u201d<\/h3><span style=\"display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:16px;border-top:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;font-size:12px;color:#45606F\">WHAT WE DO<\/span><span style=\"font-size:15px;line-height:1.55;color:#2B4A5A\">The source code lives in a repository under your own account, alongside plain-language documentation and automated tests on the important rules. We finish with a handover session so any competent developer, or your own staff, can continue.<\/span><\/span><span style=\"display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#F4F7F8;border-left:3px solid #E82400\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:12px;letter-spacing:.2em;color:#45606F\">WHAT CHANGES<\/span><span style=\"font-size:15px;line-height:1.55;font-weight:600;color:#093346\">You hold the keys, so staying with us becomes a choice and not a trap.<\/span><\/span><\/li><li style=\"display:flex;flex-direction:column;gap:18px;padding:clamp(24px,2.4vw,32px);background:#fff;border:1px solid #DCE3E7;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.16s, transform .75s cubic-bezier(.2,.7,.2,1) 0.16s, box-shadow .3s, border-color .3s\" class=\"he16b05b\"><span style=\"display:flex;justify-content:space-between;align-items:center\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;letter-spacing:.1em;color:#E82400\">03<\/span><span aria-hidden=\"true\" style=\"width:10px;height:10px;background:#E82400\"><\/span><\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(19px,1.6vw,22px);line-height:1.25;letter-spacing:-.01em;color:#093346;text-wrap:pretty\">\u201cMy team will ignore anything new that makes their day harder.\u201d<\/h3><span style=\"display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:16px;border-top:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;font-size:12px;color:#45606F\">WHAT WE DO<\/span><span style=\"font-size:15px;line-height:1.55;color:#2B4A5A\">We spend time beside the people who will use it, build screens around their real routine instead of a tidy diagram, and put each release in their hands on real work before anything is switched on.<\/span><\/span><span style=\"display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#F4F7F8;border-left:3px solid #E82400\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:12px;letter-spacing:.2em;color:#45606F\">WHAT CHANGES<\/span><span style=\"font-size:15px;line-height:1.55;font-weight:600;color:#093346\">The people who use it have already shaped it, so the first day feels familiar.<\/span><\/span><\/li><li style=\"display:flex;flex-direction:column;gap:18px;padding:clamp(24px,2.4vw,32px);background:#fff;border:1px solid #DCE3E7;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.24s, transform .75s cubic-bezier(.2,.7,.2,1) 0.24s, box-shadow .3s, border-color .3s\" class=\"he16b05b\"><span style=\"display:flex;justify-content:space-between;align-items:center\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;letter-spacing:.1em;color:#E82400\">04<\/span><span aria-hidden=\"true\" style=\"width:10px;height:10px;background:#E82400\"><\/span><\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(19px,1.6vw,22px);line-height:1.25;letter-spacing:-.01em;color:#093346;text-wrap:pretty\">\u201cA big software build sounds like a big risk for us.\u201d<\/h3><span style=\"display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:16px;border-top:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;font-size:12px;color:#45606F\">WHAT WE DO<\/span><span style=\"font-size:15px;line-height:1.55;color:#2B4A5A\">We split the work into small releases, starting with the single task that costs you the most time. Each piece goes live, gets used and gets corrected before the next one starts, so spending follows proven value.<\/span><\/span><span style=\"display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#F4F7F8;border-left:3px solid #E82400\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:12px;letter-spacing:.2em;color:#45606F\">WHAT CHANGES<\/span><span style=\"font-size:15px;line-height:1.55;font-weight:600;color:#093346\">You can stop, pause or redirect after any release without losing what is already working.<\/span><\/span><\/li><\/ol>\n    <\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b836984 elementor-widget elementor-widget-aio-service-why\" data-id=\"b836984\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-why.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-labelledby=\"sv-why\" style=\"background:#fff;padding:clamp(56px,8vw,120px) clamp(20px,4.5vw,64px)\"><div data-rv=\"ip5\" style=\"max-width:1312px;margin:0 auto;display:flex;flex-wrap:wrap;gap:40px clamp(40px,7vw,112px);align-items:flex-start\">\n      <div data-unpin style=\"flex:1 1 380px;display:flex;flex-direction:column;gap:20px;position:sticky;top:96px;opacity:1;transform:translateY(0px);transition:opacity .7s ease, transform .8s cubic-bezier(.2,.7,.2,1)\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#45606F\">WHY IT MATTERS<\/div><h2 id=\"sv-why\" style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(32px,4.4vw,64px);line-height:.98;letter-spacing:-.035em;color:#093346;text-wrap:balance\">Software should follow your rules, not replace your judgment.<\/h2><span aria-hidden=\"true\" style=\"width:56px;height:4px;background:#E82400\"><\/span><\/div>\n      <div style=\"flex:1.3 1 460px;display:flex;flex-direction:column;gap:28px\">\n        <p style=\"margin:0;font-size:clamp(17px,1.4vw,20px);line-height:1.65;color:#2B4A5A;text-wrap:pretty;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.08s, transform .75s cubic-bezier(.2,.7,.2,1) 0.08s, box-shadow .3s, border-color .3s\">Every business has rules that never made it into a manual: how a rush job is priced, which crew can handle which site, what has to be recorded before a lot ships. In a valley of farms, trades shops, clinics and workshops those rules often live with one experienced person. Custom software writes them down, applies them the same way every time and shows where an exception needs a human.<\/p><p style=\"margin:0;font-size:clamp(17px,1.4vw,20px);line-height:1.65;color:#2B4A5A;text-wrap:pretty;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.16s, transform .75s cubic-bezier(.2,.7,.2,1) 0.16s, box-shadow .3s, border-color .3s\">The emphasis here is on the logic underneath, not the screens on top. Custom software can run behind the scenes: scheduled calculations, import jobs, document and label generation, checks that stop a bad entry before it spreads. We write the rules out with you in plain language, test them against real past jobs, and only then build the screens around them.<\/p>\n        <div style=\"display:flex;flex-direction:column;gap:0;background:#F4F7F8;padding:clamp(22px,2.4vw,32px)\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;font-size:12px;color:#45606F;padding-bottom:14px;border-bottom:1px solid #DCE3E7\">SIGNS IT'S TIME FOR HELP<\/div><ul style=\"list-style:none;margin:0;padding:0;display:flex;flex-direction:column\"><li style=\"display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:baseline;padding:14px 0;border-bottom:1px solid #DCE3E7;font-family:Montserrat,MontserratFb;font-weight:700;font-size:16px;line-height:1.4;color:#093346;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.16s, transform .75s cubic-bezier(.2,.7,.2,1) 0.16s, box-shadow .3s, border-color .3s\"><span aria-hidden=\"true\" style=\"width:10px;height:10px;border:2px solid #E82400\"><\/span><span>Only one person really knows how jobs are priced<\/span><\/li><li style=\"display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:baseline;padding:14px 0;border-bottom:1px solid #DCE3E7;font-family:Montserrat,MontserratFb;font-weight:700;font-size:16px;line-height:1.4;color:#093346;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.24s, transform .75s cubic-bezier(.2,.7,.2,1) 0.24s, box-shadow .3s, border-color .3s\"><span aria-hidden=\"true\" style=\"width:10px;height:10px;border:2px solid #E82400\"><\/span><span>Staff keep a private spreadsheet beside the official system<\/span><\/li><li style=\"display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:baseline;padding:14px 0;border-bottom:1px solid #DCE3E7;font-family:Montserrat,MontserratFb;font-weight:700;font-size:16px;line-height:1.4;color:#093346;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.32s, transform .75s cubic-bezier(.2,.7,.2,1) 0.32s, box-shadow .3s, border-color .3s\"><span aria-hidden=\"true\" style=\"width:10px;height:10px;border:2px solid #E82400\"><\/span><span>Your package handles everything except the step that matters<\/span><\/li><\/ul><\/div>\n      <\/div>\n    <\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2fe02f9 elementor-widget elementor-widget-aio-service-benefits\" data-id=\"2fe02f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-benefits.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-labelledby=\"sv-ben\" style=\"background:#fff;padding:clamp(56px,8vw,120px) clamp(20px,4.5vw,64px)\"><div data-rv=\"ip6\" style=\"max-width:1312px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(32px,4vw,56px)\">\n      <div style=\"display:flex;flex-wrap:wrap;gap:20px 64px;justify-content:space-between;align-items:flex-end\"><div style=\"display:flex;flex-direction:column;gap:16px\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#45606F\">BENEFITS<\/div><h2 id=\"sv-ben\" style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:-.03em;color:#093346\">What custom software gives a growing valley business<\/h2><\/div><p style=\"margin:0;max-width:420px;font-size:17px;line-height:1.6;color:#2B4A5A\">How things look once the marketing is done right.<\/p><\/div>\n      <ol style=\"list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:0 40px;border-top:2px solid #093346\"><li style=\"display:flex;flex-direction:column;gap:12px;padding:28px 0;border-bottom:1px solid #DCE3E7;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.00s, transform .75s cubic-bezier(.2,.7,.2,1) 0.00s, box-shadow .3s, border-color .3s\"><span style=\"display:flex;align-items:center;gap:12px\"><span style=\"width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#E82400;color:#fff;font-family:Montserrat,MontserratFb;font-weight:800;font-size:16px\" aria-hidden=\"true\">\u2713<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;letter-spacing:.1em;color:#45606F\">01<\/span><\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(20px,1.7vw,24px);line-height:1.2;letter-spacing:-.01em;color:#093346\">Rules applied the same way<\/h3><p style=\"margin:0;font-size:16px;line-height:1.6;color:#2B4A5A\">Pricing, scheduling and approval logic runs identically for every job, so customers get consistent answers whoever happens to be at the desk.<\/p><\/li><li style=\"display:flex;flex-direction:column;gap:12px;padding:28px 0;border-bottom:1px solid #DCE3E7;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.08s, transform .75s cubic-bezier(.2,.7,.2,1) 0.08s, box-shadow .3s, border-color .3s\"><span style=\"display:flex;align-items:center;gap:12px\"><span style=\"width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#E82400;color:#fff;font-family:Montserrat,MontserratFb;font-weight:800;font-size:16px\" aria-hidden=\"true\">\u2713<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;letter-spacing:.1em;color:#45606F\">02<\/span><\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(20px,1.7vw,24px);line-height:1.2;letter-spacing:-.01em;color:#093346\">Fewer side spreadsheets<\/h3><p style=\"margin:0;font-size:16px;line-height:1.6;color:#2B4A5A\">Because the software mirrors your real steps, staff stop keeping side files, and the information you rely on lives in one place.<\/p><\/li><li style=\"display:flex;flex-direction:column;gap:12px;padding:28px 0;border-bottom:1px solid #DCE3E7;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.16s, transform .75s cubic-bezier(.2,.7,.2,1) 0.16s, box-shadow .3s, border-color .3s\"><span style=\"display:flex;align-items:center;gap:12px\"><span style=\"width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#E82400;color:#fff;font-family:Montserrat,MontserratFb;font-weight:800;font-size:16px\" aria-hidden=\"true\">\u2713<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;letter-spacing:.1em;color:#45606F\">03<\/span><\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(20px,1.7vw,24px);line-height:1.2;letter-spacing:-.01em;color:#093346\">A tool that fits your trade<\/h3><p style=\"margin:0;font-size:16px;line-height:1.6;color:#2B4A5A\">Farm packing lines, field crews, treatment rooms and job sites all work differently; the screens and fields match your vocabulary, not a generic template.<\/p><\/li><li style=\"display:flex;flex-direction:column;gap:12px;padding:28px 0;border-bottom:1px solid #DCE3E7;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.24s, transform .75s cubic-bezier(.2,.7,.2,1) 0.24s, box-shadow .3s, border-color .3s\"><span style=\"display:flex;align-items:center;gap:12px\"><span style=\"width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#E82400;color:#fff;font-family:Montserrat,MontserratFb;font-weight:800;font-size:16px\" aria-hidden=\"true\">\u2713<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;letter-spacing:.1em;color:#45606F\">04<\/span><\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(20px,1.7vw,24px);line-height:1.2;letter-spacing:-.01em;color:#093346\">Software that can keep growing<\/h3><p style=\"margin:0;font-size:16px;line-height:1.6;color:#2B4A5A\">New rules, products or locations are added as small changes to code you already control, not as a rebuild or a new subscription tier.<\/p><\/li><\/ol>\n    <\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2acfbf6 elementor-widget elementor-widget-aio-service-includes\" data-id=\"2acfbf6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-includes.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-labelledby=\"sv-inc\" style=\"background:#fff;padding:clamp(56px,8vw,120px) clamp(20px,4.5vw,64px)\"><div style=\"max-width:1312px;margin:0 auto;display:flex;flex-wrap:wrap;gap:32px clamp(40px,6vw,96px)\">\n      <div style=\"flex:1 1 300px;display:flex;flex-direction:column;gap:16px\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#45606F\">WHAT\u2019S INCLUDED<\/div><h2 id=\"sv-inc\" style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:-.03em;color:#093346\">What you receive with custom software development<\/h2><\/div>\n      <ol style=\"flex:2 1 560px;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:0 40px;border-top:1px solid #093346\"><li style=\"display:flex;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;color:#E82400\">01<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:18px;line-height:1.35;color:#093346\">Rules and workflow mapping sessions<\/span><\/li><li style=\"display:flex;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;color:#E82400\">02<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:18px;line-height:1.35;color:#093346\">A prototype you test before building<\/span><\/li><li style=\"display:flex;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;color:#E82400\">03<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:18px;line-height:1.35;color:#093346\">Back-office tools and admin screens<\/span><\/li><li style=\"display:flex;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;color:#E82400\">04<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:18px;line-height:1.35;color:#093346\">Data import from your spreadsheets<\/span><\/li><li style=\"display:flex;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;color:#E82400\">05<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:18px;line-height:1.35;color:#093346\">Reports and scheduled background jobs<\/span><\/li><li style=\"display:flex;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;color:#E82400\">06<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:18px;line-height:1.35;color:#093346\">Automated tests and written documentation<\/span><\/li><li style=\"display:flex;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;color:#E82400\">07<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:18px;line-height:1.35;color:#093346\">Source code in your own repository<\/span><\/li><li style=\"display:flex;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;color:#E82400\">08<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:18px;line-height:1.35;color:#093346\">Handover and training for staff<\/span><\/li><\/ol>\n    <\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-202feb5 elementor-widget elementor-widget-aio-service-tech\" data-id=\"202feb5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-tech.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-labelledby=\"sv-tech\" style=\"background:#093346;color:#fff;padding:clamp(56px,8vw,112px) clamp(20px,4.5vw,64px)\"><div style=\"max-width:1312px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)\">\n      <div style=\"display:flex;flex-wrap:wrap;gap:24px clamp(40px,6vw,96px);align-items:flex-start\">\n        <div style=\"flex:1 1 300px;display:flex;flex-direction:column;gap:16px\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#9FB3BE\">TECHNOLOGY<\/div><h2 id=\"sv-tech\" style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:-.03em;color:#fff\">The tools in our toolkit.<\/h2><\/div>\n        <ul style=\"flex:2 1 520px;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start\"><li style=\"display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid rgba(228,233,236,.3);font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#fff;transition:border-color .2s, background .2s\" class=\"had152b4\"><span aria-hidden=\"true\" style=\"width:6px;height:6px;background:#E82400\"><\/span>React<\/li><li style=\"display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid rgba(228,233,236,.3);font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#fff;transition:border-color .2s, background .2s\" class=\"had152b4\"><span aria-hidden=\"true\" style=\"width:6px;height:6px;background:#E82400\"><\/span>Node.js<\/li><li style=\"display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid rgba(228,233,236,.3);font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#fff;transition:border-color .2s, background .2s\" class=\"had152b4\"><span aria-hidden=\"true\" style=\"width:6px;height:6px;background:#E82400\"><\/span>Laravel<\/li><li style=\"display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid rgba(228,233,236,.3);font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#fff;transition:border-color .2s, background .2s\" class=\"had152b4\"><span aria-hidden=\"true\" style=\"width:6px;height:6px;background:#E82400\"><\/span>PostgreSQL<\/li><li style=\"display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid rgba(228,233,236,.3);font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#fff;transition:border-color .2s, background .2s\" class=\"had152b4\"><span aria-hidden=\"true\" style=\"width:6px;height:6px;background:#E82400\"><\/span>Docker<\/li><li style=\"display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid rgba(228,233,236,.3);font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#fff;transition:border-color .2s, background .2s\" class=\"had152b4\"><span aria-hidden=\"true\" style=\"width:6px;height:6px;background:#E82400\"><\/span>AWS<\/li><\/ul>\n      <\/div>\n      <div style=\"display:flex;flex-direction:column;gap:20px;border-top:1px solid rgba(228,233,236,.2);padding-top:clamp(32px,4vw,48px)\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#9FB3BE\">HOW YOU CAN WORK WITH US<\/div>\n        <ol style=\"list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px\"><li style=\"display:flex;flex-direction:column;gap:12px;padding:28px;background:rgba(255,255,255,.04);border:1px solid rgba(228,233,236,.2);transition:border-color .2s, transform .25s\" class=\"h6231148\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:300;font-size:34px;line-height:1;color:#9FB3BE\">01<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:800;font-size:21px;color:#fff\">Fixed-scope project<\/span><span style=\"font-size:15px;line-height:1.55;color:#E4E9EC\">Scope, schedule and price set up front. Suits MVPs, websites and builds with clear requirements.<\/span><\/li><li style=\"display:flex;flex-direction:column;gap:12px;padding:28px;background:rgba(255,255,255,.04);border:1px solid rgba(228,233,236,.2);transition:border-color .2s, transform .25s\" class=\"h6231148\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:300;font-size:34px;line-height:1;color:#9FB3BE\">02<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:800;font-size:21px;color:#fff\">Dedicated team<\/span><span style=\"font-size:15px;line-height:1.55;color:#E4E9EC\">Developers, designers and testers join your team on a monthly arrangement.<\/span><\/li><li style=\"display:flex;flex-direction:column;gap:12px;padding:28px;background:rgba(255,255,255,.04);border:1px solid rgba(228,233,236,.2);transition:border-color .2s, transform .25s\" class=\"h6231148\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:300;font-size:34px;line-height:1;color:#9FB3BE\">03<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:800;font-size:21px;color:#fff\">Support retainer<\/span><span style=\"font-size:15px;line-height:1.55;color:#E4E9EC\">Regular upkeep, upgrades and improvements, with response times agreed in advance.<\/span><\/li><\/ol>\n      <\/div>\n    <\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a97410e elementor-widget elementor-widget-aio-service-steps\" data-id=\"a97410e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-steps.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-labelledby=\"sv-how\" style=\"background:#093346;color:#fff;padding:clamp(56px,8vw,120px) clamp(20px,4.5vw,64px)\"><div data-rv=\"ip2\" style=\"max-width:1312px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(32px,4vw,56px)\"><div style=\"display:flex;flex-wrap:wrap;gap:20px 64px;justify-content:space-between;align-items:flex-end\"><div style=\"display:flex;flex-direction:column;gap:16px\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#9FB3BE\">HOW WE WORK<\/div><h2 id=\"sv-how\" style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:-.03em;color:#fff\">Our Custom software process, step by step<\/h2><\/div><a href=\"\/abbotsford\/#process\" style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:14px;letter-spacing:.06em;color:#fff;border-bottom:1px solid #fff;padding:8px 0 4px;text-decoration:none\">OUR PROCESS \u2192<\/a><\/div>\n      <ol style=\"list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:32px 32px\"><li style=\"display:flex;flex-direction:column;gap:14px;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.00s, transform .75s cubic-bezier(.2,.7,.2,1) 0.00s, box-shadow .3s, border-color .3s\"><span aria-hidden=\"true\" style=\"display:block;height:2px;background:rgba(228,233,236,.2)\"><span style=\"display:block;height:100%;background:#E82400;transform:scaleX(1);transform-origin:left;transition:transform 1s cubic-bezier(.7,0,.2,1) 0.00s\"><\/span><\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:300;font-size:44px;line-height:1;letter-spacing:-.04em;color:#9FB3BE\">01<\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:22px;letter-spacing:-.01em;color:#fff\">Discover<\/h3><p style=\"margin:0;font-size:15px;line-height:1.6;color:#E4E9EC\">We sit down with you to learn your goals, customers and limits, then hand back a written scope and estimate.<\/p><\/li><li style=\"display:flex;flex-direction:column;gap:14px;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.15s, transform .75s cubic-bezier(.2,.7,.2,1) 0.15s, box-shadow .3s, border-color .3s\"><span aria-hidden=\"true\" style=\"display:block;height:2px;background:rgba(228,233,236,.2)\"><span style=\"display:block;height:100%;background:#E82400;transform:scaleX(1);transform-origin:left;transition:transform 1s cubic-bezier(.7,0,.2,1) 0.15s\"><\/span><\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:300;font-size:44px;line-height:1;letter-spacing:-.04em;color:#9FB3BE\">02<\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:22px;letter-spacing:-.01em;color:#fff\">Design<\/h3><p style=\"margin:0;font-size:15px;line-height:1.6;color:#E4E9EC\">Screen flows, wireframes and clickable mockups get tested with real users before any code is written.<\/p><\/li><li style=\"display:flex;flex-direction:column;gap:14px;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.30s, transform .75s cubic-bezier(.2,.7,.2,1) 0.30s, box-shadow .3s, border-color .3s\"><span aria-hidden=\"true\" style=\"display:block;height:2px;background:rgba(228,233,236,.2)\"><span style=\"display:block;height:100%;background:#E82400;transform:scaleX(1);transform-origin:left;transition:transform 1s cubic-bezier(.7,0,.2,1) 0.30s\"><\/span><\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:300;font-size:44px;line-height:1;letter-spacing:-.04em;color:#9FB3BE\">03<\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:22px;letter-spacing:-.01em;color:#fff\">Build &amp; test<\/h3><p style=\"margin:0;font-size:15px;line-height:1.6;color:#E4E9EC\">Two-week build cycles that end in a working demo, backed by code reviews and automated tests.<\/p><\/li><li style=\"display:flex;flex-direction:column;gap:14px;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.45s, transform .75s cubic-bezier(.2,.7,.2,1) 0.45s, box-shadow .3s, border-color .3s\"><span aria-hidden=\"true\" style=\"display:block;height:2px;background:rgba(228,233,236,.2)\"><span style=\"display:block;height:100%;background:#E82400;transform:scaleX(1);transform-origin:left;transition:transform 1s cubic-bezier(.7,0,.2,1) 0.45s\"><\/span><\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:300;font-size:44px;line-height:1;letter-spacing:-.04em;color:#9FB3BE\">04<\/span><h3 style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:22px;letter-spacing:-.01em;color:#fff\">Launch &amp; support<\/h3><p style=\"margin:0;font-size:15px;line-height:1.6;color:#E4E9EC\">A phased launch, live monitoring, team training and support that continues as you grow.<\/p><\/li><\/ol>\n    <\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9664df7 elementor-widget elementor-widget-aio-service-cases\" data-id=\"9664df7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-cases.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-labelledby=\"sv-cs\" style=\"background:#fff;padding:clamp(56px,8vw,120px) clamp(20px,4.5vw,64px)\"><div data-rv=\"ip3\" style=\"max-width:1312px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(32px,4vw,48px)\"><div style=\"display:flex;flex-wrap:wrap;gap:20px 64px;justify-content:space-between;align-items:flex-end\"><div style=\"display:flex;flex-direction:column;gap:16px\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#45606F\">RELATED CASE STUDIES<\/div><h2 id=\"sv-cs\" style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:-.03em;color:#093346\">Related client results: Custom software<\/h2><\/div><a href=\"\/abbotsford\/case-studies\/\" style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:14px;color:#093346;text-decoration:none;border-bottom:1px solid #093346;padding:8px 0 4px\">Browse every case study \u2192<\/a><\/div>\n      <ul style=\"list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px\"><li style=\"display:flex\"><a href=\"\/abbotsford\/case-studies\/bc-blueberry-council-portal\/\" style=\"flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid #DCE3E7;text-decoration:none;color:#093346;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.00s, transform .75s cubic-bezier(.2,.7,.2,1) 0.00s, box-shadow .3s, border-color .3s\" class=\"ha3c6055\">\n        <span style=\"position:relative;display:block;aspect-ratio:16\/10;overflow:hidden;background:#C5D0D6;border-bottom:1px solid #DCE3E7\"><img decoding=\"async\" srcset=\"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-bc-blueberry-council-portal.jpg 1600w, https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-bc-blueberry-council-portal-300x200.jpg 300w, https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-bc-blueberry-council-portal-1024x682.jpg 1024w, https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-bc-blueberry-council-portal-768x512.jpg 768w, https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-bc-blueberry-council-portal-1536x1023.jpg 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-bc-blueberry-council-portal.jpg\" alt=\"BC Blueberry Council\" loading=\"lazy\" style=\"position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)\"><\/span>\n        <span style=\"display:flex;flex-direction:column;gap:12px;padding:24px;flex:1\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;font-size:12px;color:#45606F\">COUNCIL \/ GOVERNMENT<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:800;font-size:22px;line-height:1.15;letter-spacing:-.02em\">BC Blueberry Council<\/span>\n          <span style=\"display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:16px;border-top:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:800;font-size:40px;line-height:1;letter-spacing:-.03em;color:#093346\">600+<\/span><span style=\"font-size:14px;line-height:1.4;color:#45606F\">Registered growers<\/span><\/span>\n          \n          <span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;letter-spacing:.08em;color:#E82400\">SEE THE FULL CASE STUDY \u2192<\/span><\/span>\n      <\/a><\/li><li style=\"display:flex\"><a href=\"\/abbotsford\/case-studies\/uptown-franchise-ordering-portal\/\" style=\"flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid #DCE3E7;text-decoration:none;color:#093346;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.08s, transform .75s cubic-bezier(.2,.7,.2,1) 0.08s, box-shadow .3s, border-color .3s\" class=\"ha3c6055\">\n        <span style=\"position:relative;display:block;aspect-ratio:16\/10;overflow:hidden;background:#C5D0D6;border-bottom:1px solid #DCE3E7\"><img decoding=\"async\" srcset=\"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-uptown-franchise-ordering-portal.jpg 1600w, https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-uptown-franchise-ordering-portal-300x169.jpg 300w, https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-uptown-franchise-ordering-portal-1024x576.jpg 1024w, https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-uptown-franchise-ordering-portal-768x432.jpg 768w, https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-uptown-franchise-ordering-portal-1536x864.jpg 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/case-uptown-franchise-ordering-portal.jpg\" alt=\"Uptown Med Spa Franchise Ordering Portal\" loading=\"lazy\" style=\"position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)\"><\/span>\n        <span style=\"display:flex;flex-direction:column;gap:12px;padding:24px;flex:1\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;font-size:12px;color:#45606F\">MEDICAL SPA \u00b7 FRANCHISE PORTAL<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:800;font-size:22px;line-height:1.15;letter-spacing:-.02em\">Uptown Med Spa Franchise Ordering Portal<\/span>\n          <span style=\"display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:16px;border-top:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:800;font-size:40px;line-height:1;letter-spacing:-.03em;color:#093346\">5<\/span><span style=\"font-size:14px;line-height:1.4;color:#45606F\">Order stages, submission to fulfillment<\/span><\/span>\n          \n          <span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;letter-spacing:.08em;color:#E82400\">SEE THE FULL CASE STUDY \u2192<\/span><\/span>\n      <\/a><\/li><li style=\"display:flex\"><a href=\"\/abbotsford\/case-studies\/ndt-pilot\/\" style=\"flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid #DCE3E7;text-decoration:none;color:#093346;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.16s, transform .75s cubic-bezier(.2,.7,.2,1) 0.16s, box-shadow .3s, border-color .3s\" class=\"ha3c6055\">\n        <span style=\"position:relative;display:block;aspect-ratio:16\/10;overflow:hidden;background:#fff;border-bottom:1px solid #DCE3E7\"><span style=\"position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12%\"><img decoding=\"async\" src=\"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-content\/uploads\/2026\/10\/ext_base44_ndt-pilot-logo-1.png\" alt=\"NDT Pilot logo\" loading=\"lazy\" style=\"max-width:100%;max-height:100%;object-fit:contain;display:block\"><\/span><\/span>\n        <span style=\"display:flex;flex-direction:column;gap:12px;padding:24px;flex:1\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;font-size:12px;color:#45606F\">INDUSTRIAL INSPECTION \u00b7 SAAS<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:800;font-size:22px;line-height:1.15;letter-spacing:-.02em\">NDT Pilot<\/span>\n          <span style=\"display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:16px;border-top:1px solid #DCE3E7\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:800;font-size:40px;line-height:1;letter-spacing:-.03em;color:#093346\">12<\/span><span style=\"font-size:14px;line-height:1.4;color:#45606F\">Connected workflow stages<\/span><\/span>\n          \n          <span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:13px;letter-spacing:.08em;color:#E82400\">SEE THE FULL CASE STUDY \u2192<\/span><\/span>\n      <\/a><\/li><\/ul>\n    <\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-28b12f1 elementor-widget elementor-widget-aio-service-reviews\" data-id=\"28b12f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-reviews.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-labelledby=\"sv-rv\" style=\"background:#F4F7F8;padding:clamp(56px,8vw,120px) clamp(20px,4.5vw,64px)\"><div data-rv=\"ip4\" style=\"max-width:1312px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(32px,4vw,48px)\"><div style=\"display:flex;flex-wrap:wrap;gap:20px 64px;justify-content:space-between;align-items:flex-end\"><div style=\"display:flex;flex-direction:column;gap:16px\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#45606F\">CLIENT REVIEWS<\/div><h2 id=\"sv-rv\" style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:-.03em;color:#093346\">What clients say<\/h2><\/div><div style=\"display:flex;flex-wrap:wrap;gap:8px\"><span style=\"display:flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #DCE3E7;background:#fff;color:#093346\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:800;font-size:14px\">Clutch<\/span><span aria-hidden=\"true\" style=\"color:#E82400;font-size:12px;letter-spacing:1px\">\u2605\u2605\u2605\u2605\u2605<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:14px\">5.0<\/span><\/span><span style=\"display:flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #DCE3E7;background:#fff;color:#093346\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:800;font-size:14px\">Google<\/span><span aria-hidden=\"true\" style=\"color:#E82400;font-size:12px;letter-spacing:1px\">\u2605\u2605\u2605\u2605\u2605<\/span><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:14px\">5.0<\/span><\/span><\/div><\/div>\n      <ul style=\"list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px\"><li style=\"display:flex\"><figure style=\"flex:1;margin:0;display:flex;flex-direction:column;gap:18px;padding:clamp(24px,2.6vw,36px);background:#fff;border:1px solid #DCE3E7;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.00s, transform .75s cubic-bezier(.2,.7,.2,1) 0.00s, box-shadow .3s, border-color .3s\"><span aria-hidden=\"true\" style=\"color:#E82400;font-size:14px;letter-spacing:2px\">\u2605\u2605\u2605\u2605\u2605<\/span><blockquote style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:600;font-size:clamp(17px,1.4vw,19px);line-height:1.5;color:#093346;text-wrap:pretty\">\u201cOur Google Ads campaigns were burning through budget with little to show for it. All In One Marketing Pro stepped in and completely revamped our strategy, targeting the right audience and optimizing our ads for conversions and our website also google map. Within three months, our cost per lead dropped by 65%, and our ROI improved significantly. They solved a problem we thought was unsolvable! Thank you so much Lovi and all in one marketing team\u201d<\/blockquote><figcaption style=\"margin-top:auto;padding-top:16px;border-top:1px solid #DCE3E7;display:flex;flex-direction:column;gap:2px\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#093346\">Alissa Mandzuk-Power<\/span><span style=\"font-size:14px;color:#45606F\">Client review<\/span><\/figcaption><\/figure><\/li><li style=\"display:flex\"><figure style=\"flex:1;margin:0;display:flex;flex-direction:column;gap:18px;padding:clamp(24px,2.6vw,36px);background:#fff;border:1px solid #DCE3E7;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.12s, transform .75s cubic-bezier(.2,.7,.2,1) 0.12s, box-shadow .3s, border-color .3s\"><span aria-hidden=\"true\" style=\"color:#E82400;font-size:14px;letter-spacing:2px\">\u2605\u2605\u2605\u2605\u2605<\/span><blockquote style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:600;font-size:clamp(17px,1.4vw,19px);line-height:1.5;color:#093346;text-wrap:pretty\">\u201cWe had no real strategy for social media before, but after working with All In One Marketing Pro, our engagement skyrocketed! Our Instagram and Facebook pages grew by over 150%, and we\u2019re now getting consistent leads directly from social media. Their content is top-notch, and they truly understand how to turn followers into customers.\u201d<\/blockquote><figcaption style=\"margin-top:auto;padding-top:16px;border-top:1px solid #DCE3E7;display:flex;flex-direction:column;gap:2px\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#093346\">N Kaur<\/span><span style=\"font-size:14px;color:#45606F\">Client review<\/span><\/figcaption><\/figure><\/li><li style=\"display:flex\"><figure style=\"flex:1;margin:0;display:flex;flex-direction:column;gap:18px;padding:clamp(24px,2.6vw,36px);background:#fff;border:1px solid #DCE3E7;opacity:var(--rv-o,1);transform:translateY(var(--rv-y,0px));transition:opacity .6s ease 0.24s, transform .75s cubic-bezier(.2,.7,.2,1) 0.24s, box-shadow .3s, border-color .3s\"><span aria-hidden=\"true\" style=\"color:#E82400;font-size:14px;letter-spacing:2px\">\u2605\u2605\u2605\u2605\u2605<\/span><blockquote style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:600;font-size:clamp(17px,1.4vw,19px);line-height:1.5;color:#093346;text-wrap:pretty\">\u201cAll in One Marketing has played a crucial role in the growth of my cardiology practice. Their targeted strategies have greatly enhanced patient engagement through social media, and by the second month of running Google Ads, we began seeing a steady influx of new patients. They are highly professional and results-driven! Thank you\u201d<\/blockquote><figcaption style=\"margin-top:auto;padding-top:16px;border-top:1px solid #DCE3E7;display:flex;flex-direction:column;gap:2px\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#093346\">Emma N<\/span><span style=\"font-size:14px;color:#45606F\">Client review<\/span><\/figcaption><\/figure><\/li><\/ul>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:#45606F\">Each review is quoted as the client wrote it. Results depend on your market, your budget and where you start.<\/p><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6aaf875 elementor-widget elementor-widget-aio-service-compare\" data-id=\"6aaf875\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-compare.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-labelledby=\"sv-cmp\" style=\"background:#F4F7F8;padding:clamp(56px,8vw,112px) clamp(20px,4.5vw,64px)\"><div style=\"max-width:1312px;margin:0 auto;display:flex;flex-wrap:wrap;gap:32px clamp(40px,6vw,96px)\">\n      <div style=\"flex:1 1 300px;display:flex;flex-direction:column;gap:16px\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#45606F\">COMPARISON<\/div><h2 id=\"sv-cmp\" style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:-.03em;color:#093346\">Custom Software Development, with our help or on your own.<\/h2><a href=\"\/abbotsford\/#compare\" style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#093346;border-bottom:1px solid #093346;padding:8px 0 4px;min-height:44px;display:inline-flex;align-items:flex-end;align-self:flex-start;text-decoration:none\">Full comparison \u2192<\/a><\/div>\n      <div style=\"flex:2 1 560px;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:2px solid #093346;background:#fff\">\n        <span style=\"padding:16px 18px;background:#093346;color:#fff;font-family:Montserrat,MontserratFb;font-weight:800;font-size:15px;display:flex;gap:10px;align-items:center\"><span aria-hidden=\"true\" style=\"width:10px;height:10px;background:#E82400;flex:none\"><\/span>With our team<\/span>\n        <span style=\"padding:16px 18px;font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#45606F;border-bottom:1px solid #DCE3E7\">Without<\/span>\n        \n          <span style=\"padding:18px;background:#093346;border-top:1px solid rgba(228,233,236,.14);display:flex;gap:12px;align-items:flex-start;color:#fff;font-size:15px;line-height:1.45;font-weight:600\"><span aria-hidden=\"true\" style=\"flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#E82400;color:#fff;font-weight:800;font-size:12px\">\u2713<\/span>One connected team<\/span>\n          <span style=\"padding:18px;border-bottom:1px solid #DCE3E7;display:flex;gap:12px;align-items:flex-start;color:#45606F;font-size:15px;line-height:1.45\"><span aria-hidden=\"true\" style=\"flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1.5px solid #9FB0BA;color:#9FB0BA;font-weight:800;font-size:12px\">\u2715<\/span>Several vendors<\/span>\n        \n          <span style=\"padding:18px;background:#093346;border-top:1px solid rgba(228,233,236,.14);display:flex;gap:12px;align-items:flex-start;color:#fff;font-size:15px;line-height:1.45;font-weight:600\"><span aria-hidden=\"true\" style=\"flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#E82400;color:#fff;font-weight:800;font-size:12px\">\u2713<\/span>A free audit, then a clear plan<\/span>\n          <span style=\"padding:18px;border-bottom:1px solid #DCE3E7;display:flex;gap:12px;align-items:flex-start;color:#45606F;font-size:15px;line-height:1.45\"><span aria-hidden=\"true\" style=\"flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1.5px solid #9FB0BA;color:#9FB0BA;font-weight:800;font-size:12px\">\u2715<\/span>No starting numbers to compare to<\/span>\n        \n          <span style=\"padding:18px;background:#093346;border-top:1px solid rgba(228,233,236,.14);display:flex;gap:12px;align-items:flex-start;color:#fff;font-size:15px;line-height:1.45;font-weight:600\"><span aria-hidden=\"true\" style=\"flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#E82400;color:#fff;font-weight:800;font-size:12px\">\u2713<\/span>One account lead<\/span>\n          <span style=\"padding:18px;border-bottom:1px solid #DCE3E7;display:flex;gap:12px;align-items:flex-start;color:#45606F;font-size:15px;line-height:1.45\"><span aria-hidden=\"true\" style=\"flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1.5px solid #9FB0BA;color:#9FB0BA;font-weight:800;font-size:12px\">\u2715<\/span>Rotating contacts<\/span>\n        \n          <span style=\"padding:18px;background:#093346;border-top:1px solid rgba(228,233,236,.14);display:flex;gap:12px;align-items:flex-start;color:#fff;font-size:15px;line-height:1.45;font-weight:600\"><span aria-hidden=\"true\" style=\"flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#E82400;color:#fff;font-weight:800;font-size:12px\">\u2713<\/span>Results reported every month<\/span>\n          <span style=\"padding:18px;border-bottom:1px solid #DCE3E7;display:flex;gap:12px;align-items:flex-start;color:#45606F;font-size:15px;line-height:1.45\"><span aria-hidden=\"true\" style=\"flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1.5px solid #9FB0BA;color:#9FB0BA;font-weight:800;font-size:12px\">\u2715<\/span>Activity reports<\/span>\n        \n      <\/div>\n    <\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6d3b30 elementor-widget elementor-widget-aio-service-faq\" data-id=\"f6d3b30\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-faq.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-labelledby=\"sv-faq\" style=\"background:#fff;padding:clamp(56px,8vw,120px) clamp(20px,4.5vw,64px)\"><div style=\"max-width:1312px;margin:0 auto;display:flex;flex-wrap:wrap;gap:32px clamp(40px,6vw,96px)\">\n      <div style=\"flex:1 1 300px;display:flex;flex-direction:column;gap:16px;align-items:flex-start\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#45606F\">FAQ<\/div><h2 id=\"sv-faq\" style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:-.03em;color:#093346\">Custom software questions, answered plainly<\/h2><a href=\"\/abbotsford\/faq\/\" style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;color:#093346;border-bottom:1px solid #093346;padding:8px 0 4px;text-decoration:none\">All FAQs \u2192<\/a><\/div>\n      <div style=\"flex:2 1 560px;border-top:1px solid #093346\"><div style=\"border-bottom:1px solid #C5D0D6\"><h3 style=\"margin:0\"><button data-on-click=\"q.toggle\" aria-expanded=\"false\" style=\"all:unset;cursor:pointer;box-sizing:border-box;width:100%;min-height:64px;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:Montserrat,MontserratFb;font-weight:700;font-size:clamp(17px,1.5vw,20px);line-height:1.35;color:#093346\" data-acc-btn class=\"h9b802e9\"><span>What should I budget for a bespoke software project?<\/span><span aria-hidden=\"true\" style=\"flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #C5D0D6;font-size:22px;color:#E82400\" data-acc-icon>+<\/span><\/button><\/h3><p style=\"margin:0;padding:0 0 22px;font-size:17px;line-height:1.65;color:#2B4A5A\" hidden=\"\" data-acc-panel>It depends mostly on how many rules, user types and connected systems the software has to handle. Projects start from $1,000, and anything larger is quoted in phases after a discovery conversation, so you approve a fixed figure for the first phase before development begins. Where hourly work makes sense, it is billed at $50 to $99 per hour.<\/p><\/div><div style=\"border-bottom:1px solid #C5D0D6\"><h3 style=\"margin:0\"><button data-on-click=\"q.toggle\" aria-expanded=\"false\" style=\"all:unset;cursor:pointer;box-sizing:border-box;width:100%;min-height:64px;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:Montserrat,MontserratFb;font-weight:700;font-size:clamp(17px,1.5vw,20px);line-height:1.35;color:#093346\" data-acc-btn class=\"h9b802e9\"><span>Who owns the code, and what happens if we part ways?<\/span><span aria-hidden=\"true\" style=\"flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #C5D0D6;font-size:22px;color:#E82400\" data-acc-icon>+<\/span><\/button><\/h3><p style=\"margin:0;padding:0 0 22px;font-size:17px;line-height:1.65;color:#2B4A5A\" hidden=\"\" data-acc-panel>You do. The source code is kept in a repository under your own account, and hosting accounts are set up in your name. We add plain-language documentation, automated tests around the important rules and a handover session with your staff, so any competent developer can pick the work up and staying with us is a choice.<\/p><\/div><div style=\"border-bottom:1px solid #C5D0D6\"><h3 style=\"margin:0\"><button data-on-click=\"q.toggle\" aria-expanded=\"false\" style=\"all:unset;cursor:pointer;box-sizing:border-box;width:100%;min-height:64px;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:Montserrat,MontserratFb;font-weight:700;font-size:clamp(17px,1.5vw,20px);line-height:1.35;color:#093346\" data-acc-btn class=\"h9b802e9\"><span>How long does a custom software project take?<\/span><span aria-hidden=\"true\" style=\"flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #C5D0D6;font-size:22px;color:#E82400\" data-acc-icon>+<\/span><\/button><\/h3><p style=\"margin:0;padding:0 0 22px;font-size:17px;line-height:1.65;color:#2B4A5A\" hidden=\"\" data-acc-panel>It depends on scope, but we release in stages so something usable appears early instead of at the very end. A small internal tool usually takes weeks, while a wider system takes months. After the first workshop you receive a stage-by-stage schedule, and it changes only when you decide the priorities have changed.<\/p><\/div><div style=\"border-bottom:1px solid #C5D0D6\"><h3 style=\"margin:0\"><button data-on-click=\"q.toggle\" aria-expanded=\"false\" style=\"all:unset;cursor:pointer;box-sizing:border-box;width:100%;min-height:64px;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:Montserrat,MontserratFb;font-weight:700;font-size:clamp(17px,1.5vw,20px);line-height:1.35;color:#093346\" data-acc-btn class=\"h9b802e9\"><span>Should we build custom software or use an AI agent instead?<\/span><span aria-hidden=\"true\" style=\"flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #C5D0D6;font-size:22px;color:#E82400\" data-acc-icon>+<\/span><\/button><\/h3><p style=\"margin:0;padding:0 0 22px;font-size:17px;line-height:1.65;color:#2B4A5A\" hidden=\"\" data-acc-panel>Build custom software for work that must follow your rules exactly, such as pricing, scheduling and records, and use an AI agent for messy language or judgement, such as reading and sorting emails. Most businesses end up with both. An agent also needs dependable software beneath it, to look things up in and to record what it did, so the two are partners and not rivals.<\/p><\/div><\/div>\n    <\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d5b355c elementor-widget elementor-widget-aio-service-siblings\" data-id=\"d5b355c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-service-siblings.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-label=\"Related services\" style=\"background:#F4F7F8;padding:clamp(48px,6vw,88px) clamp(20px,4.5vw,64px)\"><div style=\"max-width:1312px;margin:0 auto;display:flex;flex-direction:column;gap:24px\"><div style=\"display:flex;justify-content:space-between;gap:16px;align-items:baseline\"><div style=\"font-family:Montserrat,MontserratFb;font-weight:600;font-size:13px;letter-spacing:.2em;color:#45606F\">RELATED SERVICES<\/div><a href=\"\/abbotsford\/services\/\" style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:14px;color:#093346;text-decoration:none;border-bottom:1px solid #093346\">All services \u2192<\/a><\/div><div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px\"><a href=\"\/abbotsford\/services\/traditional-software-development\/\" style=\"display:flex;flex-direction:column;gap:8px;padding:24px;background:#fff;border:1px solid #DCE3E7;text-decoration:none;transition:border-color .2s, transform .2s\" class=\"hb5862d1\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:17px;color:#093346\">Traditional Software Development<\/span><span style=\"font-size:14px;line-height:1.5;color:#45606F\">Dependable rule-based systems for your records<\/span><\/a><a href=\"\/abbotsford\/services\/saas-development\/\" style=\"display:flex;flex-direction:column;gap:8px;padding:24px;background:#fff;border:1px solid #DCE3E7;text-decoration:none;transition:border-color .2s, transform .2s\" class=\"hb5862d1\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:17px;color:#093346\">SaaS Development<\/span><span style=\"font-size:14px;line-height:1.5;color:#45606F\">Build a subscription software product<\/span><\/a><a href=\"\/abbotsford\/services\/api-development-integrations\/\" style=\"display:flex;flex-direction:column;gap:8px;padding:24px;background:#fff;border:1px solid #DCE3E7;text-decoration:none;transition:border-color .2s, transform .2s\" class=\"hb5862d1\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:17px;color:#093346\">API Development &amp; Integrations<\/span><span style=\"font-size:14px;line-height:1.5;color:#45606F\">Connect your systems and share data safely<\/span><\/a><a href=\"\/abbotsford\/services\/business-process-automation\/\" style=\"display:flex;flex-direction:column;gap:8px;padding:24px;background:#fff;border:1px solid #DCE3E7;text-decoration:none;transition:border-color .2s, transform .2s\" class=\"hb5862d1\"><span style=\"font-family:Montserrat,MontserratFb;font-weight:700;font-size:17px;color:#093346\">Business Process Automation<\/span><span style=\"font-size:14px;line-height:1.5;color:#45606F\">Routine work that runs itself<\/span><\/a><\/div><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-463cdb0 elementor-widget elementor-widget-aio-cta-band\" data-id=\"463cdb0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"aio-cta-band.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section aria-labelledby=\"sv-cta\" style=\"background:#093346;color:#fff;padding:clamp(64px,9vw,120px) clamp(20px,4.5vw,64px)\"><div style=\"max-width:1312px;margin:0 auto;display:flex;flex-wrap:wrap;gap:32px 64px;align-items:flex-end;justify-content:space-between\"><h2 id=\"sv-cta\" style=\"margin:0;font-family:Montserrat,MontserratFb;font-weight:800;font-size:clamp(34px,5vw,72px);line-height:.95;letter-spacing:-.035em;color:#fff\">Ready to start? <br>Say hello.<\/h2><div style=\"display:flex;flex-wrap:wrap;gap:12px\"><a href=\"\/abbotsford\/start-a-project\/\" style=\"display:flex;align-items:center;min-height:56px;padding:0 28px;background:#E82400;color:#fff;font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;letter-spacing:.06em;text-decoration:none;white-space:nowrap\" class=\"hf3251d8\">CONTACT OUR TEAM<\/a><a href=\"tel:+16048003883\" style=\"display:flex;align-items:center;min-height:56px;padding:0 28px;border:1px solid #9FB3BE;color:#fff;font-family:Montserrat,MontserratFb;font-weight:700;font-size:15px;letter-spacing:.06em;text-decoration:none;white-space:nowrap\" class=\"he524528\">CALL +1 (604) 800-3883<\/a><\/div><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Custom software for Abbotsford and Fraser Valley businesses: quoting, scheduling and tracking tools built around your rules. Book a free consultation.<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":17336,"menu_order":189,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-18145","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-json\/wp\/v2\/pages\/18145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-json\/wp\/v2\/comments?post=18145"}],"version-history":[{"count":1,"href":"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-json\/wp\/v2\/pages\/18145\/revisions"}],"predecessor-version":[{"id":18184,"href":"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-json\/wp\/v2\/pages\/18145\/revisions\/18184"}],"up":[{"embeddable":true,"href":"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-json\/wp\/v2\/pages\/17336"}],"wp:attachment":[{"href":"https:\/\/allinonemarketingpro.com\/abbotsford\/wp-json\/wp\/v2\/media?parent=18145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}