About Inner Product

Inner Product’s mission is to simultaneously make great software and advance the state of the software industry.

Making great software means, for us, software that is a delight to use. User experience concerns are just as relevant to the predominantly back-end work we focus on, as they are to the end user’s interface. This means we consider criteria such as designing APIs to prevent errors from occuring and maintaining consistency in naming and usage patterns, alongside more traditional back-end concerns such as performance and scalability.

To advance the state of the art we’re focused on two areas: improving diversity and leveraging the power of the computer when developing software. For the former we’re active supporters on ScalaBridge, donating our time and resources to help bring traditionally under-represented people into the Scala community. For the later the most practical approach for most projects is to use modern static type systems, such as found in Scala, Rust, Haskell, and Typescript. Where projects allow we use other formal methods, and machine learning techniques.

Inner Product arose from Underscore, taking on Underscore’s US business. We continue to work closely with Underscore. Like Underscore we are best known within the Scala community but our expertise extends beyond Scala.