MyMeta

MyMeta is your decentralized profile/portfolio page.

Since what we’re trying to do here is building a new world,
it makes sense that one of the first things we build is a place for you to show who you are and showcase your skills & past work.

Of course, this is Web3.
MyMeta isn’t being built just for MetaGame players,
it will be for anyone who wants a decentralized profile/portfolio page :man_shrugging:

MyMeta design v0.98

In the long run:

  • MyMeta should be customizable as fuck.
  • Custom themes.
  • Works equally well for an NFT artists, a blogger & a smart contract developer.
  • App integrations (any container can be anything)
    • Use it as a private dashboard
    • Use it as an app store?
    • Kanban?

To begin with:

  • What you see is what you get.
  • Let’s try to nail whatever is on the design, and have “add new sections” add simple text blocks.

Next:

  • Implement the whole profile creation flow.
  • Make it work for guilds.

Intro & Code Dive into MyMeta

Latest update (January 3rd)

  • 1.0 pretty much done
    • no more going through 3box
    • skills
    • nfts
    • memberships & guild profiles
    • ???

(September 18th)

(August 19th)

  • Had a meeting with 3Box, 1Hive & RaidGuild, all trying to build infra for interoperable profiles.
  • Got more contributors & more work done on the actual profiles.

(July 27th)

  • The groundwork has been laid, we had a workshop diving into code
  • We got a raid going tomorrow at 12AM EST / 9PM CET :scream:

(July 7th):

Ask about it on Discord.
Build on it on Github.

6 Likes

So, we don’t want it limited to metagame alone and wanna use it as some kind of universal folio with metagame as one?

3 Likes

It would be really nice if i my meta profile is modular and i can build it with a meta profile builder like a easy to use website builder. so its a personal web3 builder. with a few clicks you can add new apps to your profile like “metagame skill bar” or “intersts” or “projects” or “social links” etc. and all this profiles can be searched via a decentralized search engine like https://cyber.page/ .

so I think a universal web3 profile builder would be great where companies/apps can offer their apps/interfaces/quick links etc. so people can builder their own creative personal web3 website which is searchable via a decentralized search engine. Ivan on tech wants to have this as well :slight_smile:

So like google site for personal web3 sites.

4 Likes

@saimano … the Metagame is visual metaphor for the underlying skills and credentials … just because you’ve got a pass from some technical college doesn’t mean you practice the CRAFT of software DevOps … look at some of the skill trees (incomplete) here

In the MiddleAges they had rules on sumpetuary because it screwed up the social signals. Similarly the MetaGame has to xref the blockchain credentials so that if people see a warrior they know you can debug front/backend systems and are first up against the Real-time Attacks (aka Giant rats whch are either poor exception, deadlock or subtle race conditions)

Anyone recall how the first DAO lost 1/3rd of their millions? Hint why security is important

1 Like

I made a new template with some layout that’s mostly close to what @peth mentioned.

It is currently not functional but laid out the template structure for the app. And it’s responsive too. Integrated web3connect for multi-wallet support.

The app is live on https://metagame.on.fleek.co/ for testing.

Any suggestions are welcome. Next step will be resumed only after the layout design is approved by the community :slight_smile:

3 Likes

In order to enable the dynamic profile layouts, we can make use of MDX. https://mdxjs.com/

This will allow anyone to create “plugins” for the profile just by creating a react component.

Now, in terms of front end stack, we can use Expo + NextJS: https://docs.expo.io/guides/using-nextjs

This will allow us to use same codebase for a mobile app and or desktop app as well.

In terms of UI I would to recreate a retro windows95 style interface but with MetaGame skin / theme. This is a great one we can use: https://github.com/arturbien/React95

Also, feel free to push your code into the monoRepo “TheGame”. Can create a new sub-repo under there.

1 Like

I like the retro style, but not a fan of pushing this into windows95/OS interface type of thing.
Would like it way more if we combined retro with some old-school RPG instead…

Alright, but is the stack decided and fixed? Let me know the big picture of what stack is gonna be used for what so that I can do some research on it before working on. So far, I only know that the backend is using postgress and graphQL.

Also, that windows95 style theme doesn’t look cool. Might ask you for a review there :slight_smile:

  1. Create your personal Web3 profile/website with your unstoppable domain hold by your private key and created with a Web3 editor you choose.





2. Safe your personal experience and thoughts on your site via decentralized could storage. Make some experience & thoughts public on your site via IPFS. Manage all your content with the Web3 Editor. Integrate DAPPs into your site and create you personal portal to the decentralized web.


or like this depending on the interface you choose




3. Find new Sites/Profiles/DAPPs/DAOs via a decentralized open source DAO search engine




Where is Metagame?
Metagame is integrated in DAPPs, Forums, DAOs. Its the invisable reward engine. if you have for example installed the DAPP “Project” then you can filter for all projects which have integrated metagame or if you open the Quest DAPP then you can filter for all Metagame Quests. Metagame is the community of projects which are joining up for the bigger vision of the metagame.

2 Likes

Pushed my frontend code to The Game Repo @METADREAMER . Review is requested, https://github.com/MetaFam/TheGame/pull/6

3 Likes

The Profolio is badass @Saimano!!

Thanks :slight_smile:

Okay. After going through the recent community interscope meeting specifically about the profiles, I have some thoughts to share.

As @METADREAMER mentioned, the current profile mockup is something that we want to be in the final/future versions of the app as there are some sections which needs development before it can be rendered in the frontend for an initial release. For example, personal tokens is something not everyone may have. So making it render by default in one’s profile may look odd. Same goes for recent activities. How are we gonna fetch those activities?

So, here’s what I think, maybe we can leave some sections to the user’s choice. Like, for example, we can show an option to enable personal tokens in one’s profile and if the user has/wishes to enable it, he can & it will be rendered on his profile. Similar options can be given for some other sections like NFTs, DAOs, etc. So we can make some sections

  • render by default,
  • render on user’s choice and
  • preserve some for future updates.

And here’s what I plan on grouping the sections

  1. Things like name, handle, bio, description, interests, skills, experience, reputation, player level, type, cred graph, contacts can be made default for a profile.
  2. NFT’s, POAP Badges, Personal tokens, etc can be left to the user’s choice to enable.
  3. Recent Activities, Achievements, Quests, Raids, Skill tree (Though skill tree is required to verify a user’s skill) can be held for subsequent future updates.

Does that make sense?

1 Like

What about if Metagame creates Aragon Apps. One App called “Queststore” where you can find all Metagame quest and the other is called “MetaProfile”. There are already 1350+ DAOs on Aragon which are potenial users of Metagame. The only thing they need to do is install the Queststore and they can post quest and do quest. Optionally they can also install the MetaProfile App where they can see their level, skills and XP , earned seed etc. all their metagame stats. There is no need for a portfolio because there is already a Aragon app for that where you can store your tokens. The only thing that people need is an Aragon DAO or they are a member of a DAO and they work in a group. Why do everything on your own Aragon is a perfect fit! Perhaps you can get an Aragon Grant for the work you do and there is App mining where you get little bit rewarded for the apps if lots of daos install them.

Open source, public blockchains, communities , internet its all bout network effect so embrace, connect, support the projects which are aligned with your vision and work together

4 Likes

There is nothing like this in Aragon already? :scream:

There is no need for a portfolio

Just to make it clear, when I saw profiles are a portfolio, I mean as in work portfolio, past projects built or designs created, not tokens. - That should probably not be displayed.
The way I think an actual investment portfolio should be displayed is user simply manually setting what projects they invested in, but putting it in %(of portfolio) not the actual number of tokens.

Things like name, handle, bio, description, interests, skills, experience, reputation, player level, type, cred graph, contacts can be made default for a profile.

Yeah, probably only that first one should be rendered by default, everything else pinned by the player…
(Achievements will probably also be NFTs)

1 Like

no as far as i know no metagame apps in aragon haha

ok i would say in meta profile you see all your stats like level xp acomplished task projects you follow etc. and in your wallet you see your tokens and finance stuff. i thing portfolio is confusing and profolio is too crazy i don’t like the sound of it i like metafolio more but then i think of portfolio again and i think of tokens and investment for some its investment for others its your work portfolio i think you can show the work portfolio in the profile and the investments in the wallet and then you have no confusion

1 Like

oh there is something called Project App
https://www.autark.xyz/apps

The Projects app is a project management app that synchronizes GitHub repositories to your organization, enabling bounties to be allocated to issues and issue curation to determine priorities.

Features

  • Synchronize any of your GitHub repositories with your organization.

  • Fund issues by placing bounties, either following hourly or fixed pricing models.

  • Coordinate application and work reviews on bounties.

  • Curate a set of issues, forwarded to Dot Voting.

2 Likes

Metagame Profiles App

Notes on 13/05/2020 meeting

So I think the conclusion for the meeting is that we went too fast defining the data models, and we need to step back a little bit, start with less things, and adding more features over time when we know exactly what we want.

On frontend

We need to redefine what data will be displayed on the frontend and then have a call with Saimano and the designer friend of Peth to align the specs.
Then, start creating design on figma, eventually re-iterate.
Once this is done, we can start lay down the base of our UI component system, implement the interface with mock data and finally integrate with the exiting app with real data.

On data architecture

Our main concern is: where should live our data. We have our own database, we have profile information from 3box, XP and quests from sourcecred, membership from DAOs…
At the begining we planned to store all of that in our database, but that poses problem of data synchonization/replication and adds a “trustful” layer, not necessarly required.
By keeping the data where it is now (blockchain/IPFS/github), it ensures it is always up-to-date, and “trustable”, but makes us lack some powerful features such as searching, filtering etc that we are used to with “real” databases.

First iteration proposition

I will describe here what I propose as a first iteration we could deploy

On quests

Quest are things that people can achieve. For now, it is the “initiatives” stored as json in sourcecred repository. So we can leave this out of our DB right now.
Eventually add a lambda function or remote schema that returns extracted data from github (via graphql mesh)

On guilds

We don’t have now exactly a definition of what is a Guild. Some ideas out of the wild are: a DAO, a project on Everest, or something that we can just create/manage on the app.

The main problem here is that there must be a way of how the guild member are managed. For a DAO, that’s straightforward with token holders. For not DAOs, there must be some kind of permission system with roles, defining who can add member to a guild or not, for the least.

We leave also this out of the DB for now. Eventually use a remote schema that return membership information from Moloch DAOs from TheGraph.

On accounts

“Accounts” refers to user’s account out of metagame, such as github, discord etc…
As it will be mandatory for our users to login with a web3 wallet, they will all have an ethereum address so I suggest we put it in the “Player” model instead of inside an other table, and leave all the other profiles on the “Account” table, for convenience purposes.

On XP

I think that’s important to keep at least the totalXP and rank in our database, and have a CRON job that regularly update them from sourcecred. Eventually a function/remote schema that fetches the history from github to display the graph.

On profile

For general purpose profile informations (name, description…), I think it is better to leave this in 3Box, and let the user go to edit their profile on the 3Box official app, so that data is universal to all apps.

For metagame custom info (why do you like metagame, what’s your meme and other metaphysicial stuff), we can either store it in a specific 3box space, or in our database. Storing in our database have great advantages in term of performance, and also allows to makes people be able to “look for all the growth hackers in Lisbon” for instance.

On sourcecred identities

So we have identities in our DB, and identities in profiles.json in sourcecred’s github.
I believe one source of truth would be better. Having to make pull request to add players or update accounts in sourcecred is not really convenient.
So I think using our DB with Profile{id, ethAddress} => Accounts{ type, identifer} would be better.
I suggest that, when sourcecred CRON task starts, it fetches all this data from our DB and write it in the profiles.json, then calculate the scores.
We could keep a copy of the profiles we have now and once all the users have created an account on metagame app, we just put back the accounts they had (discourse, discord…)

2 Likes

Hi guys, here’s a quick preview of designs I’m currently working on. Still on it and need to spend a bit more time to try out few more things. Your feedback at this stage is welcome.

https://www.figma.com/proto/zDHqledo5H2aKR3KDvbur8/Meta-Game?node-id=99%3A53&viewport=-16850%2C7217%2C0.887007474899292&scaling=min-zoom

2 Likes

Following up here’s the next iteration. Onboarding prototype https://www.figma.com/proto/zDHqledo5H2aKR3KDvbur8/Meta-Game?node-id=1313%3A870&viewport=-2969%2C-477%2C0.4931398928165436&scaling=min-zoom

1 Like