
Every year, thousands of Americans find themselves in a terrifying situation: They become too sick to make their own health care decisions, and their loved ones don't know how they want to be cared for in this dire circumstance. All too often, this lack of understanding of a person's wishes causes their life to be unnecessarily prolonged, leading to undue suffering, emotional distress, and expense.
A document called an advance healthcare directive seeks to avert this situation by documenting a person's wishes before they become ill. But in many cases, even if a person has executed a legal advance directive, their wishes are still not adhered to. Though the directive may exist, it may not be available when needed, and health care workers may not be willing to enforce it if it conflicts with the wishes of loved ones who are present.
TeleHealth Company seeks to remedy this situation by providing immediate, ubiquitous access to cloud-based legal advance directives, backed by videos of the patient explaining their wishes to those who need to know. Combining a binding legal document with a personally narrated video makes an advance directive far more compelling, and thus makes it far more likely that a person's wishes will be adhered to in their most vulnerable moment.

We knew we had a winner in our new mobile healthcare app. What we didn’t have was a true partner to make our product a reality in record time and with the strength to support millions of users. Then we found Tighten. They did it all!

From our first meeting, we understood that TeleHealth Company had an amazing idea for a product, but needed an experienced technical partner to make it a reality. Tighten took end-to-end responsibility for the entire TeleHealth Company product offering, from technical strategy to implementation across several platforms.
Technical and Information Architecture
Our role necessitated as much planning and organizing as it did designing and coding. In order to communicate to stakeholders and to record our thinking for use as the basis for later decisions, our team produced a comprehensive set of technical diagrams, user flows, and wireframes detailing all project components.
Server Architecture
TeleHealth Company's server needs presented a unique challenge: on a startup’s budget, build a server environment that could scale from 50 beta testers to 500,000 users within months (or less), with no dedicated server administrators. We built a flexible, scalable, and distributed system that is prepared to scale quickly without the up-front costs than an application of this size would traditionally incur.
API Design + Development
Tighten designed and implemented a RESTful JSON API in Laravel 5. The API currently powers the iPad and iPhone apps, with a web app soon to follow, as well as allowing for 3rd-party app integration.
iOS Development
Tighten took a pre-existing prototype iPad app and made it App Store-ready. We added two-way syncing with the API, support for renewable subscriptions, and developed an innovative means of creating complex forms—both in native iOS components and rendered to PDF.
FormBuilder
Because each state has different laws governing these documents, the iPad app has a separate living will form for each state. To automate the process of creating these forms, we created a Laravel-based web app that supports the rapid creation and deployment of legal forms, designed for use in the TeleHealth Company iOS app.
Forms are created using a simple YAML syntax, and can contain both formatting instructions and conditional logic.
To assist in rapid creation and client approval, FormBuilder provides live iPad and PDF mockups, and generates client proofs—with comments—for review.
The forms are distributed over the API, rendered as native iOS controls, and outputted to PDF.
Chunkr
One of the problems we faced while building the iPad app was figuring out how to handle large file uploads (primarily videos). On iOS, there is no standard way of resuming an upload, so if a large file upload gets interrupted, it has to start over from the beginning.
Chunkr solves for this by splitting each file into 5MB "chunks". Each chunk is uploaded separately, then when the server has received all of the chunks, it reassembles them into a single file and does an MD5 checksum comparison to make sure everything worked properly.
Looking for an embedded technical partner for your next project?