A convex code is a subset of the power set 2^n that arises from intersection patterns of convex sets in a Euclidean space. Despite their natural definition, these codes have not been studied until very recently, motivated by applications in neuroscience. Many neural systems generate patterns of neural activity that can be characterized mathematically as convex codes. These codes reflect topological features of the underlying stimulus space, some of which can be inferred using existing TDA methods. Perhaps surprisingly, not all codes can be realized by a convex cover, and the problem of determining which codes are convex is still open. I will begin by reviewing recent results on convex codes and the special case of hyperplane codes. I will then explain how hyperplane codes are related to the problem of detecting a feedforward network factorization using Dowker complexes, and present some computational results on this problem. Finally, I will describe an approach for detecting convexity of noisy neural codes that can be implemented using existing TDA algorithms.