[{"data":1,"prerenderedAt":792},["ShallowReactive",2],{"content:site":3,"content:services":29,"content:posts\u002Fupgrading-an-existing-laravel-application":649},{"name":4,"description":5,"email":6,"location":7,"linkedin":8,"footerBlurb":9,"nav":10,"cta":26},"LuminateOne","Software development, integrations, AI tools and reporting for New Zealand businesses and startups.","hello@luminate.one","Hamilton, Waikato, New Zealand","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fluminateone","Software development, integrations, AI and reporting. Based in Hamilton, working across New Zealand and overseas.",[11,14,17,20,23],{"label":12,"to":13},"Who we help","\u002F#who-we-help",{"label":15,"to":16},"Services","\u002F#services",{"label":18,"to":19},"Work","\u002F#work",{"label":21,"to":22},"About","\u002Fabout",{"label":24,"to":25},"Articles","\u002Farticles",{"label":27,"to":28},"Talk to us","\u002F#contact",[30,130,269,360,453,560],{"slug":31,"order":32,"code":33,"title":34,"summary":35,"seoTitle":36,"seoDescription":37,"hero":38,"outcomes":62,"options":75,"fits":95,"faqs":111,"cta":127},"laravel",0,"","Laravel development","Laravel is where most of our work starts. New applications, upgrades and ongoing development on existing codebases.","New Zealand's Leading Laravel Experts","New Zealand's leading Laravel and PHP specialists. New applications, upgrades, hosting and maintenance from a Laravel team in Hamilton.",{"title":39,"intro":40,"primaryCta":61},"Laravel development, upgrades and support",[41],{"_type":42,"_key":43,"style":44,"markDefs":45,"children":46},"block","kg5","normal",[],[47,52,57],{"_type":48,"_key":49,"text":50,"marks":51},"span","kg6","We develop ",[],{"_type":48,"_key":53,"text":54,"marks":55},"kg7","new Laravel applications",[56],"strong",{"_type":48,"_key":58,"text":59,"marks":60},"kg8",", take over and upgrade existing ones, and connect them to the other systems your business uses. Most of our AI, integration and reporting work runs on Laravel too.",[],"Discuss a Laravel project",[63,66,69,72],{"title":64,"text":65},"New applications","Customer products and internal systems built on Laravel and Vue.",{"title":67,"text":68},"Upgrades","Move older Laravel and PHP versions forward and keep dependencies supported.",{"title":70,"text":71},"Existing codebases","Maintenance, fixes and new features on applications someone else started.",{"title":73,"text":74},"Connected systems","APIs and integrations between Laravel and the rest of your software.",{"eyebrow":76,"title":77,"intro":78,"items":79},"Laravel work","New builds, upgrades and ongoing care","Most Laravel work falls into one of these. A project often moves between them over time.",[80,83,86,89,92],{"title":81,"text":82},"Application development","Design and build a Laravel application around your requirements, with Vue for the interface where it suits. We plan the data structures, permissions and integrations before the build starts.",{"title":84,"text":85},"Upgrades and takeovers","Review the condition of an existing application, upgrade its Laravel and PHP versions and set up what is needed to maintain it. The review tells you what is involved before you commit to the work.",{"title":87,"text":88},"Hosting and maintenance","Keep the application updated, monitored and backed up, with development time for fixes and changes. The arrangement depends on the application and the support it needs.",{"title":90,"text":91},"Laravel developers for your team","Add experienced Laravel developers to your project to fix performance problems, solve difficult bugs or strengthen the application structure.",{"title":93,"text":94},"AI in Laravel applications","Add AI features to a Laravel application, such as document reading, search and automated decisions, using your own data and business rules.",{"eyebrow":96,"title":97,"intro":98,"photo":99,"items":101},"Why Laravel","A framework that holds up over time","We start with Laravel because it lets us build quickly and leaves you with an application other developers can work on.",{"placeholder":100},"Photo. Laravel code in an editor beside the running application",[102,105,108],{"title":103,"text":104},"Widely used","A large community and a familiar structure, so the application isn't tied to one developer.",{"title":106,"text":107},"Security built in","Protection against common attacks, with regular releases and security fixes.",{"title":109,"text":110},"A complete toolkit","Queues, scheduling, authentication and testing come with the framework.",{"eyebrow":112,"title":113,"items":114},"Questions","About Laravel development",[115,118,121,124],{"question":116,"answer":117},"Can you take over our Laravel application?","Usually, yes. We start by reviewing the codebase, versions, hosting and documentation, so you know what is involved before we take it on.",{"question":119,"answer":120},"Our application runs an old Laravel version. Is that a problem?","Older versions stop receiving security fixes. We can assess what an upgrade involves and whether it can happen in stages.",{"question":122,"answer":123},"Do you work with businesses in Australia?","Yes. We are based in Hamilton and work with Laravel clients across New Zealand and Australia.",{"question":125,"answer":126},"Do you only work in Laravel?","Laravel is where we start, and most of our applications use it. We also work with Vue, other PHP frameworks and whatever systems the application needs to connect to.",{"title":128,"text":129,"label":61},"Tell us about your Laravel project","Describe the application, its Laravel version if it already exists, and what you need done.",{"slug":131,"order":132,"code":33,"title":133,"summary":134,"seoTitle":135,"seoDescription":136,"hero":137,"outcomes":157,"options":170,"fits":190,"gallery":218,"faqs":251,"cta":266},"integrations",1,"Integrations","Connect business software, machines and IoT devices with Nebula, our integration platform.","Software and machine integrations in NZ","Integrations and automation from LuminateOne in Hamilton. Connect business software, databases, machines and IoT devices using Nebula.",{"title":138,"intro":139,"primaryCta":156},"Connect the systems your business relies on",[140],{"_type":42,"_key":141,"style":44,"markDefs":142,"children":143},"kgh",[],[144,148,152],{"_type":48,"_key":145,"text":146,"marks":147},"kgi","We connect business software, machines and IoT devices using ",[],{"_type":48,"_key":149,"text":150,"marks":151},"kgj","Nebula",[56],{"_type":48,"_key":153,"text":154,"marks":155},"kgk",", our integration platform. Bring equipment data into your systems, move information between applications and automate tasks across them.",[],"Discuss an integration",[158,161,164,167],{"title":159,"text":160},"Less duplicate entry","Transfer information between systems without re-entering the same records.",{"title":162,"text":163},"Business rules","Handle field mappings, calculations and validation within the connection.",{"title":165,"text":166},"Scheduled tasks","Automate work that needs to run at particular times or in response to events.",{"title":168,"text":169},"Operational visibility","Make the status of transfers and automated tasks easier to track.",{"eyebrow":171,"title":172,"intro":173,"items":174},"What we do","Data connections and automated tasks","An integration may link applications, collect data from equipment or coordinate work across several systems.",[175,178,181,184,187],{"title":176,"text":177},"Application integrations","Connect cloud applications, databases and custom software using the interfaces available. Map records and fields so the receiving system gets the information it needs.",{"title":179,"text":180},"Machine and IoT integrations","Collect data from machines, sensors and connected devices through their available interfaces. Bring readings, status and events into business systems and dashboards.",{"title":182,"text":183},"Workflow automation","Run tasks on a schedule or in response to an event, with rules for validation, exceptions and actions that need approval.",{"title":185,"text":186},"AI-assisted processing","Combine document reading or information extraction with defined integration rules. AI connections can also provide access to selected functions through MCP.",{"title":188,"text":189},"Changes to existing connections","Adapt integrations when an application changes, new information is needed or a business process is revised.",{"eyebrow":191,"title":192,"intro":193,"photo":194,"items":199},"Connections","What we can connect","Business software, factory equipment, sensors and other connected systems.",{"image":195,"placeholder":198},{"src":196,"alt":197},"\u002Fimages\u002Fnebula\u002Flaptop-machine.webp","Nebula machine summary with live units, rate and motor temperature, and its integrations to SAP Business One, MaintainX, InfluxDB and Power BI, all synced","Photo. The Nebula dashboard on a screen, or a factory floor",[200,203,206,209,212,215],{"title":201,"text":202},"Time, payroll and billing","Transfer approved time records to pay and billing systems, with the relevant mappings and calculations.",{"title":204,"text":205},"Machines and production equipment","Bring machine status, output and operating data into production reports and maintenance systems.",{"title":207,"text":208},"IoT devices and sensors","Collect readings such as temperature, energy use and equipment condition for monitoring, reporting and alerts.",{"title":210,"text":211},"Access control systems","Bring door status and access events into operational dashboards.",{"title":213,"text":214},"Operational data","Bring information from production or job systems into the applications used by the wider business.",{"title":216,"text":217},"Scheduled operations","Run recurring data transfers and system tasks without a manual trigger.",{"eyebrow":150,"title":219,"intro":220,"items":221},"One view of a manufacturing site","An example Nebula dashboard for a factory. Machine data, the staff roster and service schedules come from separate systems and show on one screen.",[222,230,237,244],{"wide":223,"photo":224,"caption":229},true,{"image":225,"placeholder":228},{"src":226,"alt":227},"\u002Fimages\u002Fnebula\u002Fattendance.webp","Nebula attendance screen with the day shift, clock-in times and who is late, on break or on leave","Screenshot. Attendance","Who is on site this shift, who clocked in late and who is on leave.",{"photo":231,"caption":236},{"image":232,"placeholder":235},{"src":233,"alt":234},"\u002Fimages\u002Fnebula\u002Fservice-windows.webp","Weekly service window for each machine, with its day, start time and next service","Screenshot. Service windows","Each machine stops once a week for service. Moving a window updates machine status and the production figures.",{"photo":238,"caption":243},{"image":239,"placeholder":242},{"src":240,"alt":241},"\u002Fimages\u002Fnebula\u002Fproduction.webp","Units made by each machine on each day of the month, coloured against target","Screenshot. Production","Units each machine made per day this month. Green met the target, red fell short.",{"wide":223,"photo":245,"caption":250},{"image":246,"placeholder":249},{"src":247,"alt":248},"\u002Fimages\u002Fnebula\u002Fmachines.webp","Status, output today, utilisation and next service for each factory machine","Screenshot. Machines","Every machine with its status, output today, utilisation and next service.",{"eyebrow":112,"title":252,"items":253},"About integrations",[254,257,260,263],{"question":255,"answer":256},"What is Nebula?","Nebula is our integration platform. We use it to connect systems and run automated tasks with business-specific rules.",{"question":258,"answer":259},"Can you connect our systems?","That depends on the interfaces and permissions available. An API, database connection or supported file exchange can provide a route. Send us the system names and what needs to move between them.",{"question":261,"answer":262},"Could an existing connector do the job?","It may. The choice depends on the systems, the logic required and the ongoing cost of running the connection. A built-in integration is worth checking before commissioning custom work.",{"question":264,"answer":265},"What needs to be considered after launch?","Access, monitoring, error handling and changes to the connected systems all affect how an integration is maintained. Hosting, support and licensing arrangements depend on the proposed solution.",{"title":267,"text":268,"label":156},"Which systems need to connect?","Tell us what information needs to move, in which direction and how often.",{"slug":270,"order":271,"code":272,"title":273,"summary":274,"seoTitle":275,"seoDescription":276,"hero":277,"outcomes":297,"options":309,"fits":323,"faqs":342,"cta":357},"web-and-mobile",2,"03 · S","Web & mobile development","Custom applications, customer portals and business software, with development and ongoing maintenance.","Custom software and app development in NZ","Custom web and mobile software for New Zealand businesses and startups. Laravel and Vue development from LuminateOne in Hamilton.",{"title":278,"intro":279,"primaryCta":296},"Web and mobile applications for your business",[280],{"_type":42,"_key":281,"style":44,"markDefs":282,"children":283},"kgl",[],[284,288,292],{"_type":48,"_key":285,"text":286,"marks":287},"kgm","We build ",[],{"_type":48,"_key":289,"text":290,"marks":291},"kgn","web and mobile applications",[56],{"_type":48,"_key":293,"text":294,"marks":295},"kgo",", including customer portals, subscription products and internal business systems. We use Laravel and Vue, connect the application to your other software, and maintain it as requirements change.",[],"Discuss a project",[298,301,304,306],{"title":299,"text":300},"Purpose-built functionality","Support the tasks and requirements that existing products do not cover.",{"title":302,"text":303},"Usable interfaces","Give customers and staff a clear way to complete the work they need to do.",{"title":73,"text":305},"Link the application to payments, accounting and other business software.",{"title":307,"text":308},"Further development","Maintain and extend the application as requirements change.",{"eyebrow":310,"title":311,"intro":312,"items":313},"Development","New applications and existing platforms","The work may involve a new product, an addition to an established system or an application that needs ongoing care.",[314,317,320],{"title":315,"text":316},"Application design and development","Translate business requirements into interfaces, data structures and application behaviour. The scope depends on who will use the software and what they need to accomplish.",{"title":318,"text":319},"System integrations","Connect the application to other software through suitable APIs and integrations, including Nebula where appropriate.",{"title":321,"text":322},"Maintenance and improvements","Investigate issues, update dependencies and develop additional functionality in existing applications. Taking over a platform depends on its condition and technical requirements.",{"eyebrow":324,"title":325,"intro":326,"photo":327,"items":329},"Applications","Software for customers and operations","Custom development can support a distinct product or a particular part of the business.",{"placeholder":328},"Product screens on laptop and phone",[330,333,336,339],{"title":331,"text":332},"Customer portals","Accounts, bookings, orders and other services customers need to access directly.",{"title":334,"text":335},"Internal systems","Applications for managing jobs, records and workflows specific to your organisation.",{"title":337,"text":338},"Subscription products","Member access, recurring billing and the features that make up a subscription service.",{"title":340,"text":341},"Existing Laravel applications","Maintenance, improvements and integration work on an established codebase.",{"eyebrow":112,"title":343,"items":344},"About a software project",[345,348,351,354],{"question":346,"answer":347},"What affects the cost?","The features, integrations, data migration and operating requirements all contribute. Existing designs or software can also affect the scope. A useful estimate needs enough detail about these requirements.",{"question":349,"answer":350},"Can you work on an existing application?","We can assess whether it fits our technical experience. The framework, codebase, documentation and current hosting arrangements help establish what is involved.",{"question":352,"answer":353},"What about hosting and support?","These need to suit the application, its users and the level of support required. They form part of the project discussion rather than a single arrangement for every application.",{"question":355,"answer":356},"What about ownership and access?","Code ownership, third-party licences, repository access and hosting accounts should be explicit in the project agreement.",{"title":358,"text":359,"label":296},"Tell us about the application","Describe who will use it, what it needs to do and any existing systems it needs to work with.",{"slug":361,"order":362,"code":363,"title":364,"summary":365,"seoTitle":366,"seoDescription":367,"hero":368,"outcomes":387,"options":400,"fits":416,"faqs":435,"cta":450},"ai-at-work",3,"02 · E","AI at work","AI workspaces, assistants and integrations built around your information and business systems.","AI solutions and automation for NZ businesses","Practical AI implementation for New Zealand businesses: workspace configuration, business system connections, assistants and team training.",{"title":369,"intro":370,"primaryCta":386},"Connect AI to your business systems",[371],{"_type":42,"_key":372,"style":44,"markDefs":373,"children":374},"kgd",[],[375,378,382],{"_type":48,"_key":376,"text":286,"marks":377},"kge",[],{"_type":48,"_key":379,"text":380,"marks":381},"kgf","AI assistants, document processing tools and connections to business systems",[56],{"_type":48,"_key":383,"text":384,"marks":385},"kgg",". We also configure shared AI workspaces and train teams to use them, with access and review steps suited to the task.",[],"Discuss AI in your business",[388,391,394,397],{"title":389,"text":390},"Relevant context","Business documents and instructions available where your team uses AI.",{"title":392,"text":393},"System connections","Access to information in your existing software, within defined permissions.",{"title":395,"text":396},"Task-specific tools","Assistants and automations for particular jobs and workflows.",{"title":398,"text":399},"Practical adoption","Training and guidance tied to the tools and tasks your team uses.",{"eyebrow":171,"title":401,"intro":402,"items":403},"From workspace setup to custom integrations","The appropriate setup depends on the task, the information involved and the systems you already use.",[404,407,410,413],{"title":405,"text":406},"Tool selection and configuration","Assess tools against your requirements and existing subscriptions. Configure shared context, instructions and access for the intended use.",{"title":408,"text":409},"Connections to business systems","Build connections that let AI retrieve information or carry out defined actions in other software. MCP is one approach we use for these integrations.",{"title":411,"text":412},"Assistants and automation","Develop tools for tasks such as searching documents, extracting information and preparing responses, with review points appropriate to the work.",{"title":414,"text":415},"Team training","Help people use the configured tools, recognise their limitations and decide when an output needs checking.",{"eyebrow":417,"title":418,"intro":419,"photo":420,"items":422},"Potential applications","Where AI can help","A clear task and a way to check the output make it easier to judge whether AI is useful.",{"placeholder":421},"Photo. Team at work, natural light",[423,426,429,432],{"title":424,"text":425},"Document search","Find relevant information across policies, procedures and other business documents.",{"title":427,"text":428},"Information extraction","Read information from forms or invoices for validation and use in another system.",{"title":430,"text":431},"Inbox and support assistance","Summarise enquiries, categorise messages or prepare replies for review.",{"title":433,"text":434},"Business system queries","Retrieve customer, job or invoice information through a controlled connection.",{"eyebrow":112,"title":436,"items":437},"About AI implementation",[438,441,444,447],{"question":439,"answer":440},"Do we need a particular AI tool?","The choice depends on your tasks, subscriptions, access requirements and the information involved. An existing tool may be sufficient; some work calls for a custom integration.",{"question":442,"answer":443},"How is access to our information handled?","The setup needs to account for provider data terms, account settings and permissions in each connected system. These need to be assessed for the information and actions involved.",{"question":445,"answer":446},"Does AI need to replace our existing software?","An integration can make information in existing systems available to AI. What is possible depends on the access those systems provide.",{"question":448,"answer":449},"What is MCP?","Model Context Protocol is a standard for connecting AI applications to tools and information sources. It can be used to expose specific functions from your business software.",{"title":451,"text":452,"label":386},"Where could AI be useful in your business?","Describe the task, the tools you use and what a useful result would look like.",{"slug":454,"order":455,"code":456,"title":457,"summary":458,"seoTitle":459,"seoDescription":460,"hero":461,"outcomes":492,"options":505,"fits":518,"faqs":539,"cta":557},"data-and-reporting",4,"04 · W","Data & reporting","Connect business data and develop reports that help you understand performance and operations.","BigQuery, Power BI and data reporting in NZ","BigQuery, Power BI and data reporting from LuminateOne, a Google Cloud Partner in New Zealand. Bring your business data into useful dashboards.",{"title":462,"intro":463,"primaryCta":491},"Bring your data together for better reporting",[464],{"_type":42,"_key":465,"style":44,"markDefs":466,"children":471},"kgp",[467],{"_key":468,"_type":469,"href":470},"kgt","link","https:\u002F\u002Fcloud.google.com\u002Ffind-a-partner\u002Fpartner\u002Fluminateone",[472,475,479,483,487],{"_type":48,"_key":473,"text":286,"marks":474},"kgq",[],{"_type":48,"_key":476,"text":477,"marks":478},"kgr","reports and dashboards",[56],{"_type":48,"_key":480,"text":481,"marks":482},"kgs"," using data from your sales, job, financial and operational systems. We combine records, automate data preparation and show the detail your team needs to track performance. LuminateOne is a ",[],{"_type":48,"_key":484,"text":485,"marks":486},"kgu","Google Cloud Partner",[468],{"_type":48,"_key":488,"text":489,"marks":490},"kgv",".",[],"Discuss your reporting",[493,496,499,502],{"title":494,"text":495},"Connected information","Combine relevant records from the systems involved in a business question.",{"title":497,"text":498},"Consistent measures","Make definitions and calculations explicit so reports can be compared meaningfully.",{"title":500,"text":501},"Less manual preparation","Reduce repeated exports and spreadsheet assembly where the source systems allow it.",{"title":503,"text":504},"Useful detail","See the figures at the level needed to investigate performance and make decisions.",{"eyebrow":171,"title":506,"intro":507,"items":508},"Data connections, reports and dashboards","We connect source data, prepare it for reporting and build the reports and dashboards your team uses.",[509,512,515],{"title":510,"text":511},"Data integration","Bring information from different systems into a form that can be compared and analysed. This includes matching records, handling differences in structure and checking source data.",{"title":513,"text":514},"Reports and dashboards","Build recurring reports and dashboards in Power BI or as custom dashboards, with agreed measures, clear calculations and refresh timing suited to the source data.",{"title":516,"text":517},"Reporting infrastructure","Develop the storage, transformations and refresh arrangements needed for the reporting workload, whether it uses an existing MySQL or SQL Server database or a data warehouse such as Google BigQuery.",{"eyebrow":324,"title":519,"intro":520,"photo":521,"items":526},"Questions that span more than one system","Reporting is especially useful when understanding a result means joining operational and financial information.",{"image":522,"placeholder":525},{"src":523,"alt":524},"\u002Fimages\u002Fnebula\u002Finsights.webp","Production analytics dashboard with OEE, units against target, downtime by cause, OEE by line, output by hour and a month forecast","Photo. Reporting dashboard on a screen in a meeting",[527,530,533,536],{"title":528,"text":529},"Job and customer performance","Compare time, costs and invoices to understand margins and the work behind them.",{"title":531,"text":532},"Sales and billing","Compare pipeline, completed work and invoicing to see where revenue stands.",{"title":534,"text":535},"Management reporting","Bring agreed measures together for recurring business reviews.",{"title":537,"text":538},"Operational dashboards","Show job, stock or capacity information, with refresh timing suited to the available data.",{"eyebrow":112,"title":540,"items":541},"About data and reporting",[542,545,548,551,554],{"question":543,"answer":544},"Do we need a data warehouse?","Not necessarily. Existing reports or a direct connection may be sufficient. A separate warehouse may help when reporting needs to combine sources, preserve history or support more complex analysis.",{"question":546,"answer":547},"Are you a Google Cloud Partner?","Yes. We are listed in Google's partner directory. Google approved our data solution for BigQuery in 2024. We use Google Cloud where it suits the project, alongside tools such as Power BI.",{"question":549,"answer":550},"Can you use the tools we already have?","That depends on what they can connect to and the reporting requirements. Existing licences, access controls and maintenance needs are relevant to the choice.",{"question":552,"answer":553},"How current will the reports be?","Refresh timing depends on source system access, data volumes and how current the information needs to be. The report should make that timing clear to its users.",{"question":555,"answer":556},"What about sensitive data?","The reporting setup needs to account for who can access the source records, where data is stored and which details each audience needs to see.",{"title":558,"text":559,"label":491},"What do you need your reporting to show?","Tell us which systems hold the information and what you need to understand from it. We'll come back with how we would approach it.",{"slug":561,"order":562,"code":33,"title":563,"summary":564,"seoTitle":565,"seoDescription":566,"hero":567,"outcomes":587,"options":600,"fits":614,"faqs":633,"cta":645},"tech-advice",5,"Technical advice","Help reviewing a software proposal, assessing an existing application or deciding what to build.","Technology advice for NZ businesses","Technology advice for New Zealand businesses and startups. Assess software proposals, review existing systems and consider what to build or buy.",{"title":568,"intro":569,"primaryCta":586},"Advice on software, suppliers and investment",[570],{"_type":42,"_key":571,"style":44,"markDefs":572,"children":573},"kg9",[],[574,578,582],{"_type":48,"_key":575,"text":576,"marks":577},"kga","We review ",[],{"_type":48,"_key":579,"text":580,"marks":581},"kgb","software proposals and existing applications",[56],{"_type":48,"_key":583,"text":584,"marks":585},"kgc",", compare suppliers and help plan development work. A review can cover scope, costs, technical condition and the work needed to maintain or extend a system.",[],"Discuss a decision",[588,591,594,597],{"title":589,"text":590},"Compare proposals","Understand differences in scope, assumptions and ongoing costs.",{"title":592,"text":593},"Assess existing systems","Identify technical constraints, maintenance needs and areas of risk.",{"title":595,"text":596},"Plan investment","Consider priorities, dependencies and the implications of delaying work.",{"title":598,"text":599},"Build or buy","Compare custom development with products already available.",{"eyebrow":601,"title":602,"intro":603,"items":604},"What we review","Proposals, applications and project plans","Get a review of a specific proposal, an existing application or the scope of a new project.",[605,608,611],{"title":606,"text":607},"Software and supplier reviews","Examine what a proposal covers, what it leaves open and how it fits your requirements. A useful comparison includes implementation, maintenance and the cost of future changes.",{"title":609,"text":610},"System reviews","Look at the software you rely on, its dependencies and the practical options for maintaining, extending or replacing it.",{"title":612,"text":613},"Technology planning","Connect proposed technical work to business priorities, with attention to cost, risk and the order in which decisions need to be made.",{"eyebrow":615,"title":616,"intro":617,"photo":618,"items":620},"Where it helps","When a technical review helps","Before choosing a supplier, replacing a system or taking over an application.",{"placeholder":619},"Photo. Two people at a table going through a document",[621,624,627,630],{"title":622,"text":623},"Comparing quotes","Establish whether suppliers are pricing the same requirements and responsibilities.",{"title":625,"text":626},"Replacing a system","Consider data migration, existing integrations and the effect on day-to-day operations.",{"title":628,"text":629},"Taking over software","Understand the condition of an application and what is needed to keep it running.",{"title":631,"text":632},"Planning a new product","Explore technical choices before committing to a substantial build.",{"eyebrow":112,"title":634,"items":635},"About technical advice",[636,639,642],{"question":637,"answer":638},"Can you review a proposal from another supplier?","Yes. We can help assess its scope, assumptions and technical approach against what you need.",{"question":640,"answer":641},"Can advice lead to development work?","Yes. We also build software and integrations. Where we propose our own services or Nebula platform, we explain how they fit the requirements.",{"question":643,"answer":644},"What should we send you?","A description of the decision, any relevant proposal or system details, and any deadline you are working towards. Please leave out passwords and sensitive records.",{"title":646,"text":647,"label":648},"Tell us what you’re weighing up","Send us the proposal, application details or project outline you want help with.","Get in touch",{"slug":650,"title":651,"date":652,"excerpt":653,"audiences":654,"author":657,"body":658},"upgrading-an-existing-laravel-application","Upgrading an existing Laravel application","2026-10-27","The code, dependencies and day-to-day workflows involved in moving an existing application forward.",[655,656],"ctos-and-tech-leads","owners-and-ceos","Nathanael Hollings",[659,667,676,684,692,700,708,716,724,732,740,748,756,764],{"_type":42,"_key":660,"style":44,"markDefs":661,"children":662},"kbc",[],[663],{"_type":48,"_key":664,"text":665,"marks":666},"kbd","A Laravel upgrade involves the application around the framework as well as the framework itself. PHP versions, third-party packages, background jobs and external connections can all affect the work.",[],{"_type":42,"_key":668,"style":669,"markDefs":670,"children":671},"kbe","h2",[],[672],{"_type":48,"_key":673,"text":674,"marks":675},"kbf","Establish what is running",[],{"_type":42,"_key":677,"style":44,"markDefs":678,"children":679},"kbg",[],[680],{"_type":48,"_key":681,"text":682,"marks":683},"kbh","Start with the application code, installed versions, hosting configuration and deployment process. Identify scheduled tasks, queue workers and services such as payments or email that the application depends on.",[],{"_type":42,"_key":685,"style":44,"markDefs":686,"children":687},"kbi",[],[688],{"_type":48,"_key":689,"text":690,"marks":691},"kbj","That inventory helps establish which parts need to change together and whether the upgrade can be delivered in stages.",[],{"_type":42,"_key":693,"style":669,"markDefs":694,"children":695},"kbk",[],[696],{"_type":48,"_key":697,"text":698,"marks":699},"kbl","Check the workflows people rely on",[],{"_type":42,"_key":701,"style":44,"markDefs":702,"children":703},"kbm",[],[704],{"_type":48,"_key":705,"text":706,"marks":707},"kbn","Identify the tasks customers and staff need to complete. Sign-in, permissions, billing, imports and exports often deserve particular attention.",[],{"_type":42,"_key":709,"style":44,"markDefs":710,"children":711},"kbo",[],[712],{"_type":48,"_key":713,"text":714,"marks":715},"kbp","Existing automated tests help, but the upgrade also needs checks against how the application is used. Add coverage where a regression would interrupt an important workflow.",[],{"_type":42,"_key":717,"style":669,"markDefs":718,"children":719},"kbq",[],[720],{"_type":48,"_key":721,"text":722,"marks":723},"kbr","Update and verify dependencies",[],{"_type":42,"_key":725,"style":44,"markDefs":726,"children":727},"kbs",[],[728],{"_type":48,"_key":729,"text":730,"marks":731},"kbt","Review the upgrade instructions for each version involved and check compatibility across the application’s packages. Some dependencies may need replacing or changes to the code that uses them.",[],{"_type":42,"_key":733,"style":44,"markDefs":734,"children":735},"kbu",[],[736],{"_type":48,"_key":737,"text":738,"marks":739},"kbv","Run the updated application in a separate environment, including its scheduled tasks and background processing. Check integrations using suitable test accounts or sample data.",[],{"_type":42,"_key":741,"style":669,"markDefs":742,"children":743},"kbw",[],[744],{"_type":48,"_key":745,"text":746,"marks":747},"kbx","Plan the release",[],{"_type":42,"_key":749,"style":44,"markDefs":750,"children":751},"kby",[],[752],{"_type":48,"_key":753,"text":754,"marks":755},"kbz","Deployment may include database changes, updated workers and changes to the hosting environment. Prepare backups, decide how the release will be checked and establish a recovery plan before making the change.",[],{"_type":42,"_key":757,"style":44,"markDefs":758,"children":759},"kc0",[],[760],{"_type":48,"_key":761,"text":762,"marks":763},"kc1","After release, check errors, queued jobs and the workflows identified earlier.",[],{"_type":42,"_key":765,"style":44,"markDefs":766,"children":772},"kc2",[767,770],{"_key":768,"_type":469,"href":769},"kc4","\u002Fservices\u002Flaravel",{"_key":771,"_type":469,"href":28},"kc7",[773,777,781,785,788],{"_type":48,"_key":774,"text":775,"marks":776},"kc3","We ",[],{"_type":48,"_key":778,"text":779,"marks":780},"kc5","upgrade and maintain Laravel applications",[768],{"_type":48,"_key":782,"text":783,"marks":784},"kc6",", including codebases started by other developers. ",[],{"_type":48,"_key":786,"text":648,"marks":787},"kc8",[771],{"_type":48,"_key":789,"text":790,"marks":791},"kc9"," with the application’s current version and what needs attention.",[],1793765698474]