Meet Dawson
Meet Dawson Webhart, a software engineer who's part of the frontend team at StyleByte, a cutting-edge fashion company that uses augmented reality to style its customers. The team focuses on the part of the app that users see and interact with, and Dawson is a key contributor.
Today, Dawson is at her desk, but she's not exactly working. She's scrolling through her phone, watching short workout videos to inspire her next gym session.
"Here are my top 10 tips to getting a peach like Megan Thee Stallion," says the fitness instructor on the video.
Dawson rolls her eyes just as her co-worker, Nadia Noelly, bursts into her office. "Hey, Dawson! The meeting is starting soon, and I want to get there early. They're making a big announcement!"
"Another announcement? What now? More ping pong tables in the lounge?" Dawson sighs, not particularly thrilled but curious enough to find out.
The Meeting
In the meeting room, the atmosphere is electric and cult-like as every tech company is. StyleByte's Vice President of Engineering, Wilson, takes the stage. "We're moving to Web5," he announces.
While Nadia's eyes beam with excitement, Dawson feels a mixture of concern, exhaustion, and frustration. "Web5? We just integrated Augmented Reality, migrated to the cloud, and now this? What even is Web5?"
Dawson has always been cautious about change, especially when it comes to technology. She tunes out for the rest of the meeting, pondering what this shift could mean for her work.
After the meeting, Nadia is practically buzzing. "Wasn't that cool? We're moving to Web5! You know what that means, right?"
"More late nights and stress?" Dawson sarcastically replies.
"No, silly! A promotion! We could lead this initiative and finally drop our 'junior' titles. How does 'Mid Level Developer' sound?"
For the first time, Dawson feels a spark of interest. She's been at StyleByte for three years without a promotion. "Okay, you've got my attention. But what is Web5?"
"Weren't you listening? They emailed us the presentation. Check it out," Nadia says, already halfway out the door.
Back in her office, Dawson opens the presentation and finds a diagram explaining the evolution of the web:
Web 1.0: Static, read-only content.
Web 2.0: Interactive, social, and user-generated content.
Web3: Decentralized, blockchain-based, user-controlled data.
Web5: Enhanced decentralization, peer-to-peer communication, and self-sovereign identity.
Dawson finds it interesting but isn't entirely convinced. "Seems like a solution looking for a problem," she thinks.
The Ultimate Crisis - a stolen username
Just then, a notification pops up on her phone. It's from her favorite social media app, Incognito. Incognito’s new and very erratic CEO, Francis Francino, has just announced a name change for the app—to WebHeart.
“We will be changing this app’s name to WebHeart because it exemplifies what this company has evolved into. We capture the heart of the web. We will be changing our username to @webheart to reflect that.”
Dawson's eyes widen in disbelief. "@webheart" was her own username, a clever play on her last name, Webhart, and her role as a frontend web developer focused on enhancing user experience. She quickly replies to the announcement, "Hey, that's my username!"
Francis Francino responds almost immediately, "Oh, too bad. How about some free merchandise to make up for it?"
Nadia texts her, "Sorry to hear that. If we were on the decentralized web, this wouldn't have happened. Your username would've been yours, controlled by a Decentralized Identifier. Look it up."
Dawson feels gutted. That didn’t console her at all.
Dawson feels a mix of indignation and inspiration. If there's anything that fuels her, it's the prospect of revenge served cold and promotions served hot. She decides to dive deeper into Web5. Maybe she could build a transparent social media platform where usernames are truly owned by users. Or maybe she'll snag that promotion. Either way, Dawson is now on a mission.
Throughout her research, Dawson asked the following questions:
What exactly is Web5?
Web5 is an evolving incubator project spearheaded by TBD, Block's newest business unit. The goal is to equip developers with the essential tools for building decentralized applications that prioritize user control over identity and data.
From Dawson’s perspective Web5 could be considered:
Tooling: Web5 provides a suite of tools and APIs designed for implementing Self-Sovereign Identity (SSI), decentralized data storage, and secure peer-to-peer communication. This enables the creation of secure, user-centric, privacy-first applications.
An Ecosystem: Web5 is part of TBD's broader ecosystem, which aims to empower developers to create their own decentralized applications and protocols.
Toolbox for Developers: Web5 provides pre-built functionalities for identity management, data storage, and secure communication. This way developers can focus on building their application's features rather than worrying about the complexities of security and identity management.
What is the point of Web5?
Web5 exists to enable Self Sovereign Identity. Self Sovereign Identity (SSI) is the concept that users should have full control and ownership over their digital identities.
Why would someone need ownership over their digital identity?
Because we are not used to owning our digital identity, it may seem like a futile and foreign concept. Here are a few moments when ownership of digital identity is beneficial:
Social media:
There’s no way someone can steal your handle, just like what happened with Dawson's "@webheart" username.
You can take your followers and content with you if you decide to switch platforms.
You have full control over how your data is shared, reducing unwanted advertising and privacy breaches.
Healthcare systems
You can take your medical records with you, ensuring that you have access to your own health information wherever you go.
You control who has access to your medical data, making it more secure and private.
Banking
Your financial transactions are secure, and only you have access to your financial data.
You can easily prove your identity for online transactions, reducing the risk of fraud.
How can you build a decentralized app using Web5?
You can build a web5 application using the web5.js SDK.
What is a Decentralized Identifier?
A decentralized identifier (DID) is a w3c open standard. It’s represented by a string of numbers and letters that identifies and verifies who you are on the web. No one can take it away from you, and no one can change it. A DID is not limited to just a person. It can point to an organization, data model, entity, or whatever it is that user is managing online.
She experimented with DID by executing the steps below (you can do it too 😉):
Creating a directory via her terminal
mkdir decentralized-social-app
cd decentralized-social-app
Installing the web5.js SDK
npm install @web5/api
Verifying her package.json looked like this:
{
"dependencies": {
"@web5/api": "0.8.1"
},
"type": "module"
}
Creating an index.js file
touch index.js
Importing the Web5 package in our pages/index.js file
import { Web5 } from '@web5/api';
Creating a decentralized identifier
const { web5, did: dawsonDid } = await Web5.connect();
Logging the decentralized identifier
console.log(dawsonDid);
Running this command in her terminal
node index.js
Here’s her result
did:ion:EiBiHtKwEIdrqLRph3id0HoyCeuk69t6oWbw38WbyYAjvQ:eyJkZWx0YSI6eyJwYXRjaGVzIjpbeyJhY3Rpb24iOiJyZXBsYWNlIiwiZG9jdW1lbnQiOnsicHVibGljS2V5cyI6W3siaWQiOiJhdXRoeiIsInB1YmxpY0tleUp3ayI6eyJjcnYiOiJzZWNwMjU2azEiLCJrdHkiOiJFQyIsIngiOiIxOTQxS29LZ1RyX1V5cDhwcDJITTdGc3U3TzhMb3JyRXNuaXpTZ3o0T1NNIiwieSI6Im1XLTB3dGZobWxBYklFVFczY1JmZUFDRXVzcGNVTVlnM2kzTXlYUTc2X2cifSwicHVycG9zZXMiOlsiYXV0aGVudGljYXRpb24iXSwidHlwZSI6Ikpzb25XZWJLZXkyMDIwIn0seyJpZCI6ImVuYyIsInB1YmxpY0tleUp3ayI6eyJjcnYiOiJzZWNwMjU2azEiLCJrdHkiOiJFQyIsIngiOiJONFhPWWgzeWRMMHA1UGZrVzRZWmZqWjN3WXpQWmNRb1pNcmpQX04xUmI4IiwieSI6InUzRHBKc1ZkN0FRVUZEYkVaSEVhUkJNM0VCajN1ZEpJMXpUbFVsSnZJaFEifSwicHVycG9zZXMiOlsia2V5QWdyZWVtZW50Il0sInR5cGUiOiJKc29uV2ViS2V5MjAyMCJ9XSwic2VydmljZXMiOlt7ImlkIjoiZHduIiwic2VydmljZUVuZHBvaW50Ijp7Im1lc3NhZ2VBdXRob3JpemF0aW9uS2V5cyI6WyIjYXV0aHoiXSwibm9kZXMiOlsiaHR0cHM6Ly9kd24udGJkZGV2Lm9yZy9kd240IiwiaHR0cHM6Ly9kd24udGJkZGV2Lm9yZy9kd24yIl0sInJlY29yZEVuY3J5cHRpb25LZXlzIjpbIiNlbmMiXX0sInR5cGUiOiJEZWNlbnRyYWxpemVkV2ViTm9kZSJ9XX19XSwidXBkYXRlQ29tbWl0bWVudCI6IkVpQ25tcGxmb1VOemlnX01HWnA1QU1Gel9yRm5rUmtHV01jSXJSbFcyT1dGd3cifSwic3VmZml4RGF0YSI6eyJkZWx0YUhhc2giOiJFaUNnUy1nT21lY3lBeXo0V1VwTEJUQTl3MnFIVUR3ek0wd0JyUkYxbXZZY1V3IiwicmVjb3ZlcnlDb21taXRtZW50IjoiRWlBZnZHWEx2cEhEOFVRbnU3RG1OTDVKdEFMQjRaOTg2bG1VRjFMTERPN1JrQSJ9fQ
Dawson's remaining questions
Dawson was having so much fun learning until she realized it was 5:00 pm and her work day was over. She still had questions like,
Where should she store her DID?
Can she create an alias for her DID for ease-of-use and self-expression?
How does Web5 integrate with frameworks like React or Next.js?
What else could Web5 do?
But Dawson has a rule: never work past 5:00 pm. Her quest for answers—and perhaps a little revenge—will have to wait another day...
Documentation and further reading
Check out the documentation if you're hoping to learn more about Web5 before Dawson returns to work! 🤪
Artist Credit
I did not do any of the art. My little sister did. You can check out her work at: https://linktr.ee/scribblndibbl