Edge computing has emerged as a viable solution to bridge the gap between distributed Internet of Things (IoT) devices and centralized distant clouds. In particular, small-scale servers are deployed at the edge of network (i.e., edge servers) to 'help' cloud servers process data IoT devices constantly generate. However, these edge servers often struggle to deal with emerging applications that require real-time data processing in situ, such as real-time facial recognition. In this paper, we present iEdge as an IoT-assisted edge computing framework that enables the seamless execution of applications across an edge server and nearby IoT devices. The seamless execution in essence has been realized by transforming platform-dependent monolithic applications to cross-platform composite applications and offloading some tasks/functions of these composite applications to IoT devices considering device context. We have evaluated iEdge using a prototype implementation with a real-time facial recognition application. Experimental results show that iEdge effectively harnesses smart IoT devices as a consolidated edge computing execution environment and enables such an application to process more video streams than typical 'edge-only' computing.