HackMIT 2019 - GPU Sharing, Advanced Accountability, and Next-Level Accessibility
For its second year, DocuSign sponsored one of the nation’s largest “for good” collegiate hackathons located at the Massachusetts Institute of Technology, HackMIT. Attracting over 1000 attendees from all over the country, the event encourages attendees to tinker with new and innovative technologies, network with like-minded developers, and win thousands of dollars in prizes!
Our Challenges
As DocuSign looks to expand the functionality accessible to our developer community, the total number of APIs available grows proportionally! Our challenges this year reflected this: Hackers were tasked with integrating either the DocuSign eSignature API or Click API. The best use of either would win both bragging rights online and a hefty cash prize. Our intent behind these open-ended challenges was to enable hackers to be as creative as possible with their projects.
Our Prize (and SWAG)
When it comes to hackathon prizes, we’ve learned that cash is king. First prize for Best Use of the DocuSign eSignature API was a hefty $1000; second place was $500. The same prizes were awarded for the Click API. Even if you didn’t win a prize, we had plenty of swag to give away: Shortly after the hackathon began, we distributed a few hundred DocuSign Developer t-shirts and over 700 stickers!
Winners
When the time was called, we had double-digit submissions that used either the eSignature API or Click API to automate an agreement or workflow. Because it was so difficult to select our winners, we want to give a special shoutout to all HackMIT teams who successfully integrated with DocuSign. Great job!
Best Use of the Click API, Second Place: AgreeAble
Contracts form the backbone of modern exchange. Unfortunately, they are often tedious and opaque, even for seasoned professionals, let alone for the elderly. That's why this team created AgreeAble, a contracts platform designed for the elderly that is simple and universally welcoming to everyone.
Designed and built as a complement to the DocuSign Agreement Cloud, AgreeAble first asks users to set up an account and a “visual key” as opposed to a password. The visual key makes it easy for an elderly person to verify his or her identity without having to remember a complicated set of characters. Users are then prompted to complete any number of available agreements, which are all provided through clickwraps.
The team used IBM Watson Visual Recognition to process each user's visual key and generate a unique fingerprint for that key. They then used DocuSign's Click API to generate a custom clickwrap to display various terms of service, retrieving the correct contract from the stored value in our Django database.
Best Use of the eSignature API, Second Place: SaveMe
In a world where drunk driving continues to result in fatalities, there is a clear need for proactive checks to prevent catastrophes. SaveMe leverages speech-to-text machine-learning methods to analyze drivers' speech and decide if they're too drunk to drive a vehicle.
In practice, a user would first speak into a listening device (iPhone in this case). The audio would be transcribed by rev.ai and analyzed for accuracy using various custom models. If the models detected excessive slurring, uncharacteristic slow pace of speech, or “higher than average” inaccuracy, itSaveMewould give an “intoxicated” evaluation.
If the driver decides to subsequently drive intoxicated, despite the result, the app would then automatically send a detailed report to local authorities, the user's car insurance provider, and emergency contacts using the DocuSign eSignature API.
Best Use of the Click API, First Place: GPUppy
Many developers want to learn more about machine learning and try running things hands-on, but don't have access to the necessary computational resources. On the other hand, many people with powerful GPUs do not use them continuously, and their GPUs sit idle some of the time. Team GPUppy wanted to bridge that gap (safely, and legally).
GPUppy allows you to run or train your machine-learning models on other peoples' powerful GPUs when they are idle. The team built a distributed system to execute various machine learning workloads across a set of GPU-enabled devices. On the client side, they created wrapper scripts to package the context and source code and push it to a centralized scheduling server. The scheduling server pushes these tasks to the set of idle workers. The workers stream the output back as the task executes, using WebSockets for real-time communication. Additionally, the client uses rsync to pull the model artifacts off of the server.
Early on, the team was concerned that users would take advantage of this service to do nefarious things, such as mine cryptocurrency using unsuspecting gamers’ PCs. Therefore, before running the GPUppy CLI, users have to sign up for an account and sign a set of Terms & Conditions before being allowed to utilize the interface. To implement this, the team used the DocuSign Click API.
Best Use of the eSignature API, First Place: Disaster Relief
As the world becomes more connected, people find themselves on the world stage for a variety of crimes. Most recently, Rafael Reif is purported to have known about unsavory financial gifts by Jeffrey Epstein, even signing a letter of appreciation for Epstein. Inexplicably, however, Reif does "not recall it.” Identifying a trend, the team hypothesized that most of the convicted individuals often do not recall writing or signing documents that implicate them in high-profile cases.
This is where “Disaster Relief” comes in. With Disaster Relief, users can easily access previous documents they signed, with DocuSign, and search through this database with keywords. For instance, if a known person is trending on Twitter for the wrong reasons, a user can simply search for that person in their document database, and figure out if they ever sent a document that could implicate them. In addition, users can easily send documents to anyone over email.
The team used the DocuSign eSignature Python SDK in tandem with a Flask server to allow for queries of a user's DocuSign envelopes through a web interface. The way that the search function works is by using the DocuSign API to enumerate all the envelopes in a user's account and all of the documents within each envelope. Then, it parses the documents from PDFs into text and then performs searches on the raw text. Next, it displays any document that matches any of the input keywords. If you click on a tag, it generates a list of keywords to search and returns documents that match any of them.
What’s Next?
Tune in on September 23rd for .NET Conf, a FREE, three-day virtual developer event co-organized by the .NET community, Microsoft, DocuSign and others. This year, .NET Core 3.0 will launch at .NET Conf 2019! Come celebrate and learn about the new release and learn how DocuSign is involved. You won't want to miss this one.
Additional Developer Resources:
- Developer Events
- DocuSign Developer Blog
- DocuSign Developer Newsletter signup
- DocuSign Developer Center
- @DocuSignAPI
Matthew Roknich is Developer Evangelist and a lifelong problem solver. His current projects outside of DocuSign involve advanced IoT and sustainability. He can be found on a soapbox talking about the Agreement Cloud APIs at a variety of developer conferences, hackathons, and meetups.