Chris Wagner

Chris Wagner

Toronto, Canada
Hire Chris
Scroll To View More
Chris Wagner

Chris Wagner

Toronto, Canada
Member since December 12, 2014
Chris has over fifteen years of experience developing software, with over a dozen focused around web technologies. He has written applications in languages ranging from the dynamically-typed scripting family (PHP, Ruby, etc) to cutting-edge 'functional' offerings including Scala and Haskell. He's particularly excited about Bitcoin at present, believing crypto-currency could change money the way the Web changed how we access information.
Chris is now available for hire
  • PHP, 12 years
  • Test-driven Development (TDD), 10 years
  • Agile Software Development, 10 years
  • Python, 8 years
  • Ruby, 8 years
  • Scala, 5 years
  • PostgreSQL, 10 years
  • Haskell, 5 years
Toronto, Canada
Preferred Environment
Linux, IntelliJ IDEA (RubyMine, etc), Git
The most amazing...
...thing I've developed recently is a search engine for things you can buy with Bitcoin (Spendabit).
  • CTO
    2014 - PRESENT
    • Developed a custom 'scraper' engine capable of locating and importing products from arbitrary e-commerce websites.
    • Constructed a search engine with an index of millions of products from hundreds of external sources (e-commerce websites, primarily).
    • Devised novel algorithms ('tricks') for improving search-result relevance beyond standard keyword matching methods.
    • Managed a test-suite covering hundreds of use-cases and edge-cases across search, scraping, and basic app functionality.
    • Designed a responsive user interface using HTML5, CSS, Bootstrap, and a sprinkling of JavaScript.
    Technologies: Scala, Scalatra, PostgreSQL
  • Developer
    2014 - 2015
    • Supported a second-hand Rails application with limited documentation.
    • Extended said Rails app to add new features ranging from enhanced search functionality to user interface improvements.
    • Reverse-engineered many app components for lack of solid documentation.
    Technologies: Ruby on Rails, MySQL, Sphinx
  • Chief Programmer and Technologist & Zero Aggression Project
    2009 - 2014
    • Designed and implemented the “Educate the Powerful” System, a tool enabling constituents of the U.S. Congress to quickly and efficiently contact their (so-called) representatives, via automation of congressional web-forms.
    • Developed a polling and petitioning application for using Scala and Scalatra micro-framework.
    • Maintained a number of websites across several servers, including individual and shared test suites to keep it all ticking smoothly.
    • Developed custom mailing-list management software (as replacement for the rickety phpList open-source tool) used to send regular mailings to a 30,000-subscriber mailing list, coded in Scala and leveraging the JavaMail stack.
    • Provided counsel on all of the organization's technical matters.
    • Delivered technical support to the organization's user base as well as the team.
    Technologies: Scala, Java, PHP, PostgreSQL, MySQL, Tomcat, Linux
  • Senior Developer
    2008 - 2009
    • Held one of two development roles in getting the Pubget bio­-science search engine off the ground.
    • Led the development of a powerful 'screen-­scraping' engine which enabled Pubget to aggregate articles from thousands of scientific journals and provide access to the latest journal articles (from Nature, JAMA, etc.) days or weeks ahead of the then industry-­standard PubMed.
    • Leveraged a powerful Solr search server, distributed across many physical machines, to provide split-­second search across the content of millions of scientific articles.
    • Experienced a start-up company going from the "out-of-the-garage" phase to becoming a "real" company with an office, proper staff, and the things that go along with that.
    • Spearheaded the company's automated testing efforts (unit tests, etc).
    Technologies: Ruby on Rails, MySQL, Apache Solr (search platform)
  • Lead Developer
    2005 - 2007
    • Developed a Java/J2EE-­based web application to enable educational institutions to exchange confidential documents (namely, student transcripts) securely.
    • Leveraged a number of agile (in comparison to other Java technologies, anyway) and open­-source technologies, including Hibernate, Spring, and Lucene.
    • Worked with non­-technical people within the organization and at institutions to understand the requirements and needs of those in the industry.
    Technologies: Java, Struts, Hibernate, Spring, Lucene, Linux
  • Spendabit (Development)

    Spendabit is a search engine for things you can buy with Bitcoin. It searches across and aggregates products from thousands of merchants across hundreds of data-sources (external e-commerce websites and other data-feeds).

    Spendabit is a Scala-based application leveraging PostgreSQL on the back-end for general data storage and for search (using the PostgreSQL Full Text Search extensions), as well as a number of Java and Scala libraries (such as Slick for database access).

  • (Development) is an educational venue, but also a platform for (primarily US-based) people to advocate the case for liberty on a multitude of issues. The most notable component is the "Educate the Powerful" system, which presents a very simple user-interface atop a powerful back-end that automates the web-based contact forms of members of the U.S. Congress, using a large set of rules and heuristics. It handles several hundred contact forms without the need for website-specific rules or coding, and even handles captchas and other similar road blocks.

    Its functionality is probably best illustrated by visiting and interacting with one of the campaigns. Here is the URL for the "Read the Bills Act" campaign, for example: is a primarily PHP-based application with PostgreSQL as the data store.

  • Zero Aggression Project (Development)

    The polling and petitioning application at aims to both recruit people to the position of the Zero Aggression Principle (aka, Non-Aggression Principle) and offer a platform for recruitment and advocacy to existing adherents to the principle.

    The application presents potential respondents with a series of "panels" positing facts, questions, hypothetical scenarios, and general arguments regarding the particular "campaign" (for example, "Drug Prohibition" or "Immigration"). Responses are recorded in a database and re-presented to users in a visual fashion.

    The back-end is written in Scala, leveraging the Scalatra 'micro-framework', with PostgreSQL as the data store. The front-end makes use of Bootstrap and jQuery.

  • (Development) is a bit of a 'toy' project but presents a clean, elegant user-interface. It is a simple tool that provides users with a graphical "widget", embeddable on their own website or blog, which they can use to encourage people to donate, via Bitcoin, to a particular cause (e.g., "Help us feed the homeless"). is mostly PHP-based, with MySQL for the database, and Bootstrap and jQuery for UI components. It uses the API for interacting with the Bitcoin network (retrieving balances).

  • Languages
    PHP, HTML5, HTML, SQL, Python, Scala, Ruby, JavaScript, Java, Haskell
  • Paradigms
    MVC, Unit Testing, Agile Software Testing, Agile Software Development, Test-driven Development (TDD), Functional programming, Test Automation, Concurrent Programming
  • Platforms
    Debian Linux, Linux, Windows, Mac OS X
  • Misc
    Ubuntu Linux, HTTP, Bitcoin, ID3, JSON, Apache HTTP Server, Celery, Cryptography, Encryption
  • Frameworks
    Twitter Bootstrap, Scalatra, Django, Flask, Zend Framework, Smarty, Play Framework, Ruby on Rails
  • Tools
    Subversion, bzr, Git, IntelliJ IDEA, PhpStorm, SBT, Apache Solr, ScalaTest, MailChimp
  • Storage
    PostgreSQL, MongoDB, Sphinx, MySQL, CouchDB
  • Libraries/APIs
    Blockchain, Slick, jQuery
  • Bachelor of Engineering degree in Computer Science
    Ohio University - Athens, Ohio
    2001 - 2005
I really like this profile
Share it with others