A low-resource environment has limitations in terms of resources, such as limited network availability and low-powered computing devices. In such environments, it is arguably more difficult to set up new software systems, maintain existing software, and migrate between software systems. This paper presents a survey of software systems for low-resource environments to highlight the challenges (social and technical) and concepts. A qualitative methodology is employed, consisting of an extensive literature review and comparative analysis of selected software systems. The literature covers academic and non-academic sources, focusing on identifying software solutions that address specific challenges in low-resource environments. The selected software systems are categorized based on their ability to overcome challenges such as limited technical skills, device constraints, and socio-cultural issues. The study reveals that despite noteworthy progress, unresolved challenges persist, necessitating further attention to enable the optimal performance of software systems in low-resource environments.