Skip to content

Latest commit

 

History

History
75 lines (61 loc) · 5.01 KB

2015.md

File metadata and controls

75 lines (61 loc) · 5.01 KB

#Rich Gwozdz - 2015

##Projects

Agricultural Portfolio Tool

Alt text

Overview: Build a data explorer for client's FormHub based survey data (9 surveys, thousands of responses).
Client: Ethiopian Agricultural Ministry
Project Role: Development Team Lead, Code Review
Development Roles: Data API, database, Angular.js services and routing, DevOps
Tech stack: Node.js/Express.js, PostgreSQL, PostGIS, Angular.js, Leaflet
My deliverables:
 1) Implemented security on heretofore un-secure PGRestAPI; included securing of image & vector map-tiles
 2) Authored Angular.js service and HTTP interceptor for managment of access-tokens and API requests
 3) Designed "stateful" data filtering module that leverages set-intersections for enhanced app performance
 4) Design pattern for recording application settings to allow sharing and persistence of application state.
 5) API module for CSV exports of user defined data sets
 6) Implementation of an image-capture service for producing PNGs of a secured web application
 7) Server provisioning

##Big Data Visualizer

Alt text Alt text Alt text

Overview: Quick-turnaround data visualization prototype-application to market client's spatially oriented consumer segmentations to potential advertisers.
Client: Spacecurve (startup)
Project Role: Frontend Developer
Development Roles: All user-interface development and data visualization
Tech stack: Angular.js, D3, Chart.js, Leaflet
My deliverables:
 1) Stateful routing of all application states, filter settings, etc
 2) Time-series/range-slider as Angular directive
 3) Custom D3 horizonal bar-chart as Angular directive
 4) Dynamic color-scaling of map polygons based on quantiles of data-range
 5) Complex, yet stateful user workflows

Property Rights for Developing Nations

Alt text

Overview: Minimum-viable-product for harvesting, displaying, and curating property ownership and tenancy data (including)
Client: Cadasta (startup, non-prophet)
Project Role: Development Team Lead, Code Reviewer & Mentor
Development Roles: Data API, testing frameworks, database, Angular.js services and routing, deployment scripting
Tech stack: Postgres, Node.js/Express.js, Angular.js, CKAN, Leaflet
My deliverables:
 1) Design and implementation of a stateful routing configuration that captured UI tabs, nested sub-views, and map extents within sub-views.
 2) Testing framework implementation that included setup/teardown to return database to a "fixture-state" after the testing of CRUD endpoints.
 3) Data-migration scripts that included recursive functions executing asynchronous database INSERTs.
 4) API documentation
 5) Deployment scripting of the entire application stack

#Products & Company Initiatives

Static API document generator

Overview: Grunt.js plugin (via NPM) for generating Markdown or simple HTML documents that detail API endpoints described by Swagger-spec JSON. This differs from other API doc generators in that the docs need not be served by a web-server with the aid of client-side model/view frameworks. The markdown docs generated by this plugin can be easily viewed as part of a GitHub repo.
Alt text

Role: Creator, developer
Tech stack: Node.js, Grunt.js
Code repository: https://github.com/spatialdev/static-api-docs

Ansible IT Automation

Overview: Company seeks to automate the building of its development and deployment environments with an established IT automation framework. After research, I successful used the Ansible framework for provisioning Amazon EC2 with a typical backend tech stack for our applicaitons: PostgreSQL/PostGIS, Node.js, PM2, and Nginx.
Role: Research and prototyping

Inherited Object-level Permissions with PostgreSQL

Overview: Company seeks to implement user permissions on a per object basis. Objects may be related hierarchically, and thus user permissions on a given object should be inherited from its ancestor unless specifically assigned. The querying of these permissions needs to be performant despite potential for millions of user-object permutations.
Role: Research and prototyping
Tech stack: PostgreSQL
Code repository: https://github.com/spatialdev/pg-acl-prototype