The HEER Office has an Excel file called EAL (Environmental Action Levels) Surfer that allows consultants to compare chemical concentrations in soil or groundwater with screening criteria based on different hazards at each site. The EAL Surfer has streamlined and helped expedite the analysis of environmental hazards, which minimizes work stoppage when contamination is identified unexpectedly during large construction projects. Limiting the amount of time work is stopped saves tens of thousands of dollars, reduces lost work time for local labor, and helps gets the property ready for beneficial use much sooner. Properly identifying the hazards associated with the contaminants protects workers, protects future occupants, and keeps contaminated materials from being used elsewhere.
Although EAL Surfer was a great tool, it has extreme limitations. What our application does is improve upon this tremendously.
- Original functionalities - In order to improve upon the existing solution, we had to make sure we at least kept the original functionalities of the original EAL Surfer
- Cloud-based - Moving our application to the cloud means it is updated in one unified, central location and that all of its users are always using the most up-to-date version of the application. This means that users of the tool are always using the most up-to-date EAL numbers as well.
- Responsive - We live in an age where mobile technology continues to play a bigger and bigger role in our day-to-day lives. As environmental surveying also trends toward mobility, we wanted our application to be available across different platforms so the application is future-ready.
- Multi-chemical support - One of the biggest drawbacks of the original EAL Surfer was the inability to input multiple chemicals and generate an aggregated report and we've addressed this shortcoming in our application by allowing users to select as many chemicals as they require all at once before entering measured site values.
- Print-ready - Our reports are styled with printing in mind. Even though our eventual goal will be to generate PDFs from HTML, we still wanted our reports to be print-friendly immediately.
How we built it
This new EAL Surfer was built with the web in mind. Backed by Amazon Web Services, the application lives completely in the cloud.
Our application is actually serverless. By leveraging Amazon's Lambda and API Gateway services, our application doesn't require a virtual machine running 24/7. By only paying for processing time used, we are going to be able to save significantly on costs. In keeping consistent with using AWS as our cloud technology provider we use dynamoDB, a fully managed NoSQL database, as our database solution.
We wanted to use a framework that is easy to learn, easy to maintain, robust, modern and production-ready to build our application upon. To this end, we chose to use Vue.js to leverage its component based philosophy as well as its ever-growing community. Another goal we had was to make the application look good out of the box as well as be responsive to be used across mobile or desktop devices. To achieve this goal, we chose to use the bulma css framework as it is based on flexbox, something we really like and has finally found its way into modern browsers.
The back-end package is built using gulp, which bundles up necessarily source files and creates our cloudformation templates for defining our API as well as our deployment zip files for Lambda.
The front-end package is built using webpack, and the resulting bundle is then uploaded to and served from Amazon's S3 service.
Challenges we faced
The coding part was the easy part for us, but we are all full-time employees of demanding companies so finding time to code was difficult. Faced with an already short window of development time, we had to design our MVP with very specific goals and scope in mind. Additionally, since this was partly a learning project for us, we wanted to do things right and not cut corners to stand up a hack-y solution (ironic, since this is supposed to be a hackathon). Given our limited resources, however, we were able to be extremely efficient with our code and business development and we're proud of what we were able to accomplish.
Technical Achievements we take pride in
- The application is fully deployed in AWS cloud environment
- The data in DynamoDB is real data from the HEER tables
- The architecture is backed by AWS Lambda (serverless!)
- Pay-per-execution pricing model will be very cost efficient for the state
- Total code development time well under 50 hours combined
What's next for EAL Surfer
- Further business development
- Improving management interface for HEER use
- Consuming lab results to automatically input site measurables
- Be even more print-ready - hook up PDF generation
Who we are
We are the Peaceful Citizens of the Galaxy, Vol. 2. Even though only 2 of us were able to contribute to the software development this year, all of us contribute to the team ^_^ We are a group of passionate full-stack developers who each have our own specialities ranging from UX to database design. We love our work and we love it when our software can improve the quality of life of our users.