A tech stack is a set of technologies used to develop and implement a piece of software or service. It usually consists of a combination of client-side and server-side software, databases, frameworks, programming languages, and other technologies needed to fully execute the program.