Inspiration
Death, grief, and remembrance are undeniable components of life that have rippling emotional impacts on the lives of loved ones. In recent years, the issue of remembrance has been brought to light, as the elderly and the immunocompromised, who have comprised the majority of Covid-19 deaths since 2020 globally, have been put especially at risk during the pandemic.
These deaths affect people of all ages and generations, and recent studies have shown that younger generations have a more mature attitude towards death than baby boomers and older generations do. Our main focus is to create a way to remember the lives of those who are lost, especially those whose families may not be able to afford funeral services or obituaries, by allowing them to leave behind a legacy of love in a way that is both genuine and personal. We also wanted to make this platform accessible to even those who are technologically illiterate. Our use of AI video transcription also aims to enhance accessibility on the recipient’s end.
To tackle this issue, we have created a company that allows for people who are terminally ill or elderly to securely and easily deliver memory capsules – videos or messages meant to be shared with friends and family to brighten up someone’s day. However, our platform is not exclusively designed for people who are elderly or terminally ill. Anyone can use MemCapsules to send a personalized message to a loved one, near or far.
Objective
There are approximately 3 Million U.S. deaths per year and only about 25% of those people receive a paid obituary per year. This means that there are around 2.25 million people annually who are memorialized through memories via word of mouth, and MemCapsules has the ability to encapsulate some of these memories and carry them into the future. Our app is easily accessible for people of all generations, providing the option to offload the setup process onto a proxy (like a caretaker or close relative) and utilizing AI transcription to create a new way of preserving a person’s legacy.
However, the objective is not only aimed at elderly and ill people. MemCapsules’s audience applies to the over one million personnel in the military and the large number of long distance couples who may use the platform to send thoughtful, personal, and surprise messages that automatically unlock at prescheduled times.
With MemCapsules, we are breaking monetary and accessibility barriers on remembrance and communication. The process of composing a memory capsule is extremely simple and places an emphasis on accommodations for people who would otherwise have trouble sending curated messages to loved ones.
What it does
MemCapsules is an abbreviated blend of the words “memory capsules,” and what we have created is a groundbreaking service for legacy delivery and preservation.
Here is how MemCapsules makes memory-making frictionless and accessible. A proxy selects a person to author some messages, as well as one or more recipients to receive them. The proxy also takes care of scheduling the delivery of the messages to each recipient (e.g., annually on each recipient’s birthday). With everything configured, MemCapsules generates a unique link for the (perhaps technologically illiterate) author. Upon opening this link, the author is guided through the straightforward process of recording/typing a message for each pre-configured recipient and delivery date. We use AssemblyAI to transcribe any video recording. Once the author fills everything out, the process is complete! From here, MemCapsules takes care of scheduling email/phone delivery of messages on the configured dates.
The author can always re-use their unique link to update messages or pick up where they left off. Note that the proxy and composer can be the same person.
An example use case is for a mother to set up MemCapsules for her own elderly mother, so that her children can receive heartwarming messages from their grandmother long into the future.
Every portion of this app is fully demo-ready with the sole exception of the scheduled sending of emails and texts. But Twilio’s email and sms API makes it easy to complete this last part in the future.
How we built it
We began by drafting the screens that make up the three core user-facing flows: the proxy’s flow, the author’s flow, and the recipient’s flow. These were then brought into Figma.
We then set up a Next.js project, which, when paired with an SQLite database, turned out to be enough to handle the entire app. On the backend, we used Prisma (see prisma.io) to quickly build out the database tables and TypeScript bindings from a central schema. We then created REST API routes in Next.js to query and mutate data.
The frontend relies primarily on React.js, with MobX for state management. MobX was useful in managing hierarchical form data (like supporting a variable number of recipients per author, and message delivering “occasions” per recipient). Styling was done using React Styled Components. We took care in making the frontend extremely performant by strategically using MobX reactivity and server-side rendering.
We interacted with AssemblyAI’s video transcription service by communicating with its REST API from the backend.
In regards to persisting user data, we moved fast by keeping the database and blob storage for videos local. The SQLite database sits on the local dev machine, and the videos, after being uploaded to the API, is dumped straight into a folder on the file system. In the future, it is simple to replace the database with any hosted SQL server, and video storage with Amazon S3.
Challenges we ran into
The primary challenge came in the form of properly scoping the app. And to this end, we believe we were extremely successful. One unexpected time sink we hit involved getting videos from the frontend onto the server’s file system. Next.js’s API routes didn’t seem to support multipart file uploads, so we had to Google around until we found a library called “formidable” to do it. Coordinating with AssemblyAI’s API was also tricky because they require us to poll an endpoint once a video is submitted to determine when the transcription is completed. We first tried to stall the server request until the transcription was ready, but Next.js’s development server is single-threaded and gave us trouble. We found a good solution in the end: we created a separate API endpoint that makes a single roundtrip to AssemblyAI to check status; and we called this API from the frontend at 2s intervals. This way, we don’t stall our server.
Accomplishments that we're proud of
We are extremely proud of how polished our app is - we can’t wait to demo it! Despite having a very limited time, we took care of details that enhances the user experience: the frontend design and color scheme is clear and consistent throughout all the screens, and we fully implemented every feature and user flow we set out to do (with the exception of sending emails/texts). We set out to create an app that’s extremely accessible and easy to use, and we hit our mark. We are also proud that we managed to include AI enhancement through AssemblyAI without creating any rough corners in the user experience.
What we learned
We learned the value of planning before coding. We came in with the belief that an extra few hours of pen-on-paper planning can save many precious hours of coding time. This hypothesis proved to be extremely true: by scoping everything out clearly, we faced minimal hiccups when actually coding.
This was also everyone’s first time using Figma. By the end, we mastered an incredibly useful UX design tool. Additionally, this was Dale and Alex K’s first time using TypeScript. The benefits of type safety as we pushed to go fast paid off in the end.
Finally, we learned the value of collaboration and being aligned on what we were building. The three of us came into the hackathon with differing opinions on what to build, but on the first day, we had very productive brainstorming sessions that led us to MemCapsules idea.
What's next for MemCapsules
A handful of tasks will enable us to deploy MemCapsules at scale. These tasks include switching a properly hosted SQL database and blob storage, and completing the Twilio integration for sending messages. MemCapsules’ data model is well thought out and engineered in a way that scales. We will also need to do more research into which target demographic to pursue, and then market our product to them. Overall, there is great potential potential here overhaul how we memorialize our loved ones.
Built With
- assemblyai
- mobx
- next.js
- prisma
- react
- sqlite
- typescript
Log in or sign up for Devpost to join the conversation.