{"title": "Geist dApp Kit", "logoImg": "bafkreib7lqwi3oqjf7b36hn5k6hyoittoxors3cme5kfjzxk357hsumcsa", "website": "https://github.com/fractaldotbox/geist-dapp-kit", "bannerImg": "bafkreifg7kzvpyt6a6n625nhd34xkdcmbgugxitjejxknbljhtndobrhn4", "createdAt": 1729109440884, "userGithub": "debuggingfuture", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..xb9BFxlOghaX7VDbxFisHdAL8TLrAnYvgTvMdgHRgNnxVvpm58N47JA5QnUdaUMBLh6NC22a3PxbXYLbriRVBw", "type": "Ed25519Signature2018", "created": "2024-10-16T20:08:16.136Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-10-16T20:08:16.136Z", "expirationDate": "2025-01-14T20:08:16.136Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x962EFc5A602f655060ed83BB657Afb6cc4b5883F", "hash": "v0.0.0:bawBRtgVECRxGxUxmFP58M6DrHo3OOwErSm9mNveynA=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#fractaldotbox#1883877"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..hQ3V2modw8uNYmIz83ebqk6shxfGpSFXkE9qyOLEiVnTCqHsbEYAHhdfChgbG9ejxxaC4UNZUYYyICKuRZzHCg", "type": "Ed25519Signature2018", "created": "2024-10-16T20:06:37.063Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-10-16T20:06:37.063Z", "expirationDate": "2025-01-14T20:06:37.063Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x962EFc5A602f655060ed83BB657Afb6cc4b5883F", "hash": "v0.0.0:CTZZrEhlHJh7HzVm4yLn8yfBjWa8BOwQCd65/hl+QA4=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#debuggingfuture"}}}, "description": "🏆ETHGlobal Singapore 2024 Finalist ❤️OSS, Public Good 👩‍💻Improve Developer Experience 🔒Secure dApps  ✅ Founding team donated 2ETH+ in prev. GG rounds, organized OSS/Dev communities for 10yrs+\n\n\n## Geist dApp kit\nOptimized dApp Components that you or LLM can copy and paste into your apps. Accessible, Localized. Customizable. Open Source. Inspired by shadcn/ui.\n\nThis is not a framework / template. This is more like a cookbook, with very different design principles(below).\n\nThere was an incident and [we had to \"Stop Using Dapps\"](https://decrypt.co/209804/ledger-library-compromised-with-wallet-drainer). We want to avoid that.\n\nWe're working on this dApp kit not only to improve developer experience by providing working examples and decouple styling/implementation, but also to support dapps that are trustless, secure with minimal dependency to particular ecosystems and avoid supply chain attakcs. This is pivotal to support AI autonomous agents to control and iterate on Decentralized, autonomous website with programmable cryptography, which the project `Geist` focus on.  \n\n## What is Geist\n\nGeist is a decentralized website builder for DAOs, enabling trustless zk-proof deployments, private previews, and anti-collusion voting. It supports collaboration and censorship-resistant websites.\n\nAt ETHGlobal Singapore, we prototyped the idea and were [awarded the 🏆Finalist](https://ethglobal.com/showcase/geist-x3fur)\n\nVitalik mentioned \"walkaway test\" and \"insider attack test\" for better [Ethereum Alignment](https://vitalik.eth.limo/general/2024/09/28/alignment.html?ref=blockhead.co). We want to help people build dWebsites which align that. \n\nDApp kit is where we start, and we want to further build the e2e CMS solution. \n\n## dApp kit Design principles\n🔻 Minimized dependencies, familiar techstack. No ethers by default, all in viem wagmi permissionless radix tailwindcss, user controls the rest.\n🏎 Optimized and SSR ready. Unified data fetching with unopionated data source, minimized JS\n🤌 Small. Faster for both user and ci. Cheaper to store.\n🔒 Secure. No dynamic script loading. Audited dependencies (TODO)\n🕊️ Censorship Resistant. Take explicit control on asset gateway and trust assumptions\n🌐 Accessible & Localization ready\n⛓️ Ecosystems, Framework agnostic\n🙌 Working example. First class Storybook support, avoid outdated documentations.\n🚶 Open source. Authors can walkaway. No npm account to secure.\n\n## Current State\n- We have been prototyping, and this is a [rough demo for receips on storybook](https://github.com/user-attachments/assets/caa51b75-4f0c-478a-be5b-cfe69f9f9457)\n- Feature we've built and polishing\n  - common react components (e.g. resolve ENS names)\n  - Demo on EIP191/EIP721 signing with `viem` / `micro-eth-signer`\n  - wagmi-based, alternative, treeshake-able client to Ethereum Attestation Service\n  - upload widgets to upload files to Filecoin\n  - Avatar components with explicit ipfs gateway control (for censorship-resistance)\n\n## Roadmap\n- For now, focus is to build 100+ working receipes and identify best practices (e.g. Gql loading, component structure)\n- We plan to launch alpha version with \n  - working storybook to receive community feedback\n  - shadcn cli compatibility\n  - dogfooding at some dWebsites & starter kit  \n", "logoImgData": {}, "bannerImgData": {}, "projectGithub": "fractaldotbox", "projectTwitter": "debuggingfuture"}