A builder is an image that contains all the components nescessary to execute a build. A builder image is created by taking a build image and adding a lifecycle, buildpacks, and files that configure aspects of the build including the buildpack detection order and the location(s) of the run image
A buildpack is a unit of work that inspects your app source code and formulates a plan to build and run your application.
The lifecycle orchestrates buildpack execution, then assembles the resulting artifacts into a final app image.
A platform uses a lifecycle, buildpacks (packaged in a builder), and application source code to produce an OCI image.
A stack is composed of two images that are intended to work together: The build image of a stack provides the base image from which the build environment is constructed. The build environment is the containerized environment in which the lifecycle (and thereby buildpacks) are executed. The run image of a stack provides the base image from which application images are built.