Statute and Cross reference
Our inspiration comes from our core belief that “boring” subjects aren’t destined to be boring, but are misrepresented and unimaginatively produced. When designed with creativity, anything can be fun, interesting, and yet still as enlightening.
Rather than taking the easy route and creating a basic search and browse, we thought outside the box and added additional but necessary features in hopes that it’d help modernize the way the people of Hawaii build software in the future
What we built
We created a powerful retrieval system for Hawaii’s laws built upon the latest human computer interaction principles and mobile design patterns. What you might expect from our app is countless directories of laws to navigate through, but instead you are presented with an app elegantly designed and engineered to enhance your exploration through thousands of laws waiting to be discovered.
Some issues that the current Hawaii Revised Statutes has include:
- No database for nearly 20,000 statutes
- Can't effectively search the current HRS site.
- Can't find cross references in the HRS site.
- Difficult to search for statutes located on signs around Hawaii.
- Not knowing what laws are relevant to your location.
- Having to note down laws you would like to reference in the future.
To combat those issues, we implemented:
- MongoDB database, with the future in mind for scalability.
- An organized RESTful API to allow anyone to interpret our statute data.
- Gorgeous, streamlined, user-friendly User Interface.
- State of the art search engine.
- Optical Character Recognition (OCR) system to allow a user to take a picture of a physical sign and receive the relevant statute.
- Statute locations near the user for extra awareness.
How we built it
With the few requirements we were given in tandem with our drive to modernize Hawaii’s software, we thoroughly researched and used the latest and greatest technologies standardized by mainland tech companies.
We started off our developmental process with designs and mockups of the user interface. This included multiple mockups produced with Sketch, a MacOS application.
These technologies include:
- MongoDB (Database known for scalability)
- Express.js (Robust API building)
- Ionic (Cross platform mobile development)
- Node.js (Asynchronous server setup with great performance)
- ElasticSearch (State of the art full-text document search)
- Amazon Web Services (Simple web hosting)
- nginx (reverse proxy)
To increase the optimize data transfer, we utilize data caching. This ensures any developers that access our API, will be able to do so quickly, easily and efficiently.
Reverse proxy architecture for quick scalability, availability, and reliability.
TLS for enhanced security between clients and server.
Clear cut development was essential too. With 4 people working on the project together at once, we split the project into 2 parts -- the client and server side. Efficient integration and deployments with AWS CodePipeline to give us active feedback on our development process.
Challenges we ran into
Interpreting. organizing and importing over 20,000 statutes into a database was no simple task.
This was the first time for all of us using Ionic, as well as building and publishing an apk on the Google Play Store.
3/4 of us have iPhones and no access to an Android phone, adding an extra layer of complexity to our testing.
- Continue to enhance the search granularity of our search engine.
- Find new and innovative ways to search our HRS database.
- Take advantage of MongoDB's indexing for improved performance.
- Figure out a long-term solution for storing the locations of signs located across Hawaii.
- Make our app available across a variety of platforms.
- Dockerize our backend for easy deployment.
- Additional client side features.