Context-aware applications have the potential to act opportunistically to facilitate human experiences and activities, from reminding us of places to perform personal activities, to identifying coincidental moments to engage in digitally-mediated shared experiences. However, despite the availability of context-detectors and programming frameworks for defining how such applications should trigger, designers lack support for expressing their human concepts of a situation and the experiences and activities they afford (e.g., situations to toss a frisbee) when context-features are made available at the level of locations (e.g., parks). This paper introduces Affinder, a block-based programming environment that supports constructing concept expressions that effectively translate their conceptions of a situation into a machine representation using available context features. During pilot testing, we discovered three bridging challenges that arise when expressing situations that cannot be encoded directly by a single context-feature. To overcome these bridging challenges, Affinder provides designers (1) an unlimited vocabulary search for discovering features they may have forgotten; (2) prompts for reflecting and expanding their concepts of a situation and ideas for foraging for context-features; and (3) simulation and repair tools for identifying and resolving issues with the precision of concept expressions on real use-cases. In a comparison study, we found that Affinder's core functions helped designers stretch their concepts of how to express a situation, find relevant context-features matching their concepts, and recognize when the concept expression operated differently than intended on real-world cases. These results show that Affinder and tools that support bridging can improve a designer's ability to express their concepts of a human situation into detectable machine representations - thus pushing the boundaries of how computing systems support our activities in the world.