metadata: {"signature": "0x85f2ab5c30414df53881115840fa45cae8123c22f332d8d0c77ad54af032c91b1be3892d8a5816044e1fd6adb65898afe4c37f9ef3514a31d9276e626bc6d0b91b", "application": {"round": "0x1b48bb09930676d99dda36c1ad27ff0a5a5f3911", "answers": [{"type": "email", "hidden": true, "question": "Email Address", "questionId": 0, "encryptedAnswer": {"ciphertext": "QpJ16GPy9I5WTx+i+1BcrgMRbrLQrcgi2KZ7QiOjgB6XlwxVc0uF+7A/8S19Fo7X", "encryptedSymmetricKey": "7753ecb8251f669a7d9b3e0e7f7195fb92ef5e64f32b83fff24ddcd2169ddf658d46cf11a7653371ad211fd0a8459d08a9af6a302dfe814c0b3d3e8985ade5211214d2ad0c7b7641968a48a7fd0c32f143eb37d7d6147454b0e66e47552a60b926170c7b600e4ae6806f35cb0cd9867ff6b630ba34d1822510ba1d14b174996c00000000000000209d254864c4fe20247f5ccd03d1867a6117824c45d2f565550824fdfbf467b77fea6b8f08325d2dd15cbf6f10829c4297"}}, {"type": "short-answer", "hidden": true, "question": "Telegram Handle We Can Use To Contact You(you can answer N/A)", "questionId": 1, "encryptedAnswer": {"ciphertext": "m2bkHNfFyX8EOWaZ6xkr83Cm8xEO0Z2tMPWnd/kClZc=", "encryptedSymmetricKey": "f138ed0f2ae085956c98d1c166d138cbccc76ca6c8b770a2243e440d197fa84a161c6924d6a4db87d52ea3141f06e01356013dc70b89e9893b167f0d22bf4f79ba58f36beb2059f40a66423a078acc5a3e613dd05719eeafd847729fb9b77e98d2620ea0c05311f3c6ca93bae9982de0449ad841070941907b22456baaf4359600000000000000205f2f844d27f9e3b20b25ca1c4fd88858eb0e1adf6d48d0e1e3ea9a12dba26e5906ef79d46e200ffdf1cf5a4787bc9b8e"}}, {"type": "link", "answer": "https://github.com/devinaconley/python-frames", "hidden": false, "question": "Project GitHub Repo (Not Team Page): ", "questionId": 2}, {"type": "number", "answer": "1", "hidden": false, "question": "Total Team Size", "questionId": 3}, {"type": "paragraph", "answer": "devinaconley - dcon.eth", "hidden": false, "question": "List the Github Handles and Wallet Addresses of Each Team Member (e.g. owocki - 0x123, kbw  - 0x456):", "questionId": 4}, {"type": "paragraph", "answer": "https://warpcast.com/conley\nhttps://twitter.com/devinaconley", "hidden": true, "question": "Social profiles (Twitter, Farcaster, Lens, etc.) of other main team members publicly associated with the project (N/A for solo founders): ", "questionId": 5}, {"type": "link", "hidden": false, "question": "Link to your Public Group Chat (e.g. Discord or Telegram)", "questionId": 6}, {"type": "paragraph", "answer": "n/a", "hidden": false, "question": "If you've participated in past grant rounds, please share any new updates or milestones from the prior months (N/A if you haven\u2019t participated previously). ", "questionId": 7}, {"type": "address", "hidden": true, "question": "If you participated in past grant rounds using a different project payout wallet address, please share it here:", "questionId": 8}, {"type": "paragraph", "answer": "github stars/used by\nhttps://github.com/devinaconley/python-frames\n\ninstall stats\nhttps://pypistats.org/packages/framelib", "hidden": false, "question": "Where should we look to see the impact of your project? Please provide links to public websites and/or the latest values for key metrics you track privately. This might be used in future impact reports", "questionId": 9}, {"type": "paragraph", "answer": "0", "hidden": false, "question": "Total Prior Funding for the project in USD", "questionId": 10}, {"type": "checkbox", "hidden": false, "question": "Which of the following funding sources do you have? Check all that apply", "questionId": 11}, {"type": "number", "answer": "2", "hidden": false, "question": "How old (in Months) is the project?  ", "questionId": 12}, {"type": "checkbox", "answer": ["North America"], "hidden": false, "question": "Location/Region where the project is based ", "questionId": 13}, {"type": "multiple-choice", "answer": "Yes", "hidden": true, "question": "Have you read and confirmed your grant abides by the Program General Eligibility Policy? ", "questionId": 14}, {"type": "multiple-choice", "answer": "No", "hidden": true, "question": "Are you applying for any other OSS rounds in GG20? (Reminder: you can only be accepted into one) ", "questionId": 15}, {"type": "paragraph", "answer": "framelib is a lightweight library for building farcaster frames with python\n\nit allows developers to quickly and easily create and deploy frame apps for the farcaster ecosystem using python + flask + vercel", "hidden": false, "question": "Please describe the developer tool or library you're working on. How does it fit into the development environments, frameworks, or testing tools landscape for Web3? ", "questionId": 16}, {"type": "paragraph", "answer": "chatter on farcaster\nhttps://warpcast.com/~/search/casts?q=framelib\n\ninstall stats\nhttps://pypistats.org/packages/framelib", "hidden": false, "question": "Please provide details on how you measure the adoption of your tool and/or library. Do you have metrics on usage, downloads, and installs?", "questionId": 17}, {"type": "paragraph", "answer": "n/a", "hidden": false, "question": "How does your project address the need for secure and efficient smart contract development? If applicable, detail the library's features or capabilities that cater to this need.", "questionId": 18}, {"type": "paragraph", "answer": "it abstracts away complex problem (building a farcaster frame spec compliant app from scratch) into simple tangible examples and a few lines of code in a user friendly language", "hidden": false, "question": "Can you demonstrate how your tool or library significantly reduces barriers to development or enhances project efficiency in the OSS or Web3 ecosystems? Provide examples or case studies of your tool in action.", "questionId": 19}, {"type": "paragraph", "answer": "this was actually motivated by previous work on the \"rock paper scissors\" tournament frame, after the realization that no tooling existed for python developers\n\nhttps://warpcast.com/conley/0xb9bcce4a\n\nhttps://warpcast.com/~/channel/tournament", "hidden": false, "question": "Anything else you'd like to share about your project, previous work, or other project affiliations? Is there anything you'd like to add that may help determine project eligibility?", "questionId": 20}, {"type": "multiple-choice", "answer": "No", "hidden": true, "question": "Would you like to opt-in to future messages from Gitcoin for updates, information, and/or interviews? ", "questionId": 21}, {"type": "multiple-choice", "answer": "No", "hidden": true, "question": "Would you like to opt-in to us sharing your information with select third parties for investment opportunities? ", "questionId": 22}], "project": {"id": "0x82bf0d1cd9a7bc7a7f61c6b996de8f268830380ccf3cfb9d67f07fa1b000826c", "title": "framelib", "logoImg": "bafkreid7oz2t6w5xvipjaglt4s52qz2s23e6k6dk63t4gjbixmpizxbjba", "metaPtr": {"pointer": "bafkreihescdno5ssdje4gjaajamreyvjn67zo7wm6ksvri7sbsjtlttepy", "protocol": "undefined"}, "website": "https://github.com/devinaconley/python-frames", "bannerImg": "bafkreidojwgxib2dcldl3kpbhcoe3luyvrgg4wr2afddhnlclbldiayzwe", "createdAt": 1713266785941, "userGithub": "devinaconley", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..p-wfzfWGiFhlAx2VR1H7uIsolNyEP7LipWfGLMV6BnwMATV-xuOM-nLpTcyPgsfJVIc8oVjwg0h7DEoSdm3-CQ", "type": "Ed25519Signature2018", "created": "2024-04-16T11:49:40.964Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-16T11:49:40.963Z", "expirationDate": "2024-07-15T11:49:40.963Z", "credentialSubject": {"id": "did:pkh:eip155:1:0xF58Dea7581b336582b806C99A9bc6C36363cE85b", "hash": "v0.0.0:F+VkoTotS5ZsroXjeysylRU86dQS5hD9eFitz2YjpKg=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#framelib#15223693"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..GSOJNJBRf8GT27FRtae1y7ETjq5SwCX3zgKga4kXxIn9V01udz7BbTHCaSQu0gXolVsb30hUfvTgAbzZORMOBg", "type": "Ed25519Signature2018", "created": "2024-04-16T11:43:04.671Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-16T11:43:04.671Z", "expirationDate": "2024-07-15T11:43:04.671Z", "credentialSubject": {"id": "did:pkh:eip155:1:0xF58Dea7581b336582b806C99A9bc6C36363cE85b", "hash": "v0.0.0:a+s2XNG/rQxBzs4WMfA+WEAThdegI20Fef0jCE2kMkI=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#devinaconley"}}}, "description": "framelib is a lightweight library for building farcaster frames using python and flask\n\nfeatures\n- easily render frames that conform to the farcaster specification\n- configurable frame design\n- parse frame action messages\n- verify the frame action signatures using neynar\n- query user profile info from warpcast\n- on-chain frame transactions\n- multiple example apps\n\nfirst introduced here (most related conversation is on farcaster) \nhttps://warpcast.com/conley/0xf931ba52", "lastUpdated": 0, "projectGithub": "framelib", "projectTwitter": "devinaconley"}, "recipient": "0xA4A0898C091574a8ea4Fa7d7B06493b524dB025a"}}