slice: use slice and guard to construct discovery app