Software development and consulting.

Open Source Software

  • Sundry

    A dynamically configurable, load balancing, reverse proxy.

    Sundry is a dynamic reverse proxy that supports evented load balancing and round robin host addressing.

    Multiple Paradigms.

    Sundry can be run as a multi site request aggregator serving multiple backends on separate hostnames. Or it can run as a single site load balancer, with dynamic addition and removal of backends from a pool of servers.

    SSL Ready.

    With a wildcard ssl certificate Sundry can handle TLS termination before passing the request to a backend server on a private network. It can also proxy ssl requests directly to a backend if you prefer to terminate directly on a backend host.

  • Pomegranate

    A lightweight web application framework.

    Recursive Route and Model loading.

    Create your Route definitions and pomegranate will load them automatically. CouchDB and SQL model definitions are loaded the same way.

    Dependency Injection.

    Route dependencies are automatically available via the Magnum DI Injection framework. Adding your own dependencies is also a trival operation.

  • Magnum DI

    A simple to use Key - Value dependency injection framework.


    Magnum DI doesn't try to dictate how you structure your application. Simply add dependencies then pass a function to the injector and it will replace the parameters with the correct dependencies.

    Easy Setup and Customization.

    Magnum DI can handle plain objects, object factories and constructors. It can be used programically with "injector.get("myDep")" or by using it to run a function with defined parameters.


  • Our focus is on solutions.

    The world is full of problems that need solving, and we expect that to remain true for the foreseeable future. Solving those problems is our passion.


  • Extraordinary ideas require extraordinary implementation.

    When off the shelf software doesnt cut it, we can help design and develop a system that does. Test driven development, coupled with continuous integration allows us to iterate as fast as possible.