About Viewpath Engineering

Viewpath is a VC-backed SaaS startup w/offices at WeWork Seattle (500 Yale Ave. North in the South Lake Union neighborhood).

Our engineering team comprises four members who are responsible for all aspects of product research and development.

Currently, we are hard at work on Viewpath vNext (this app) that will become a sophisticated interactive HTML5 graph editor and reporting application.

To make this happen we are using cutting edge data, mathematical graph, and Finite State Machine-based software component modeling technologies + Facebook's React library.

If redefining the future of HTML5 application and service development interests you, write a filter and get in touch with us.

Write a Filter

Every day we use a library called filter to maintain production-quality data fidelity in our JavaScript Node.js and HTML5 client work for, we estimate, ~2% of the cost of writing, testing, and maintaining the equivalent functionality in hand-written JavaScript.

Filter provides a strict runtime guarantee - not merely a design and build-time-enforced contract for your critical data and API's.

We think this is cool because it allows us to move faster (a lot faster) than would normally be possible without taking on huge and ultimately crippling technical debt.

If you're interested in learning a bit about how we work, try this:

$ mkdir test-filter
$ cd test-filter
$ git init
$ yarn init
$ yarn add @encapsule/arccore --dev
cdr@holarchy:~/code/viewpath/test-filter$ node
> const filterFactory = require("@encapsule/arccore").filter
> filterFactory.create({ id: "demo" })
{ error:
   'Filter factory failure: Invalid data type specified for property \'~.operationID\'. Value of type \'jsUndefined\' not in allowed type set [jsString].',
  result: null }
> filterFactory.create({ operationID: "demo" })
{ error: null,
   r {
     request: [Function: bound value],
      { operationID: 'puj2mPgOQvqug-hVOd7vJg',
        operationName: 'unnamed',
        operationDescription: 'puj2mPgOQvqug-hVOd7vJg provides no description.',
        inputFilterSpec: undefined,
        outputFilterSpec: undefined,
        bodyFunction: undefined,
        inputTypeVIID: '4qy3CVKMREUr8vlwl_LAog',
        inputTypeVDID: 'dHR0dNnZ2dlUVFRUyMjIyA',
        outputTypeVIID: 'Ywnx0eV2w7LGQxPlfBxHeA',
        outputTypeVDID: 'dHR0dNnZ2dlUVFRUyMjIyA',
        operationVDID: '8nf0Ey_ENVdRJI7t5y0UtA' } } }

Congratulations! You have just configured a new git repo, installed the production build of @encapsule/arccore and created your very first filter instance!

The example above doesn't do anything useful. But, it's enough to get started.

Full documentation for the filter library (and the other powerful libraries included in @encapsule/arccore package) is available here: ARCcore.filter Library Documentation

Reach out to us on GitHub and Twitter if you have questions.

And, if you find this exercise interesting and think it would be cool to apply this little technique at massive scale we would like to talk to you.

Back to Homepage

viewpath5 v0.4.04 MS3/phase1 Copyright © 2020 Viewpath