The carpooling problem consists in matching a set of riders' requests with a set of drivers' offers by synchronizing their origins, destinations and time windows. The paper presents the so-called Dynamic Carpooling Optimization System (DyCOS), a system which supports the automatic and optimal ridematching process between users on very short notice or even en-route. Nowadays, there are numerous research contributions that revolve around the carpooling problem, notably in the dynamic context. However, the problem's high complexity and the real time aspect are still challenges to overcome when addressing dynamic carpooling. To counter these issues, DyCOS takes decisions using a novel Tabu Search based metaheuristic. The proposed algorithm employs an explicit memory system and several original searching strategies developed to make optimal decisions automatically. To increase users' satisfaction, the proposed metaheuristic approach manages the transfer process and includes the possibility to drop off the passenger at a given walking distance from his destination or at a transfer node. In addition, the detour concept is used as an original aspiration process, to avoid the entrapment by local solutions and improve the generated solution. For a rigorous assessment of generated solutions , while considering the importance and interaction among the optimization criteria, the algorithm adopts the Choquet integral operator as an aggregation approach. To measure the effectiveness of the proposed method, we develop a simulation environment based on actual carpooling demand data from the metropolitan area of Lille in the north of France.