I created this piece of content for the purposes of entering the H0 Hack the Zero Stack Hackathon.
Live app: https://memoris-sigma.vercel.app
It started with a death in the family
Two years ago a close friend lost his father suddenly. His father was an organised man but when he died, the family discovered he had 17 online accounts nobody could access. A bank account with money in it. A crypto wallet with a seed phrase nobody could find. An email full of insurance policies and property documents, completely locked.
His wife spent four months writing letters to companies and crying on phone calls with customer support agents reading from scripts. Some accounts were closed with money still inside them. Some are locked to this day.
"He was the most organised man I knew," she said. "But he never thought about this."
Nobody does. We spend our whole lives building a digital world and we leave no instructions for the people who love us. When the H0 Hackathon came along, I knew exactly what I wanted to build.
What is Memoris?
Memoris is a digital estate manager. It helps you answer one simple question that nobody wants to think about but everyone needs to:
If I died tomorrow, would my family know what to do with my digital life?
With Memoris you can:
- Add all your digital accounts: email, bank, crypto, streaming, social media
- Write encrypted access instructions: passwords, PINs, seed phrases, recovery codes
- Assign each account to a specific person who should receive it
- Add trusted verifiers: people like your pastor, lawyer, or sibling who confirm your passing
- Write last wishes: a personal message your family reads after you are gone
When you die, your verifiers receive a simple email with one button to click. When all of them confirm, the vault unlocks. Each beneficiary sees only what was assigned to them. Your wife gets the Gmail and the bank instructions. Your son gets the crypto wallet and the seed phrase. Your daughter gets the family photos folder.
Nobody has to guess. Nobody has to fight. Nobody has to spend four months crying on phone calls.

The problem is bigger than most people realise
When I started researching this, I thought it was a niche problem. I was wrong.
The average person today has over 100 online accounts. 4.9 billion people use the internet. Every one of them will die someday. And almost none of them have any plan for what happens to their digital life.
Think about what lives in your digital accounts right now:
- Money in bank accounts, PayPal, Binance, Opay, cash apps
- Memories photos, videos, messages that exist nowhere else
- Documents insurance policies, contracts, receipts, medical records
- Subscriptions still charging your family every month after you are gone
- Businesses accounts for businesses your family might want to continue
Most of this disappears or becomes inaccessible. Companies have no standard process for death. Some require a death certificate. Some require a court order. Some just close the account and keep the money.
Real example: In 2021, a family in the UK discovered their father had over £40,000 in a crypto wallet. He had the wallet. Nobody had the seed phrase. The money is still locked today.
Memoris exists so that this never has to happen to your family.
How I built it
The frontend: Vercel v0 and Next.js
I started with v0.dev, Vercel's AI powered UI generator. I gave it a detailed prompt describing Memoris and it generated a complete Next.js application in under 60 seconds. A dark, elegant landing page. Clean cards. A sidebar navigation. A warm design that felt right for a product people would use during the hardest moments of their lives.
I then customised everything, switching to a warm dark brown with gold accents (#C9A86A) that feel premium and trustworthy. I used Playfair Display for the headlines because it feels timeless and dignified. Not clinical. Not corporate.
Stack: Next.js 16 · TypeScript · Tailwind CSS · Lucide icons · Vercel deployment
The database: Amazon Aurora PostgreSQL
For the database I chose Amazon Aurora PostgreSQL on AWS RDS. This was not an arbitrary choice.
Memoris handles deeply relational data. A user has assets. Each asset is assigned to a beneficiary. Each beneficiary is connected to a user. Verifiers are connected to users. The access flow that unlocks the right assets for the right person requires complex join queries with conditional logic. PostgreSQL handles all of this natively and elegantly.
I have five core tables:
users: id, name, email, password_hash, created_at
assets: id, user_id, asset_type, label, assigned_to, notes
beneficiaries: id, user_id, name, email, relationship
verifiers: id, user_id, name, email, confirmed, token
wishes: id, user_id, content, updated_at
Every table uses proper foreign keys with ON DELETE CASCADE so if a user deletes their account, everything cleans up properly.
Stack: Amazon Aurora PostgreSQL · AWS RDS · pg (node-postgres) · bcryptjs · SSL connection
Authentication
I built authentication from scratch using bcryptjs. When a user signs up, their password is hashed with a salt factor of 10 before it ever touches the database. The plain text password never gets stored anywhere. Simple, secure and appropriate for a product that handles sensitive information.
The API
I built five sets of API routes inside the Next.js app directory:
-
/api/auth/signupcreates a new user with hashed password -
/api/auth/signinverifies credentials and returns user data -
/api/assetsGET, POST, DELETE for the asset vault -
/api/beneficiariesGET, POST, DELETE for beneficiary management -
/api/verifiersGET, POST, DELETE for trusted verifiers -
/api/wishesGET and POST for last wishes
Every route checks for a user ID in the request header before doing anything. If it is missing it returns a 401. The API is protected at the data layer, not just the UI.
The executor view: what family sees
One of the most important parts of Memoris is the executor view. This is the page beneficiaries access after the vault is unlocked. It shows them only their assigned assets, the access instructions, and the owner's last wishes.
I designed this page with maximum clarity and minimum friction. When someone is grieving they do not need to figure out a complex interface. They need one clear list: here are your accounts, here are the instructions, here is what they wanted you to know.
The vault unlocked banner at the top sends one message to the family: he thought of you. He prepared this. You are not alone.
Design decisions that matter
Why warm gold instead of blue
Most security apps use blue. Blue says trust me, I am a bank. But Memoris is not a bank. It is something much more human than that.
I chose warm gold (#C9A86A) and deep brown-black (#0a0908) because this is an app people use while thinking about death. It needs to feel warm. Trustworthy. Like a hand on a shoulder.
Why the verifier system matters
I could have built Memoris with a simple timer, if the user does not log in for 6 months, unlock the vault. But timers are dangerous. What if the user is on a long trip? What if they are in hospital?
The verifier system requires real people who actually knew the deceased to confirm. All of them must agree before anything unlocks. For something this important, that friction is a feature not a bug.
The hardest part of building this
The biggest challenge was not the code. It was the emotional weight of the product.
Every time I designed a new screen I had to ask: what is the person using this feeling right now? When someone fills in the last wishes form they are confronting their own mortality. When a family member opens the executor view they are probably crying.
Every word in the UI matters. Every button label. I rewrote the copy at least five times.
On the technical side, the trickiest part was the AWS Aurora connection. The default express configuration uses IAM only authentication which took several attempts to get working from Vercel's serverless functions. I ended up using a standard PostgreSQL RDS instance with password authentication over SSL. Simpler, faster and easier to debug.
The lesson: sometimes the path you are forced onto is the better path.
What I learned
v0 is a genuine superpower for hackathons. One detailed prompt and you have a production quality Next.js UI to customise instead of starting from scratch.
Aurora PostgreSQL is the right database for relational data. I considered DynamoDB but the moment I drew out the data model I knew it had to be PostgreSQL. Relational integrity matters here.
Build the emotional core first. The last wishes feature was the most important feature to build. Without it Memoris is just a password manager. With it, it is something a person would actually use, recommend to their parents, and be grateful exists.
What comes next for Memoris
- AES-256 encryption for asset notes using a user controlled master key
- Real email sending for verifier links using AWS SES
- Two factor authentication for vault owners
- Legal document uploads for wills and insurance policies
- Multi language support starting with Yoruba, Igbo, Hausa and Ibibio for the Nigerian market
The Nigerian market is where I see the biggest immediate opportunity. Millions of families deal with digital estate problems every year and there is no product built for this context with local bank support and local languages.
Try it yourself
Memoris is live right now. Sign up, create a vault, add assets, set up beneficiaries and verifiers, and see the full executor view.
Live app: https://memoris-sigma.vercel.app
Source code: https://github.com/sirmos/memoris
You will spend years building your digital life. Spend one afternoon making sure the people you love can find it when you are gone.
That is what Memoris is for. Not for the person who sets it up. For the wife who is already grieving. For the son who just wants to carry out his father's wishes. For the daughter who wants to read her mother's last message.
Build for the people left behind.
Built for the H0 Hack the Zero Stack Hackathon · #H0Hackathon

Top comments (0)