A computer-implemented method of generating an interactive geographical map, the method comprising: receiving, by a back-end system via a network communication interface, a set of data objects comprising geolocation information; receiving, by the back-end system via a network communication interface, search criteria comprising at least information associated with a current viewport; determining, by the back-end system, a subset of data objects based at least in part on the current viewport, wherein the subset of data objects is a subset of the set of data objects; calculating, by the back-end system, a plurality of aggregate values by aggregating the subset of data objects within an aggregation threshold based at least in part on the geolocation information of each data object of the subset of data objects, wherein the aggregation threshold is a maximum number of aggregate values to be transmitted to a front-end system for display, wherein each aggregate value represents a grid element that comprises one or more data objects of the subset of data objects, wherein said each aggregate value further comprises a total number of data objects the grid element represents, and wherein the plurality of aggregate values are aggregated to a particular level of granularity, within the aggregation threshold; transmitting, by the back-end system, the plurality of aggregate values to the front-end system; clustering, by the front-end system, the plurality of aggregate values into one or more clusters (116, 118); and displaying, by the front-end system, the one or more clusters (116, 118) in an interactive geographical map as a plurality of cluster circles, wherein each cluster circle represents one or more aggregate values, and wherein the size of each of the cluster circles is based on a total number of data objects said each cluster circle represents. receiving, by a back-end system via a network communication interface, a set of data objects comprising geolocation information; receiving, by the back-end system via a network communication interface, search criteria comprising at least information associated with a current viewport; determining, by the back-end system, a subset of data objects based at least in part on the current viewport, wherein the subset of data objects is a subset of the set of data objects; calculating, by the back-end system, a plurality of aggregate values by aggregating the subset of data objects within an aggregation threshold based at least in part on the geolocation information of each data object of the subset of data objects, wherein the aggregation threshold is a maximum number of aggregate values to be transmitted to a front-end system for display, wherein each aggregate value represents a grid element that comprises one or more data objects of the subset of data objects, wherein said each aggregate value further comprises a total number of data objects the grid element represents, and wherein the plurality of aggregate values are aggregated to a particular level of granularity, within the aggregation threshold; transmitting, by the back-end system, the plurality of aggregate values to the front-end system; clustering, by the front-end system, the plurality of aggregate values into one or more clusters (116, 118); and displaying, by the front-end system, the one or more clusters (116, 118) in an interactive geographical map as a plurality of cluster circles, wherein each cluster circle represents one or more aggregate values, and wherein the size of each of the cluster circles is based on a total number of data objects said each cluster circle represents.