We introduce a filtration on the simplicial homology of a finite simplicial complex X using bi-colourings of its vertices. This yields two dual homology theories closely related to discrete Morse matchings on X. We give an explicit expression for the associated graded object of these homologies when X is the matching complex of the Tait graph of a plane graph G, in terms of subgraphs determined by certain matchings on the dual of G. We then use one of these homologies, in the case where X is a graph, to define a conjecturally optimal dissimilarity pseudometric for graphs; we prove various results for this dissimilarity and provide several computations. We further show that, by organising the horizontal homologies of a simplicial complex in the poset of its colourings, we obtain a triply graded homology theory which we call überhomology. This latter homology is not a homotopy invariant, but nonetheless encodes both combinatorial and topological information on X. For example, we prove that if X is a subdivision, the überhomology vanishes in its lowest degree, while for an homology manifold it coincides with the fundamental class in its top degree. We compute the überhomology on several classes of examples and infinite families and prove some of its properties; namely that, in its extremal degrees, it is well-behaved under coning and taking suspension. We then focus on the case where X is a simple graph and prove a detection result. Finally, we define some singly graded homologies for graphs obtained by specialising the überhomology in certain bi-degrees, provide some computations and use computer-aided calculations to make some conjectures.