PageSourceSearch

https://mk-dir.com/_next/static/chunks/2c0mcr7hc39ni.js

js mk-dir.com collected 2026-10-02 00:17:53 UTC 42,778 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,89129,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return v},NormalizeError:function(){return w},PageNotFoundError:function(){return b},SP:function(){return f},ST:function(){return y},WEB_VITALS:function(){return o},execOnce:function(){return s},getDisplayName:function(){return d},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return l},isResSent:function(){return p},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return x}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>i.test(e);function c(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function u(){let{href:e}=window.location,t=c();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function p(e){return e.finished||e.headersSent}function m(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&p(n))return r;if(!r)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let f="u">typeof performance,y=f&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class w extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function x(e){return JSON.stringify({message:e.message,stack:e.stack})}},20955,(e,t,n)=>{var r={229:function(e){var t,n,r,a=e.exports={};function o(){throw Error("setTimeout has not been defined")}function s(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}var l=[],c=!1,u=-1;function d(){c&&r&&(c=!1,r.length?l=r.concat(l):u=-1,l.length&&p())}function p(){if(!c){var e=i(d);c=!0;for(var t=l.length;t;){for(r=l,l=[];++u<t;)r&&r[u].run();u=-1,t=l.length}r=null,c=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function h(){}a.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new m(e,t)),1!==l.length||c||i(p)},m.prototype.run=function(){this.fun.apply(null,this.array)},a.title="browser",a.browser=!0,a.env={},a.argv=[],a.version="",a.versions={},a.on=h,a.addListener=h,a.once=h,a.off=h,a.removeListener=h,a.removeAllListeners=h,a.emit=h,a.prependListener=h,a.prependOnceListener=h,a.listeners=function(e){return[]},a.binding=function(e){throw Error("process.binding is not supported")},a.cwd=function(){return"/"},a.chdir=function(e){throw Error("process.chdir is not supported")},a.umask=function(){return 0}}},a={};function o(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}},s=!0;try{r[e](n,n.exports,o),s=!1}finally{s&&delete a[e]}return n.exports}o.ab="/ROOT/node_modules/next/dist/compiled/process/",t.exports=o(229)},50461,(e,t,n)=>{"use strict";var r,a;t.exports=(null==(r=e.g.process)?void 0:r.env)&&"object"==typeof(null==(a=e.g.process)?void 0:a.env)?e.g.process:e.r(20955)},8481,(e,t,n)=>{"use strict";var r=Symbol.for("react.transitional.element");function a(e,t,n){var a=null;if(void 0!==n&&(a=""+n),void 0!==t.key&&(a=""+t.key),"key"in t)for(var o in n={}
1,t)"key"!==o&&(n[o]=t[o]);else n=t;return{$$typeof:r,type:e,key:a,ref:void 0!==(t=n.ref)?t:null,props:n}}n.Fragment=Symbol.for("react.fragment"),n.jsx=a,n.jsxs=a},91398,(e,t,n)=>{"use strict";t.exports=e.r(8481)},41705,(e,t,n)=>{"use strict";n._=function(e){return e&&e.__esModule?e:{default:e}}},61556,(e,t,n)=>{"use strict";var r=e.i(50461),a=Symbol.for("react.transitional.element"),o=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),f=Symbol.for("react.activity"),y=Symbol.iterator,g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,b={};function v(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}function j(){}function x(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},j.prototype=v.prototype;var k=x.prototype=new j;k.constructor=x,w(k,v.prototype),k.isPureReactComponent=!0;var S=Array.isArray;function _(){}var E={H:null,A:null,T:null,S:null},P=Object.prototype.hasOwnProperty;function T(e,t,n){var r=n.ref;return{$$typeof:a,type:e,key:t,ref:void 0!==r?r:null,props:n}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var A=/\/+/g;function N(e,t){var n,r;return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36)}function I(e,t,n){if(null==e)return e;var r=[],s=0;return!function e(t,n,r,s,i){var l,c,u,d=typeof t;("undefined"===d||"boolean"===d)&&(t=null);var p=!1;if(null===t)p=!0;else switch(d){case"bigint":case"string":case"number":p=!0;break;case"object":switch(t.$$typeof){case a:case o:p=!0;break;case h:return e((p=t._init)(t._payload),n,r,s,i)}}if(p)return i=i(t),p=""===s?"."+N(t,0):s,S(i)?(r="",null!=p&&(r=p.replace(A,"$&/")+"/"),e(i,n,r,"",function(e){return e})):null!=i&&(C(i)&&(l=i,c=r+(null==i.key||t&&t.key===i.key?"":(""+i.key).replace(A,"$&/")+"/")+p,i=T(l.type,c,l.props)),n.push(i)),1;p=0;var m=""===s?".":s+":";if(S(t))for(var f=0;f<t.length;f++)d=m+N(s=t[f],f),p+=e(s,n,r,d,i);else if("function"==typeof(f=null===(u=t)||"object"!=typeof u?null:"function"==typeof(u=y&&u[y]||u["@@iterator"])?u:null))for(t=f.call(t),f=0;!(s=t.next()).done;)d=m+N(s=s.value,f++),p+=e(s,n,r,d,i);else if("object"===d){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(_,_):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),n,r,s,i);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(n=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.")}return p}(e,r,"","",function(e){return t.call(n,e,s++)}),r}function O(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var F="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof r.default&&"function"==typeof r.default.emit)return void r.default.emit("uncaughtException",e);console.error(e)};
1n.Activity=f,n.Children={map:I,forEach:function(e,t,n){I(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return I(e,function(){t++}),t},toArray:function(e){return I(e,function(e){return e})||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},n.Component=v,n.Fragment=s,n.Profiler=l,n.PureComponent=x,n.StrictMode=i,n.Suspense=p,n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=E,n.__COMPILER_RUNTIME={__proto__:null,c:function(e){return E.H.useMemoCache(e)}},n.cache=function(e){return function(){return e.apply(null,arguments)}},n.cacheSignal=function(){return null},n.cloneElement=function(e,t,n){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var r=w({},e.props),a=e.key;if(null!=t)for(o in void 0!==t.key&&(a=""+t.key),t)P.call(t,o)&&"key"!==o&&"__self"!==o&&"__source"!==o&&("ref"!==o||void 0!==t.ref)&&(r[o]=t[o]);var o=arguments.length-2;if(1===o)r.children=n;else if(1<o){for(var s=Array(o),i=0;i<o;i++)s[i]=arguments[i+2];r.children=s}return T(e.type,a,r)},n.createContext=function(e){return(e={$$typeof:u,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:c,_context:e},e},n.createElement=function(e,t,n){var r,a={},o=null;if(null!=t)for(r in void 0!==t.key&&(o=""+t.key),t)P.call(t,r)&&"key"!==r&&"__self"!==r&&"__source"!==r&&(a[r]=t[r]);var s=arguments.length-2;if(1===s)a.children=n;else if(1<s){for(var i=Array(s),l=0;l<s;l++)i[l]=arguments[l+2];a.children=i}if(e&&e.defaultProps)for(r in s=e.defaultProps)void 0===a[r]&&(a[r]=s[r]);return T(e,o,a)},n.createRef=function(){return{current:null}},n.forwardRef=function(e){return{$$typeof:d,render:e}},n.isValidElement=C,n.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:O}},n.memo=function(e,t){return{$$typeof:m,type:e,compare:void 0===t?null:t}},n.startTransition=function(e){var t=E.T,n={};E.T=n;try{var r=e(),a=E.S;null!==a&&a(n,r),"object"==typeof r&&null!==r&&"function"==typeof r.then&&r.then(_,F)}catch(e){F(e)}finally{null!==t&&null!==n.types&&(t.types=n.types),E.T=t}},n.unstable_useCacheRefresh=function(){return E.H.useCacheRefresh()},n.use=function(e){return E.H.use(e)},n.useActionState=function(e,t,n){return E.H.useActionState(e,t,n)},n.useCallback=function(e,t){return E.H.useCallback(e,t)},n.useContext=function(e){return E.H.useContext(e)},n.useDebugValue=function(){},n.useDeferredValue=function(e,t){return E.H.useDeferredValue(e,t)},n.useEffect=function(e,t){return E.H.useEffect(e,t)},n.useEffectEvent=function(e){return E.H.useEffectEvent(e)},n.useId=function(){return E.H.useId()},n.useImperativeHandle=function(e,t,n){return E.H.useImperativeHandle(e,t,n)},n.useInsertionEffect=function(e,t){return E.H.useInsertionEffect(e,t)},n.useLayoutEffect=function(e,t){return E.H.useLayoutEffect(e,t)},n.useMemo=function(e,t){return E.H.useMemo(e,t)},n.useOptimistic=function(e,t){return E.H.useOptimistic(e,t)},n.useReducer=function(e,t,n){return E.H.useReducer(e,t,n)},n.useRef=function(e){return E.H.useRef(e)},n.useState=function(e){return E.H.useState(e)},n.useSyncExternalStore=function(e,t,n){return E.H.useSyncExternalStore(e,t,n)},n.useTransition=function(){return E.H.useTransition()},n.version="19.2.7"},91788,(e,t,n)=>{"use strict";t.exports=e.r(61556)},13584,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"HeadManagerContext",{enumerable:!0,get:function(){return r}});let r=e.r(41705)._(e.r(91788)).default.createContext({})},94470,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},52456,(e,t,n)=>{"use strict";function r(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(r=function(e){return e?n:t})(e)}n._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=r(t);if(n&&n.has(e))return n.get(e);var a={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if("default"!==s&&Object.prototype.hasOwnProperty.call(e,s)){var i=o?Object.getOwnPropertyDescriptor(e,s):null;i&&(i.get||i.set)?Object.defineProperty(a,s,i):a[s]=e[s]}return a.default=e,n&&n.set(e,a),a}},94941,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return i}});let r=e.r(91788),a="u"<typeof window,o=a?()=>{}:r.useLayoutEffect,s=a?()=>{}:r.useEffect;function i(e){let{headManager:t,reduceComponentsToState:n}=e;function i(){if(t&&t.mountedInstances){let e=r.Children.toArray(Array.from(t.mountedInstances).filter(
1Boolean));t.updateHead(n(e))}}return a&&(t?.mountedInstances?.add(e.children),i()),o(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),o(()=>(t&&(t._pendingUpdate=i),()=>{t&&(t._pendingUpdate=i)})),s(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},80963,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return f},defaultHead:function(){return d}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o=e.r(41705),s=e.r(52456),i=e.r(91398),l=s._(e.r(91788)),c=o._(e.r(94941)),u=e.r(13584);function d(){return[(0,i.jsx)("meta",{charSet:"utf-8"},"charset"),(0,i.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function p(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(94470);let m=["name","httpEquiv","charSet","itemProp"];function h(e){let t,n,r,a;return e.reduce(p,[]).reverse().concat(d().reverse()).filter((t=new Set,n=new Set,r=new Set,a={},e=>{let o=!0,s=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){s=!0;let n=e.key.slice(e.key.indexOf("$")+1);t.has(n)?o=!1:t.add(n)}switch(e.type){case"title":case"base":n.has(e.type)?o=!1:n.add(e.type);break;case"meta":for(let t=0,n=m.length;t<n;t++){let n=m[t];if(e.props.hasOwnProperty(n))if("charSet"===n)r.has(n)?o=!1:r.add(n);else{let t=e.props[n],r=a[n]||new Set;("name"!==n||!s)&&r.has(t)?o=!1:(r.add(t),a[n]=r)}}}return o})).reverse().map((e,t)=>{let n=e.key||t;return l.default.cloneElement(e,{key:n})})}let f=function({children:e}){let t=(0,l.useContext)(u.HeadManagerContext);return(0,i.jsx)(c.default,{reduceComponentsToState:h,headManager:t,children:e})};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},54205,e=>{"use strict";let t=(e="Included")=>({text:e,level:"full"}),n=e=>({text:e,level:"partial"}),r=()=>({text:"—",level:"none"}),a=[{title:"Purpose",rows:[{label:"What it is for",cells:{assessment:n("Figure out what to do"),essential:t("Get things done"),growth:t("Continuously improve"),partner:t("Technical ownership"),enterprise:t("Embedded engineering")}},{label:"Best for",cells:{assessment:n("Anything not yet clear"),essential:n("Existing sites and systems"),growth:n("Growing businesses"),partner:n("Companies building serious software"),enterprise:n("Complex or regulated organizations")}}]},{title:"Who you get access to",rows:[{label:"Developer",cells:{assessment:r(),essential:t(),growth:t(),partner:t(),enterprise:t()}},{label:"Senior developer",cells:{assessment:r(),essential:n("On escalation"),growth:t(),partner:t(),enterprise:t()}},{label:"Designer / UX",cells:{assessment:n("As needed"),essential:n("Limited"),growth:t(),partner:t(),enterprise:t()}},{label:"QA / testing",cells:{assessment:r(),essential:n("Standard"),growth:t(),partner:t(),enterprise:t("Dedicated")}},{label:"DevOps / cloud",cells:{assessment:n("Reviewed"),essential:n("Add-on"),growth:n("Limited"),partner:t(),enterprise:t()}},{label:"Technical lead",cells:{assessment:r(),essential:r(),growth:n("Limited"),partner:t(),enterprise:t()}},{label:"Product / project lead",cells:{assessment:r(),essential:r(),growth:n("Support"),partner:t(),enterprise:t()}},{label:"Principal Engineer",cells:{assessment:n("For the assessment"),essential:r(),growth:r(),partner:t(),enterprise:t("Dedicated")}},{label:"Security & compliance",cells:{assessment:n("Reviewed"),essential:r(),growth:r(),partner:n("Advisory"),enterprise:t()}},{label:"Technical account lead",cells:{assessment:r(),essential:r(),growth:r(),partner:r(),enterprise:t("Dedicated")}}]},{title:"How we work together",rows:[{label:"Strategy cadence",cells:{assessment:n("Recommendations"),essential:n("As needed"),growth:t("Monthly"),partner:t("Biweekly"),enterprise:t("Custom")}},{label:"Response priority",cells:{assessment:r(),essential:n("Standard"),growth:t("Priority"),partner:t("High"),enterprise:t("SLA")}},{label:"Commitment",cells:{assessment:n("One-time"),essential:n("Monthly"),growth:n("Monthly"),partner:t("3+ months"),enterprise:t("Contract")}},{label:"Starting point",cells:{assessment:t("from $1,500"),essential:t("from $1,999/mo"),growth:t("from $3,499/mo"),partner:t("from $7,500/mo"),enterprise:t("Custom")}}]}];e.s(["assessmentDeliverables",0,["What exists, documented in plain language","A risk register covering code, deploys, data, access, and infrastru
1cture","A recommendation: stabilize, automate, rebuild, integrate, or leave alone","A phased implementation roadmap with sequencing","Estimated phases and investment"],"comparison",0,a,"engagementFaq",0,[{question:"What does technical ownership actually mean?",answer:"Five things you can check rather than take on trust: your system is documented, the accounts and code are in your name, it is monitored, another competent team could pick it up, and every technical decision has a name attached to it. Partner is where all five become our responsibility rather than yours.",link:{label:"What ownership means in practice",href:"/about#ownership"}},{question:"What if I do not know which one I need?",answer:"Most people do not, and it is a completely normal place to start. The Assessment exists to answer exactly that question, and from $1,500 it costs less than a month of the smallest ongoing tier. You get a documented read on what exists and what it would take to fix, and it is yours to keep whether or not you continue with us."},{question:"Are these packages of hours?",answer:"No. We plan capacity behind the scenes so each tier is staffed properly, but what you are paying for is who you can call on and how much of the thinking we take on. Moving up gets you more of the team and more responsibility on our side, rather than a bigger number of hours."},{question:"Can we change tiers later?",answer:"Yes, and most relationships do. The usual triggers are visible: requests start needing design or architecture, the conversation turns to roadmap, or two workstreams start running at once. We raise it when we see it rather than waiting for a renewal date."},{question:"Do you work on a fixed-price project basis?",answer:"For contained, well-understood work, yes. Large rebuilds, migrations, and major new features are scoped separately in every tier. What we avoid is a large fixed-price build before anyone understands the system, which is what the Assessment is for."},{question:"What is not included in any tier?",answer:"General IT support — laptops, printers, email accounts, and office networks. We work on custom applications, integrations, automations, cloud infrastructure, and the technical decisions around them."},{question:"Do we have to start with an Assessment?",answer:"Not if the work is clear. If you know what needs doing and just need it done, Essential or Growth can start directly. We ask for an Assessment first when we would be taking responsibility for a system we do not yet understand."}],"tierScope",0,[{id:"essential",covers:"Website work, WordPress and CMS, maintenance, integrations, bug fixes, small features, hosting assistance, straightforward application work",growsInto:"Planning, architecture, and technical direction all live a tier up, in Growth and Partner."},{id:"growth",covers:"Custom applications, larger builds, integrations and APIs, automation, ongoing feature development, infrastructure work, design",growsInto:"Partner adds dedicated technical leadership, product management, and a formal QA process."},{id:"partner",covers:"Everything in Growth, plus technical leadership, architecture, product and project management, DevOps, QA, and continuous planning",growsInto:"Enterprise adds named people, SLAs, compliance support, and coordination with internal IT at scale."},{id:"enterprise",covers:"Assembled per engagement: Principal Engineer, Technical Lead, senior engineers, engineers, DevOps, UX, QA, and a dedicated Technical Account Lead",growsInto:"Scoped to the engagement. Tell us what you need and we will shape it around that."}],"tiers",0,[{id:"assessment",name:"Assessment",promise:"We work out what you actually need.",price:"from $1,500",cadence:"one-time",summary:"A documented read on what exists, what is at risk, and what it would take to fix — useful on its own, whether or not you continue with us.",hereIf:"You know something needs to change, but not what it would take — or who to trust about it.",signals:["No one can tell you confidently what the system does","You have an estimate you cannot evaluate","You inherited something and do not know its condition"],stepUp:"Already know the scope and just need it built? Skip ahead to Essential or Growth."},{id:"essential",name:"Essential",promise:"You set the direction. We execute.",price:"from $1,999",cadence:"per month",summary:"Dependable development for systems that work and need to keep working. A developer, with senior review when something warrants it.",hereIf:"Your systems basically work. You need someone dependable to keep them working and make changes when you ask.",signals:["You have a list of things to fix or add","You know what you want and need hands","Nothing on the list requires deciding strategy"],stepUp:"When the work starts needing design, or someone to help decide what to build, Growth fits better."},{id:"growth",name:"Growth",promise:"You set the direction. We help shape it.",price:"from $3,499",cadence:"per month",summary:"A multidisciplinary team continuously improving what you run. The difference from Essential is capability, not hours.",hereIf:"You are actively improving your systems, and the work is bigger than one developer working through a list.",signals:["There is a roadmap, even an informal one","Work needs design as well as code","You are adding capability, not just maintaining it"],stepUp:"When you want someone accountable for the technical decisions while you focus elsewhere, that is Partner."},{id:"partner",name:"Partner",promise:"We help set the direction, and we own delivering it.",price:"from $7,500",cadence:"per month",summary:"Product, engineering, and technical leadership without building the department. Technical ownership rather than staff augmentation.",hereIf:"Technology matters to your business and no one inside it owns the technical decisions.",signals:["You would hire a technical lead if you could justify the role","Decisions stall because nobody is accountable","You are building something, not just maintaining it"],stepUp:"Enterprise adds named people, formal SLAs, and compliance support.",featured:!0},{id:"enterprise",name:"Enterprise",promise:"We operate as part of your organization.",price:"Custom",cadence:"contract",summary:"Embedded engineering under formal terms, alongside internal IT, with a dedicated technical account lead so you are not coordinating specialists yourself.",hereIf:"You have internal IT or engineering, and you need us to integrate with it under formal terms.",signals:["Procurement, security review, or compliance is part of the deal","You need named people and an SLA","Multiple environments, formal QA, documentation"]}],"websiteCare",0,{name:"Website Care",price:"from $1,399.99",cadence:"per month",promise:"Your site, kept running.",summary:"Steady upkeep for a WordPress site that works and needs to stay that way — patched, backed up, watched, and edited when you ask, without anyone in-house having to remember it.",hereIf:"You rely on a WordPress site, nobody is really looking after it, and you do not need a development team on hand.",includes:["WordPress core, plugin, and theme updates","Backups, with a tested restore","Uptime and certificate monitoring","Up to two hours of content or copy edits each month","A named person to email when something breaks"],note:"The floor covers one straightforward site, and moves with the number of sites, how much editing you use, and how quickly you need us when something breaks.",nextStep:"Planning something bigger — a rebuild, new features, or a site built on something other than WordPress? That is 
1where Essential picks up. Not sure which you need? Ask us and we will tell you."}])},15125,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={VALID_LOADERS:function(){return o},imageConfigDefault:function(){return s}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o=["default","imgix","cloudinary","akamai","custom"],s={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},13521,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"ImageConfigContext",{enumerable:!0,get:function(){return o}});let r=e.r(41705)._(e.r(91788)),a=e.r(15125),o=r.default.createContext(a.imageConfigDefault)},25289,e=>{"use strict";var t=e.i(91398),n=e.i(3828),r=e.i(91788),a=e.i(54205),o=e.i(71695);let s=[{label:"Copywriter & Content Generator",summary:"For writers interested in technology, software, web development, proposals, and practical educational content.",duties:["Write articles, project copy, and internal documents","Support website and proposal content","Help explain technical work in plain language"],skills:["Technology curiosity","Clear writing craft","Strong editing","2+ years writing"]},{label:"Sales & Admin",summary:"For organized communicators who can support intake, outreach, scheduling, and early client conversations.",duties:["Respond to leads and schedule calls","Track intake details clearly","Relay client needs to project teams"],skills:["Friendly communication","Sales awareness","Admin discipline","Tool fluency"]},{label:"Full-Stack Mobile Developer",summary:"For developers who enjoy building mobile products, APIs, and useful tools for real teams and customers.",duties:["Build mobile features","Collaborate with product and design","Report progress clearly"],skills:["React Native","Node.js","Cloud functions","Git"]},{label:"Full-Stack Web Developer",summary:"For developers who can shape web apps, dashboards, integrations, and workflow-heavy products.",duties:["Build full-stack features","Support releases","Work with modern app stacks"],skills:["React or Vue","PHP or Node.js","Cloud hosting","Git"]}];e.s(["CareersContent",0,function(){let[e,n]=(0,r.useState)(""),a=(0,r.useRef)(null),i=(0,r.useMemo)(()=>s.map(e=>e.label),[]);async function l(e){e.preventDefault();let t=e.currentTarget,r=new FormData(t);n("Sending...");let a=await fetch("/api/open-position",{method:"POST",body:r});n(a.ok?"Application sent.":"Please check the form and try again."),a.ok&&t.reset()}return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(o.CommandBlock,{command:"ls ./open-roles",children:[(0,t.jsxs)("div",{className:"section-heading",children:[(0,t.jsx)("p",{className:"eyebrow",children:"remote-friendly collaborators"}),(0,t.jsx)("h2",{children:"Take part in thoughtful technical work."})]}),(0,t.jsx)("div",{className:"role-grid",children:s.map(e=>(0,t.jsxs)("article",{className:"role-card",children:[(0,t.jsx)("h3",{children:e.label}),(0,t.jsx)("p",{children:e.summary}),(0,t.jsx)("h4",{children:"Duties"}),(0,t.jsx)("ul",{children:e.duties.map(e=>(0,t.jsx)("li",{children:e},e))}),(0,t.jsx)("h4",{children:"Useful skills"}),(0,t.jsx)("ul",{children:e.skills.map(e=>(0,t.jsx)("li",{children:e},e))})]},e.label))})]}),(0,t.jsx)(o.CommandBlock,{command:"open ./application",children:(0,t.jsxs)("div",{className:"closing-grid",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"eyebrow",children:"introduce yourself"}),(0,t.jsx)("h2",{children:"Good people matter more than perfect checklists."}),(0,t.jsx)("p",{children:"We are interested in people who communicate clearly, care about craft, and want to help clients solve real softw
1are and workflow problems."}),(0,t.jsx)("p",{className:"muted",children:"We provide opportunities without regard to age, race, color, ancestry, national origin, religion, disability, sex, gender identity or expression, sexual orientation, or any other protected status."})]}),(0,t.jsxs)("form",{className:"contact-form compact",encType:"multipart/form-data",onSubmit:l,children:[(0,t.jsx)(o.HoneypotField,{id:"career-website"}),(0,t.jsxs)("label",{htmlFor:"career-name",children:["Name",(0,t.jsx)("input",{id:"career-name",name:"name",required:!0,autoComplete:"name","aria-label":"Name"})]}),(0,t.jsxs)("label",{htmlFor:"career-email",children:["Email",(0,t.jsx)("input",{id:"career-email",name:"email",type:"email",required:!0,autoComplete:"email","aria-label":"Email"})]}),(0,t.jsxs)("label",{htmlFor:"career-position",children:["Position",(0,t.jsxs)("select",{id:"career-position",name:"position",required:!0,defaultValue:"","aria-label":"Position",children:[(0,t.jsx)("option",{value:"",disabled:!0,children:"Select a position"}),i.map(e=>(0,t.jsx)("option",{value:e,children:e},e))]})]}),(0,t.jsxs)("label",{htmlFor:"career-salary",children:["Desired salary",(0,t.jsx)("input",{id:"career-salary",name:"salary",required:!0,"aria-label":"Desired salary"})]}),(0,t.jsxs)("label",{htmlFor:"career-message",children:["Message",(0,t.jsx)("textarea",{id:"career-message",name:"message",rows:5,required:!0,"aria-label":"Message"})]}),(0,t.jsxs)("label",{htmlFor:"career-file",children:["Resume or work sample",(0,t.jsx)("input",{id:"career-file",ref:a,type:"file",name:"file",accept:".pdf,.doc,.docx,.png,.jpg,.jpeg","aria-label":"Resume or work sample"})]}),(0,t.jsxs)("label",{className:"checkbox-line",htmlFor:"career-acceptance",children:[(0,t.jsx)("input",{id:"career-acceptance",name:"acceptance",type:"checkbox",required:!0,"aria-label":"I understand this form collects my personal information so I can be contacted"}),"I understand this form collects my personal information so I can be contacted."]}),(0,t.jsx)("button",{className:"button primary",type:"submit",children:"Submit"}),e&&(0,t.jsx)("p",{className:"form-status",role:"status","aria-live":"polite",children:e})]})]})})]})},"ProjectIntakeForm",0,function(){let[e,s]=(0,r.useState)(""),[i,l]=(0,r.useState)(""),[c,u]=(0,r.useState)(3e4),d=(0,n.useRouter)(),p="string"==typeof d.query.tier?d.query.tier:"",m="string"==typeof d.query.plan?d.query.plan:"",h=("website-care"===p?a.websiteCare.name:a.tiers.find(e=>e.id===p)?.name??"")||m,f=[{value:"Assessment / active issue (1-4 weeks)",label:"Assessment / active issue",min:2500,max:3e4,step:500,note:"Best for assessments, scoping, contained fixes, or one workflow that needs a plan."},{value:"Focused launch (1-2 months)",label:"Focused launch",min:5e3,max:25e3,step:2500,note:"Useful for a website rebuild, automation set, application improvement, or small internal tool."},{value:"Build phase (3-4 months)",label:"Build phase",min:15e3,max:25e4,step:5e3,note:"A better fit for custom portals, dashboards, integrations, and product work."},{value:"Larger rollout (5-6 months)",label:"Larger rollout",min:3e4,max:5e5,step:5e3,note:"For complex systems, multi-role workflows, mobile apps, or phased launches."},{value:"Platform / long-term (6+ months)",label:"Platform / long-term",min:75e3,max:1e6,step:5e3,note:"For funded builds, larger platforms, or long-term product/operations work."}],y=f.find(e=>e.value===i),g=e=>e>=1e6?"$1M":e>=1e3?`$${e/1e3}k`:`$${e}`;async function w(e){e.preventDefault();let t=e.currentTarget,n=Object.fromEntries(new FormData(t));s("Sending...");let r=await fetch("/api/tell-us-more",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});s(r.ok?"Message sent.":"Please check the form and try again."),r.ok&&(t.reset(),l(""),u(3e4))}return(0,t.jsxs)("form",{className:"contact-form project-form",onSubmit:w,children:[(0,t.jsx)(o.HoneypotField,{id:"project-website"}),h&&(0,t.jsxs)("div",{className:"selected-plan full-span",children:[(0,t.jsx)("span",{className:"file-icon",children:"INTERESTED IN"}),(0,t.jsx)("strong",{children:h}),(0,t.jsx)("input",{type:"hidden",name:"selectedPlan",value:h})]}),(0,t.jsxs)("label",{htmlFor:"project-name",children:["Name",(0,t.jsx)("input",{id:"project-name",name:"name",required:!0,autoComplete:"name","aria-label":"Name"})]}),(0,t.jsxs)("label",{htmlFor:"project-email",children:["Email",(0,t.jsx)("input",{id:"project-email",name:"email",type:"email",required:!0,autoComplete:"email","aria-label":"Email"})]}),(0,t.jsxs)("label",{htmlFor:"project-company",children:["Company",(0,t.jsx)("input",{id:"project-company",name:"company",required:!0,autoComplete:"organization","aria-label":"Company"})]}),(0,t.jsxs)("label",{htmlFor:"project-phone",children:["Phone (optional)",(0,t.jsx)("input",{id:"project-phone",name:"phone",autoComplete:"tel","aria-label":"Phone optional"})]}),(0,t.jsxs)("label",{className:"full-span",htmlFor:"project-seek",children:["What needs attention?",(0,t.jsx)("input",{id:"project-seek",name:"seek",required:!0,"aria-label":"What needs attention?",placeholder:"Application, cloud setup, AI prototype, workflow, portal, website, or integration..."})]}),(0,t.jsxs)("label",{htmlFor:"project-type",children:["Project type",(0,t.jsxs)("select",{id:"project-type",name:"projectType",required:!0,"aria-label":"Project type",defaultValue:"",children:[(0,t.jsx)("option",{value:"",disabled:!0,children:"Choose one"}
1),(0,t.jsx)("option",{value:"Application readiness assessment",children:"Application readiness assessment"}),(0,t.jsx)("option",{value:"Scoping sprint",children:"Scoping sprint"}),(0,t.jsx)("option",{value:"AI-assisted implementation plan",children:"AI-assisted implementation plan"}),(0,t.jsx)("option",{value:"Software rescue audit",children:"Software rescue audit"}),(0,t.jsx)("option",{value:"Vibe code assessment",children:"Vibe code assessment"}),(0,t.jsx)("option",{value:"Cloud or infrastructure health check",children:"Cloud or infrastructure health check"}),(0,t.jsx)("option",{value:"Fractional technical owner",children:"Fractional technical owner"}),(0,t.jsx)("option",{value:"Improve an existing system",children:"Improve an existing system"}),(0,t.jsx)("option",{value:"Build a new internal tool",children:"Build a new internal tool"}),(0,t.jsx)("option",{value:"Website reliability or workflow work",children:"Website reliability or workflow work"}),(0,t.jsx)("option",{value:"Automation or AI workflow",children:"Automation or AI workflow"}),(0,t.jsx)("option",{value:"Not sure yet",children:"Not sure yet"})]})]}),(0,t.jsxs)("div",{className:"estimate-grid full-span",children:[(0,t.jsxs)("label",{htmlFor:"project-timeline",children:["Timeline",(0,t.jsxs)("select",{id:"project-timeline",name:"timeline",required:!0,"aria-label":"Timeline",value:i,onChange:e=>{var t;let n;return t=e.currentTarget.value,n=f.find(e=>e.value===t),void(l(t),n&&u(e=>e<n.min||e>n.max?n.min:e))},children:[(0,t.jsx)("option",{value:"",disabled:!0,children:"Choose timeline first"}),f.map(e=>(0,t.jsx)("option",{value:e.value,children:e.value},e.value))]}),(0,t.jsx)("span",{className:"field-note",children:"Timeline sets the realistic minimum and maximum engagement range."})]}),(0,t.jsxs)("div",{className:"estimate-control",children:[(0,t.jsxs)("label",{htmlFor:"project-budget",children:["Target investment",(0,t.jsx)("strong",{children:y?g(c):"Choose timeline"})]}),(0,t.jsx)("input",{type:"hidden",name:"budget",value:y?`${g(c)} target (${g(y.min)}-${g(y.max)} available for ${y.label})`:""}),(0,t.jsx)("input",{id:"project-budget",type:"range",min:y?.min??2500,max:y?.max??1e6,step:y?.step??5e3,value:c,disabled:!y,onChange:e=>u(Number(e.currentTarget.value)),"aria-label":"Target investment","aria-valuetext":y?g(c):"Choose timeline first"}),(0,t.jsxs)("div",{className:"range-scale","aria-hidden":"true",children:[(0,t.jsx)("span",{children:y?g(y.min):"$2.5k min"}),(0,t.jsx)("span",{children:y?g(y.max):"$1M max"})]}),(0,t.jsx)("p",{children:y?y.note:"Choose a timeline first so the estimator can narrow the realistic range."})]})]}),(0,t.jsxs)("div",{className:"estimate-note full-span",children:[(0,t.jsx)("span",{className:"file-icon",children:"ESTIMATE MODE"}),(0,t.jsx)("p",{children:"This estimate helps us pair scope, timeline, and technical risk before recommending an assessment, scoping sprint, implementation plan, or simpler next step. Implementation is quoted separately after the scope is clear."})]}),(0,t.jsxs)("label",{htmlFor:"project-impact",children:["What happens if this does not improve?",(0,t.jsx)("input",{id:"project-impact",name:"impact",required:!0,"aria-label":"What happens if this does not improve?",placeholder:"Manual work, delayed delivery, support load, staff frustration, compliance risk..."})]}),(0,t.jsxs)("label",{className:"full-span",htmlFor:"project-business",children:["Business name",(0,t.jsx)("input",{id:"project-business",name:"business",required:!0,"aria-label":"Business name"})]}),(0,t.jsxs)("label",{className:"full-span",htmlFor:"project-comment",children:["Access, constraints, and project details",(0,t.jsx)("textarea",{id:"project-comment",name:"comment",rows:6,"aria-label":"Additional project details",placeholder:"Current tools, links, access you have, existing code or hosting, decision makers, constraints, and anything we should know before recommending a next step."})]}),(0,t.jsx)("button",{className:"button primary full-span",type:"submit",children:"Submit intake"}),e&&(0,t.jsx)("p",{className:"form-status full-span",role:"status","aria-live":"polite",children:e})]})}])},77423,e=>{"use strict";var t=e.i(91398),n=e.i(41158),r=e.i(25289),a=e.i(71695);e.s(["default",0,function(){return(0,t.jsxs)(a.SiteShell,{children:[(0,t.jsx)(a.SiteMeta,{title:"Contact",description:"Tell Make Directory Developers what needs to change. A few sentences about your situation is enough to start — working out whether it is a website, an application, an integration, or something in the infrastru
1cture is our end of the work."}),(0,t.jsxs)("main",{className:"page-main",children:[(0,t.jsx)(a.CommandBlock,{command:"ssh [email protected]",children:(0,t.jsxs)("div",{className:"contact-hero-grid",children:[(0,t.jsxs)("div",{className:"page-hero",children:[(0,t.jsx)("p",{className:"eyebrow",children:"make-directory:~/project-intake"}),(0,t.jsx)("h1",{children:"Tell us what needs to change."}),(0,t.jsx)("p",{children:"A few sentences about what is happening is enough to start. We will read it properly, come back with what we think it takes, and suggest a sensible first step — an assessment, a contained piece of work, or an ongoing tier. If we are the wrong people for it, we will say so and point you somewhere better."}),(0,t.jsx)("div",{className:"feature-grid compact-features",children:["What is not working","What it is costing you","What you have already tried","What better would look like","Any deadline you are working to"].map(e=>(0,t.jsxs)("div",{className:"feature-card",children:[(0,t.jsx)("span",{className:"file-icon",children:"-rwx"}),(0,t.jsx)("strong",{children:e})]},e))}),(0,t.jsxs)("div",{className:"intake-note",children:[(0,t.jsx)("strong",{children:"Not sure how to scope it?"}),(0,t.jsx)("p",{children:"Try the scope builder first. It asks plain-language questions and gives you a likely budget range and team shape, so you have a number in mind before we talk."}),(0,t.jsx)(n.default,{className:"button ghost",href:"/project-scope",children:"Scope it first"})]})]}),(0,t.jsx)(r.ProjectIntakeForm,{})]})}),(0,t.jsx)(a.CommandBlock,{command:"mail ./quick-note",children:(0,t.jsxs)("div",{className:"closing-grid",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"eyebrow",children:"lighter note"}),(0,t.jsx)("h2",{children:"Have a smaller question?"}),(0,t.jsx)("p",{children:"Send a quick message instead. A question, a referral, a partnership note, or a support request — anything that does not warrant the full intake yet."})]}),(0,t.jsx)(a.ContactPanel,{compact:!0})]})})]})]})}])},67700,(e,t,n)=>{let r="/contact";(window.__NEXT_P=window.__NEXT_P||[]).push([r,()=>e.r(77423)]),t.hot&&t.hot.dispose(function(){window.__NEXT_P.push([r])})},48761,e=>{e.v(t=>Promise.all(["static/chunks/1ae-9ft5cgojf.js"].map(t=>e.l(t))).then(()=>t(93594)))},28805,e=>{e.v(t=>Promise.all(["static/chunks/0h0r_q6xa9qr_.js"].map(t=>e.l(t))).then(()=>t(79466)))}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.