• Open iOS source search framework
    My open source iOS and OS X search framework, SearchTouch, is available on Github. Written in pure Objective C, it will enable you to implement fast search of your data on iOS devices and Macs. The code is modular to allow different storage back ends. The main back end uses Core Data.


My name is Julian Richardson. I am a software engineer at Google, working on Natural Language Processing and machine learning.

Prior to Google I worked on NLP at Powerset, helping to build a natural language search engine, and at Microsoft after they acquired Powerset. In between Microsoft and Google I explored the other fork in the road, doing iOS development for several startups, and ultimately Google, who hired me to work on the iOS Google+ app.

In my spare time I build things using Arduino and AVR processors, cut things up using a laser, and design and print objects on my home-built Reprap Prusa 3D printer.


  • Natural language processing.
  • Machine learning.
  • Software architecture, design and implementation in C++, C, Python, Objective C, Prolog. I can also code in Clojure, Ruby, Java, bash, assembly language and even PHP if the need arises..
  • Artificial Intelligence.
  • Automated software engineering - software risk assessment, program synthesis and transformation.
  • iOS: Core Data, Grand Central Dispatch, multithreading, Core Animation, MapKit, UIWebView, full range of views and view controllers, XCode, building static libraries, OAuth, Facebook integration.
  • Search engine architecture and implementation – please check out my open source iOS/Mac OSX search framework, SearchTouch, on Github.



I am working on porting parts of my old blog into the new site. Until that is done, I will continue to post to the old blog. You can read my posts on my Mindmash blog (click through for startling design change!).

SearchTouch – Open Source Search

SearchTouch is an open search framework for iOS and Mac which provides fast on-device search.

Books and other medium-sized document sets easily fit on iOS devices. Using SearchTouch, your app can avoid the dependence on a server for search facilities. Search remains available offline, and can be much more responsive than server-side search. You can download the code from

SearchTouch has been developed by Julian Richardson. Contributions are very welcome. Please contact me by email at if you would like to contribute, or if you have bug reports, questions or suggestions.

Short resume

Please contact me for the full version. You could also check out my LinkedIn profile.

Julian Richardson, PhD, short resume:

  • February 2013 - present: Software Engineer, Google Inc. I work on the Google+ iOS app.
  • March 2011 - February 2013: iOS developer and consultant. Contracts have involved extensive interaction between iOS and a server back end, processing Facebook and Twitter feeds, OAuth, Core Data, building static libraries, custom UIWebViews, Testflight amongst other technologies.
  • Dec 2009 - Oct 2010: Senior Research Software Development Engineer, Microsoft (Powerset), working on natural language processing and machine learning applications.
  • July 2008 - Dec 2009: Lead Research Software Development Engineer, Microsoft (Powerset).
  • Led Front End and User Experience Group – team of 6 developers and designers responsible for front end, mid tier, and interface to Microsoft's Bing search engine. Led new features through concept, user studies and implementation. Improved process and reduced errors for runtime deployment and execution.
  • Led Natural Language Tools Group – team of 7 developers developing and maintaining core natural language components and related runtime and test infrastructure. Improved reliability of core NL components. Led development of scalable, extensible and reliable regression testing framework for NL components.
  • May 2007 - July 2008: Senior Software Engineer, Powerset
  • Jan 2003 - Apr 2007: Scientist, RIACS, NASA Ames Research Center. Conceived and wrote a successful $3.5M NASA proposal in 2004. Manager and Principal Investigator, May-December 2005, with 5 external subcontracts, 2 research scientists. Planning, coordination and execution of follow-up research project with 3 external subcontracts, 2 student interns. Formulation and review of software development standards for new NASA space vehicles. Research in code generation for Kalman filters – design and implementation in Prolog of facility for adapting autogenerated code to fit into target architectures. Conception, writing and review of research proposals and scientific publications, student supervision, serving on conference program committees.
Previous academic career:
  • Lecturer, Dept. Computing & Electrical Engineering, Heriot-Watt University.
  • Research fellow: University of Edinburgh, Division of Informatics, Institut für Informatik der Universität Zürich, Switzerland.
  • Marie Curie Fellow, Département de Mathématiques et Informatique, École Normale Supérieure, Paris, France.
  • PhD, MSc, University of Edinburgh, Scotland
  • BA, MA, Mathematics, Cambridge University, England