/ VPIA
Created 2020-05-26 Modified 2020-05-26

336 Words


The Virtual Platform for Indigenous Art or VPIA for short, is an experimental wiki platform built to share collections of Indigenous artworks and allow for the community to choose how they are spoken about.

As the lead Software Architect on the project, I oversaw the entire Software Development Lifecycle of the project. I was responsible for everything from development work to managing an Agile team to communication with clients. I worked closely with an interdisplinary team of people including anthropologists, curators, artists, designers, programmers and individuals from various Indigenous communities.

The scope of the VPIA is large. It originally started out as a typical wiki platform but has needed to evolve to meet the needs of the community it serves. Traditional wikis are heavily text based whereas Oral tradition and visual expression reigns supreme for most groups. The need for video has also come up. It is a unique challenge, both software wise and academia wise.

Currently, the platform is moving away from a monolithic, MVC model towards a microservices (w/ microfrontends to split the front) so that we can further support keeping the platform sustainable and easy to expand upon.

Software Architecture and Project Management

  • Managing the entire Software Development Lifecycle
  • Agile and Scrum
  • Delegation of work using Kanban
  • Setting deadlines and milestones
  • Mentoring, training and hiring developers, conducting technical interviews, code reviews
  • Writing software specifications
  • Providing technical expertise on software such as purchasing hosting
  • Working closely with other domain experts
  • Proposing budgets
  • Presenting at events, both technical and client
  • Point of contact for anything related to the technical side of the platform
  • Microservice/Microfrontends diagramming

Software Development, Technical Lead

  • Full stack, focused on backend
  • Database design, both relational and NoSQL
  • RESTful API design
  • MERN (Mongo/MySQL, Express, React (Javascript), Node)
  • Git
  • Progressive Web Application techniques
  • Async programming, building scripts with Web APIs, Airtable apis
  • Technical and User documentation
  • Software testing

DevOps

  • Cloud architecture (both VM and Container diagramming)
  • Continuous integration with TravisCI
  • Deployment
  • Security
  • Automation
  • Linux administration with Bash
  • Jenkins