From timetabling courses in universities, over assigning nurses in hospitals, to keeping vital logistics running in harbors, timetables are nowadays crucial in keeping our economies and societies running. The construction of these timetables is a complex optimization problem where a multitude of case-specific wishes need to be considered. An important decision is therefore what timetabling algorithm from the literature to choose. This decision is complicated by the fact that practitioners need to choose an algorithm long before knowing the details of the problem to be solved: only a general description is known of the constraints that are likely to occur. Despite the importance, we observe that timetabling algorithms are still chosen ad hoc, without sufficient insights, leading to poor and costly timetables. This project addresses this essential knowledge gap by proposing an innovative algorithm recommendation system, called AutoTime, which predicts the best performing algorithm given a general description of the constraints. Recommendations will firstly result in important new insights with regard to when, and more importantly why, some algorithms perform better than others. Secondly, we propose a principled approach to examine how diverse existing archives of problem instances are in terms of the constraints being present. Moreover, we show how to generate synthetic problem instances for real-world-like combinations of constraints that are not covered in the literature.