Debug a failed deployment
Separate build, configuration, startup and routing failures so each test answers one useful question.
More practical guidance
Guides marked Free are open to everyone. Unlock all guides from Β£3.99 β one payment, no automatic renewal.
Take over an app or website your developer left behindβ Golden EditionSecure the accounts, code, data and rights to an app or website a developer or agency built for you, stabilise it, and decide whether to fix, rebuild or replace it.Recover a hacked website or web app and lock it downβ Golden EditionContain a hacked site without destroying evidence, rotate every secret in the right order, decide clean-up or rebuild, meet UK reporting duties and get trusted again.Launch a paid web app legally and safelyβ Golden EditionTake a web app from free project to paid product in the UK: the right business set-up, consumer-proof terms, privacy, VAT, payments and operations that keep customers.π In-depth: The complete guide to building software with AI assistanceFreeBuild reliable software with AI help: plan clearly, prompt well, review and test every change, keep it secure and deploy and maintain it with confidence. Reading time: 15β20 minutes.Find coding project ideas that solve real problemsπ MembersPick a small coding project from a curated set of practical ideas for home, hobbies and small business, then scope it so you actually finish it.Plan a winter of coding practice that sticksπ MembersBuild a realistic October to February coding practice plan using puzzles, rebuild projects, meetups and teaching, so your skills grow steadily through winter.Package a small app in a Docker containerπ MembersWrite a Dockerfile, build and run your app in a container, keep secrets out of the image and share it, so it runs the same on any machine or server.Review a colleague's code constructivelyπ MembersRun a focused, kind and useful code review: what to check in which order, how to word comments, and when to approve, request changes or talk in person.Find and fix text faster with regular expressionsπ MembersLearn the regex patterns you will actually use to search, validate and bulk-edit text in your editor or code, and test them safely before changing files.Undo mistakes in Git without losing workπ MembersPick the right Git command to undo an edit, a bad commit or a wrong reset, and recover work you thought was gone using the reflog.Prepare for a junior developer technical interviewπ MembersGet ready for coding tests, take-home tasks and technical questions with a two-week plan, a talk-aloud routine and answers built from your own projects.Make your first open-source contributionπ MembersFind a beginner-friendly project, pick a suitable issue, and submit a clean pull request that maintainers are happy to review and merge.Set up VS Code as a tidy, productive code editorπ MembersConfigure Visual Studio Code with sensible settings, a few essential extensions, format on save and the built-in terminal so coding feels smoother.Add useful logging to a small applicationπ MembersReplace scattered print statements with structured logs at the right levels, so you can diagnose problems in a live app without leaking personal data.Write a README that helps people use your projectπ MembersWrite a clear README so a stranger, a colleague or future you can install, run and understand your project in minutes without asking you questions.Fetch data from a public API with Pythonπ MembersWrite a short Python script that requests data from a public web API, checks the response properly and saves the results to a CSV file you can open in a spreadsheet.Schedule a script to run automaticallyπ MembersSet a Python or shell script to run on a regular schedule using Windows Task Scheduler or cron, with logging so you can tell whether each run actually worked.Use a debugger instead of print statementsπ MembersLearn to pause your code with breakpoints, step through it line by line and inspect variables so you can find the real cause of a bug faster than guessing.Handle dates, time zones and clock changes in codeπ MembersStore and display dates and times correctly across GMT and British Summer Time so bookings, reminders and reports stay right when the clocks change.Choose your first programming languageFreePick a sensible first programming language based on what you want to build, set up a free tool to write code and finish a tiny first program in one sitting.Use the command line with confidenceFreeOpen a terminal, move around folders, create and inspect files and run programs using a handful of basic commands, while avoiding the ones that can cause damage.Automate a boring file task with PythonFreeWrite a short, safe Python script that renames, sorts or copies a folder of files for you, testing it on copies first so nothing important is lost.Learn basic SQL with a free SQLite databaseFreeCreate a small SQLite database on your own computer and practise the core SQL commands for creating tables, adding data, filtering, sorting and summarising.Publish a simple website free with GitHub PagesFreePut a small HTML website online for free using GitHub Pages, check it works on phones and update it safely whenever you make changes.Read an error message and stack trace calmlyπ MembersWork out what an error message means, find the line that caused it and fix the real cause instead of guessing or rewriting code blindly.Set up a Python project with a virtual environmentπ MembersCreate an isolated Python environment for each project, install packages cleanly and record dependencies so the project runs on any machine.Resolve a Git merge conflict safelyπ MembersUnderstand why a merge conflict happened, choose the right combination of changes and finish the merge without losing anyone's work.Check your website for basic accessibilityπ MembersRun quick manual and automated checks so more people, including disabled users, can read, navigate and use your website without barriers.Speed up a slow-loading web pageπ MembersMeasure what makes a web page slow, fix the biggest problems such as heavy images and scripts, and check the page is faster for real visitors.Triage an API request failureFreeReduce a failing request to method, URL, authentication, payload and response evidence without exposing secrets.Plan a safe database migrationFreeMake schema change, data movement, application compatibility and rollback observable before production traffic depends on them.Write a clear prompt so AI writes useful codeπ MembersWrite a structured prompt with goal, context, constraints and output format so an AI assistant produces code that fits your project first time.Review and test AI-generated code before using itπ MembersCheck AI-written code for correctness, security and fit with your project, then test it properly before it goes anywhere near real users or data.Set up Git for a small projectπ MembersPut a small project under Git version control, make clean commits, ignore files that should not be shared and back it up to a remote repository.Keep passwords and API keys out of your codeπ MembersMove passwords, API keys and tokens into environment variables, stop them reaching Git and know what to do quickly if a secret is ever exposed.Plan an app before you start codingπ MembersPlan a small app on paper first by defining users, key screens, data and a first version, so building it with or without AI goes faster and smoother.Build a feature with AI in small, testable stepsπ MembersAdd a new feature to your app with an AI assistant by splitting it into small increments, testing each one and committing only code you understand.Add automated tests to existing code with AI helpπ MembersProtect an untested project by writing tests that capture current behaviour, using an AI assistant to draft them and checking they catch real problems.Refactor messy code safely with an AI assistantπ MembersClean up tangled or duplicated code with an AI assistant without breaking it, using tests, small changes and careful review of every step.Set up continuous integration for a small projectπ MembersMake every code change run tests and checks automatically, so problems in human or AI-written code are caught before they reach your main branch or users.Run a security check before launching a web appπ MembersWork through a practical pre-launch security review of your web app, covering secrets, logins, permissions, input handling, dependencies and personal data.Quick checklist
- Commit and environment recorded
- First relevant error saved
- Failing stage identified
- Runtime and config compared
- One change tested at a time
Common problems
Build succeeds but the service is unhealthy
Inspect the start command, bind address, assigned port, migrations and startup time before changing application logic.
It works locally only
Compare runtime versions, case-sensitive paths, ignored files, environment variables and network dependencies.
Frequently asked questions
Which programming language should a beginner learn first?
Choose based on what you want to build: JavaScript for websites, Python for automation, data and general scripting, or Kotlin or Swift for mobile apps. The core ideas, such as variables, loops and functions, transfer between languages. Picking one and building small projects matters more than finding the perfect language.
Can I build software with AI if I cannot code?
AI tools can write a lot of code for you, but you still need to understand what you are asking for and check that the result works and is safe. Learning the basics of reading code, running it and testing it makes AI far more useful. Start with small projects and build your understanding step by step.
What is Git and do I really need it?
Git is a version control tool that records snapshots of your code so you can see what changed and go back if something breaks. Even for a small personal project it acts as a safety net and a history of your work. It also makes sharing and backing up code to a hosted service simple.
How do I keep passwords and API keys safe in my code?
Never write secrets directly into your code files or commit them to Git. Store them in environment variables or a secrets manager and add local secret files, such as a .env file, to your .gitignore. If a secret is ever exposed, revoke it and create a new one straight away.
What is the difference between debugging and testing?
Testing checks whether your code does what it should, ideally automatically every time you make a change. Debugging is the process of finding and fixing the cause of a problem once you know something is wrong. Good tests make debugging faster because they show exactly what broke and when.
What to do next
After recovery, write the root cause, detection gap and one preventive check into the project runbook.
