Building Software and Mathematical Solutions
to Simplify Complex Decisions

Our Process

  1. We find open sources of data
  2. We structure information and store it in S3 and SimpleDB
  3. Associate document with known entities using Solr/Lucene and Python
  4. Human assisted computer pattern recognition to wrangle data, using Javascript and a Rails front end
  5. Perform feature
    extraction using Scala, Cascading, and Cassandra
  6. Employ NLP techniques and topic modeling to create custom ontologies
  7. Compute entity relatedness using semantic clustering
    in R and Python
  8. Compute entity significance using custom machine learning algorithms
  9. Display timeline statistics using D3
    and Rails
  10. Debug some
    assembly code
  11. Visualize relational network with overlayed node/edge statistics using Open GL and Gephi layout algorithms
  12. See previously unseen complex systems; see
    the world in a new way

Questions We’re Asking

Lightning-Fast Indexes

How can we calculate the average price of a user-defined grouping of hundreds or thousands of companies, without caching and pre- calculating? How can we make an arbitrary index lightning-fast?

Searching for Relational Patterns

If we’re not categorizing entities but rather letting them be defined by
a pattern of relational connections, how do we search for a relational pattern in a performant way?

Making Algorithms Performant

Running in Java, our visualization layout algorithms can max out the processor on a MacBook Pro. How can we optimize our layouts to be performant in a client’s web browser?

Creating Relational Algorithms

How do we create relational algorithms that mimic the way a human would identify relationships?

These are examples of the kinds of questions our engineering team is discussing. Join us, see our Careers page.