Artificial intelligence and machine learning are increasingly used to aid decision-making about the allocation of scarce societal resources, for example housing for homeless people, organs for transplantation, and food donations. Recently, there have been several proposals for how to design these systems in ways that attempt to achieve some combination of fairness, efficiency, and incentive compatibility, while taking stakeholder preferences into account. In this talk I will give an overview of my group's research in this space, informed by the theories of local justice and of street level bureaucracy. I will discuss our work on characterizing and analyzing the efficiency, the fairness, and the distributive justice implications of human, machine, and human+machine decision-making in public service provision, with a particular focus on resources that serve those experiencing homelessness. I will give a peak into theoretical, empirical, and experimental results from our recent papers.