<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Aayush Gupta</title>
        <link>https://paragraph.com/@aayush-gupta</link>
        <description>undefined</description>
        <lastBuildDate>Mon, 20 Apr 2026 22:41:37 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Aayush Gupta</title>
            <url>https://storage.googleapis.com/papyrus_images/fb6ea5cad1a12332d58a2babc1c2b2a760f4516d41972e3f9d64af8d10ff675b.png</url>
            <link>https://paragraph.com/@aayush-gupta</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[StreamFi: Week 8 @ ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@aayush-gupta/streamfi-week-8-ethindia-fellowship-3-0</link>
            <guid>JnKPlEePhQP0aNgDCsvD</guid>
            <pubDate>Tue, 04 Apr 2023 05:17:40 GMT</pubDate>
            <description><![CDATA[What is Streamfi?Streamfi aims to be a one-stop solution for token streaming - made to unleash the extent of what can be accomplished by streaming tokens.Why Streamfi?When I first came across Superfluid, I grew an immediate curiosity and a need to build on the protocol. This led to me researching possible use cases and finally being selected for the Fellowship helped me shape that into reality. https://www.streamfi.fun/ https://devfolio.co/projects/streamfi-c856The current state of StreamfiWi...]]></description>
            <content:encoded><![CDATA[<h2 id="h-what-is-streamfi" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What is Streamfi?</h2><p>Streamfi aims to be a one-stop solution for token streaming - made to unleash the extent of what can be accomplished by streaming tokens.</p><h3 id="h-why-streamfi" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Why Streamfi?</h3><p>When I first came across <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.superfluid.finance/">Superfluid</a>, I grew an immediate curiosity and a need to build on the protocol. This led to me researching possible use cases and finally being selected for the Fellowship helped me shape that into reality.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.streamfi.fun/">https://www.streamfi.fun/</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://devfolio.co/projects/streamfi-c856">https://devfolio.co/projects/streamfi-c856</a></p><h3 id="h-the-current-state-of-streamfi" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">The current state of Streamfi</h3><p>With the fellowship nearing its end, I am sure I will continue developing Streamfi, adding more novel features that cater better to users.</p><p>This week was spent the week running feedback loops with a closed beta group as well as researching better smart contract practices.</p><p>This led to some improvement that brought down the gas amount significantly.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5a7f7bd91b559672a8fa27f91b0a8c02f4b6383be83f96ba6bf67eabe19fec9d.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Also fixed some outstanding tasks that I had left out in the front end, like fixing the UI for the DCA tab.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3b2e544c946dc56b10f443402c9c66c0c060c3af0ba989414ff24fe8625f2abe.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h3 id="h-next-steps" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Next steps</h3><p>The scope of the project defined in the beginning has been loosely met, with iterations for the vision happening continuously. With the help of the fellowship, I have gained vantage on how to build dApps as well as gained a cohort for future collaborations. I plan to build the project forward, focusing on only more novel additions.</p><h2 id="h-conclusion" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Conclusion</h2><p>Building Streamfi has helped me hone my skills as a smart contract developer as well as integrate those smart contracts with a frontend. With that said, there is still a lot more to learn and I will build Streamfi further as well as build many more projects that help further the cause of web3, bring in novel use-cases and bring in user adoption.</p>]]></content:encoded>
            <author>aayush-gupta@newsletter.paragraph.com (Aayush Gupta)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/f0a558a97786d900f6e4e7df1386478edfc63502480842e88a5e463d4ee1e376.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[StreamFi: Week 7 @ ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@aayush-gupta/streamfi-week-7-ethindia-fellowship-3-0</link>
            <guid>G1fpmPE1pDDUbZAaNPhG</guid>
            <pubDate>Tue, 28 Mar 2023 04:28:07 GMT</pubDate>
            <description><![CDATA[Smart Contract AutomationSmart contracts do not internally have the ability to automate themselves. They require automation to be set up outside that can call them on a regular basis. Gelato is one such service that allows this - basically acting as a server that executes a cron job periodically, with the cron job being a smart contract call.Gelato task for streamfiSlippage & Token VolatilitySlippage refers to the difference between the expected price of a trade and the price at which the tra...]]></description>
            <content:encoded><![CDATA[<h2 id="h-smart-contract-automation" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Smart Contract Automation</h2><p>Smart contracts do not internally have the ability to automate themselves. They require automation to be set up outside that can call them on a regular basis. Gelato is one such service that allows this - basically acting as a server that executes a cron job periodically, with the cron job being a smart contract call.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/82e527d35dfda6fa5fdcfa3c327fa6c7b7584aa8d3b22d4670d0ccefa949aefa.png" alt="Gelato task for streamfi" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Gelato task for streamfi</figcaption></figure><h2 id="h-slippage-and-token-volatility" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Slippage &amp; Token Volatility</h2><p>Slippage refers to the difference between the expected price of a trade and the price at which the trade is executed. Slippage can occur at any time but is most prevalent during periods of higher volatility when market orders are used. And as we all know, cryptocurrencies have this nasty habit of being volatile - even the stable ones 🥲</p><p>This becomes an incredibly necessary thing to consider when working with user funds and automation.</p><h2 id="h-current-state-of-streamfi" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Current State of Streamfi</h2><p>Tasks accomplished:</p><ol><li><p>Set up smart contract automation using gelato, currently, the contract has been called every day for a week, with 0 bugs, with swaps happening in the correct quantities and ratios with respect to multiple users.</p></li><li><p>Added a slippage check to the swap function which checks if the price of the token is above a certain threshold before swapping funds. Currently, a check of 80% of the initial value has been added i.e. swaps will stop happening once the value of WETH drops below 80% of its value at the time of setting up the task.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/15e616b3dec8d3c6f050826defb7ea53bec5f7e827e17f98950f22bab7798f2a.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>PS: The gas fee required for this currently is a little high because of the app being on goerli testnet.</p><h2 id="h-conclusion" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Conclusion</h2><p>With the fellowship nearing its end, I will start applying the finishing touches to the UI and backend, fixing outstanding bugs and issues. The project will also undergo beta testing this week and a final feedback loop will be run. This has really been a surreal process to build this website among my peers and I would love to see where it goes from now 🚀</p>]]></content:encoded>
            <author>aayush-gupta@newsletter.paragraph.com (Aayush Gupta)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/f0a558a97786d900f6e4e7df1386478edfc63502480842e88a5e463d4ee1e376.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[StreamFi: Week 6 @ ETHIndia Fellowship 3.0
]]></title>
            <link>https://paragraph.com/@aayush-gupta/streamfi-week-6-ethindia-fellowship-3-0</link>
            <guid>votgrBLT51gJ9dpQFBn9</guid>
            <pubDate>Mon, 20 Mar 2023 15:29:42 GMT</pubDate>
            <description><![CDATA[Smart ContractsSmart contracts require a certain amount of detail and precision over regular code. They require gas optimisations and multiple security checks so that assets are neither wasted nor stolen or locked in the contract. Some interesting reads: https://medium.com/beaver-smartcontract-security/defi-security-lecture-7-price-oracle-manipulation-d716cdeaaf77 https://consensys.github.io/smart-contract-best-practices/attacks/oracle-manipulation/Current State of StreamfiTasks accomplished:...]]></description>
            <content:encoded><![CDATA[<h2 id="h-smart-contracts" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Smart Contracts</h2><p>Smart contracts require a certain amount of detail and precision over regular code. They require gas optimisations and multiple security checks so that assets are neither wasted nor stolen or locked in the contract.</p><p>Some interesting reads:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/beaver-smartcontract-security/defi-security-lecture-7-price-oracle-manipulation-d716cdeaaf77">https://medium.com/beaver-smartcontract-security/defi-security-lecture-7-price-oracle-manipulation-d716cdeaaf77</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://consensys.github.io/smart-contract-best-practices/attacks/oracle-manipulation/">https://consensys.github.io/smart-contract-best-practices/attacks/oracle-manipulation/</a></p><h2 id="h-current-state-of-streamfi" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Current State of Streamfi</h2><p>Tasks accomplished:</p><ol><li><p>Fixed some outstanding bugs with the DCA feature, made it more multi-user compatible and added more metrics for users to track like last swap time.</p></li><li><p>Researched how to set slippage checks with Uniswap, getting rates from the SDK about current market conditions and setting up smart contract automation using gelato.</p></li></ol><h2 id="h-next-steps" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Next Steps</h2><p>Next week will be focused on implementing the slippage checks in the UI, setting up the automation script and performing checks on further improvements.</p><h2 id="h-conclusion" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Conclusion</h2><p>After last week’s accomplishments, this week was mostly spent on research about writing better smart contracts and different factors to be kept in mind while operating with DCA - getting data through oracles and public auctions.</p>]]></content:encoded>
            <author>aayush-gupta@newsletter.paragraph.com (Aayush Gupta)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/f0a558a97786d900f6e4e7df1386478edfc63502480842e88a5e463d4ee1e376.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[StreamFi: Week 5 @ ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@aayush-gupta/streamfi-week-5-ethindia-fellowship-3-0</link>
            <guid>TdWQvRYpRtp36VgQFUTm</guid>
            <pubDate>Sun, 12 Mar 2023 15:27:46 GMT</pubDate>
            <description><![CDATA[Dollar Cost Averaging (DCA)Dollar Cost Averaging is an investing technique that reduces user exposure towards the volatility of assets, by buying along an asset’s “average” curve.This week was spent diving deep into the well of DCA and figuring out how to integrate it with streaming.How to do DCA?DCA will be implemented by a contract that receives a stream of tokens from the user, and accumulates this stream till the time the swap function is called. The swap function will be called through a...]]></description>
            <content:encoded><![CDATA[<h2 id="h-dollar-cost-averaging-dca" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Dollar Cost Averaging (DCA)</h2><p>Dollar Cost Averaging is an investing technique that reduces user exposure towards the volatility of assets, by buying along an asset’s “average” curve.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ce35cf7b8b1549703fcd9a18695d591b1d7c3516a2369221edaa706dea804f4b.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>This week was spent diving deep into the well of DCA and figuring out how to integrate it with streaming.</p><h2 id="h-how-to-do-dca" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How to do DCA?</h2><p>DCA will be implemented by a contract that receives a stream of tokens from the user, and accumulates this stream till the time the swap function is called. The swap function will be called through a cron job or gelato periodically to swap tokens by all users.</p><p>The flow of events:</p><ol><li><p>The user gives permission to the contract for the flow of the given tokens.</p></li><li><p>The user actually starts the flow, while the contract logs the flow and starts calculating the amount of tokens accumulated by the user.</p></li><li><p>Whenever the swap or manual swap function is called, the contract calculates the amount of fDAIx tokens sent by the user, unwraps to fDAI, swaps those tokens to WETH and finally sends the tokens to the user itself.</p></li></ol><h2 id="h-current-work-done" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Current Work Done</h2><ol><li><p>Figured out how to achieve a basic DCA MVP using streams and Uniswap on goerli which swaps fDAIx for WETH - including the contract and UI implementation. Currently, the swap of a user’s tokens happens when the user clicks manual swap, but a function to swap all tokens provided by all users has been written, which needs to be called by a cron job periodically.</p></li><li><p>Planning out further steps that can serve as USP as well as provide users with more freedom on streams:</p><ol><li><p>Allow users to set custom slippage amounts on token swaps</p></li><li><p>Allowing users to pause the DCA if they want and also manually swap if they like the market conditions</p></li><li><p>Notifications on streams and every time tokens are swapped (kind of like logs of DCA)</p></li></ol></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0c14b77bdd2e7ff3b255d6151a82008d5bd39f55462085bd39488aa414753b5e.png" alt="All values are in wei" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">All values are in wei</figcaption></figure><p>Check out the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.loom.com/share/6934db0bee5547d8a2ac1df1ede3343a">Demo Video</a>!</p><h2 id="h-conclusion" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Conclusion</h2><p>This week was very exciting in terms of figuring out the tech behind DCA and streaming, managing permissions and tokens themselves. Learnt a lot about how tokens are swapped using Uniswap, and actually implementing it using a contract.</p>]]></content:encoded>
            <author>aayush-gupta@newsletter.paragraph.com (Aayush Gupta)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/f0a558a97786d900f6e4e7df1386478edfc63502480842e88a5e463d4ee1e376.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[StreamFi: Week 4 @ ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@aayush-gupta/streamfi-week-4-ethindia-fellowship-3-0</link>
            <guid>ntkwEDTu2L0m0WmEXueu</guid>
            <pubDate>Sun, 05 Mar 2023 21:14:15 GMT</pubDate>
            <description><![CDATA[Proxy Contracts“A proxy contract is a contract which delegates calls to another contract. To interact with the actual contract you have to go through the proxy, and the proxy knows which contract to delegate the call to (the target).” As per last week’s update, the real-time balances were supposed to be calculated from timestamps and stream details pulled from the Superfluid subgraph. But as a matter of chance, I happened to log the contract details of each token and spotted a function: Realt...]]></description>
            <content:encoded><![CDATA[<h2 id="h-proxy-contracts" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Proxy Contracts</h2><p><em>“A proxy contract is a contract which delegates calls to another contract. To interact with the actual contract you have to go through the proxy, and the proxy knows which contract to delegate the call to (the target).”</em></p><p>As per last week’s update, the real-time balances were supposed to be calculated from timestamps and stream details pulled from the Superfluid subgraph.</p><p>But as a matter of chance, I happened to log the contract details of each token and spotted a function: <strong>RealtimeBalanceOfNow</strong> - which returns the current token balance, without the need for calculations.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/713f382f7fa7e2f268c7a16f8662194b2d9405cc7a780b0654e0595101a11e3f.png" alt="RealtimeBalanceOfNow" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">RealtimeBalanceOfNow</figcaption></figure><p>However, there was a twist presented in the form of the contract being deployed in the form of a proxy contract by Superfluid.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/063a46aa6e051cd9c60184c13615b1f7d950a1ff414139ccf0e52b9d988671ea.png" alt="Proxy Contract for fDAIx" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Proxy Contract for fDAIx</figcaption></figure><p>What Proxy contracts essentially change is how and where the data is stored and fetched. The current way of calling the contract is creating the contract object using the ABI of the underlying contract the Proxy contract calls and the address of the proxy contract itself.</p><p>This provided a really convenient and elegant solution to the fetching balances issue discussed last week.</p><h2 id="h-current-state-of-streamfi" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Current State of StreamFi</h2><p>Tasks accomplished this week:</p><ol><li><p>Fixed and finalised the dashboard, adding real-time updated token balances. The balances are being pulled now directly from proxy contracts, which took a lot of research and diving into the contract structure.</p></li><li><p>Added multiple token support - fDAIx, fTUSDx, fUSDCx</p></li><li><p>Planned out the infrastructure of building the savings feature and researched the backend service to be used. Currently tested out redis to build this.</p></li><li><p>An MVP has been deployed on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://streamfi.fun/">https://streamfi.fun/</a> 🚀 Would love to get some feedback on the look and feel of the project. <em>NOTE: Only works on Goerli</em></p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/21ea700c79ce945fcc41b9a8b35f4d99dbd24b743a7052857a18ab81d9488df0.png" alt="Dashboard" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Dashboard</figcaption></figure><h2 id="h-conclusion" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Conclusion</h2><p>The app has started to shape up really nicely, having structure and functioning. I have learned a lot especially about writing better code, researching protocols and creating UX flows. Deploying the website and domain never gets old 🛐</p>]]></content:encoded>
            <author>aayush-gupta@newsletter.paragraph.com (Aayush Gupta)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/f0a558a97786d900f6e4e7df1386478edfc63502480842e88a5e463d4ee1e376.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[StreamFi: Week 3 @ ETHIndia Fellowship 3.0
]]></title>
            <link>https://paragraph.com/@aayush-gupta/streamfi-week-3-ethindia-fellowship-3-0</link>
            <guid>WDoU3mooxWoNcImuwrGi</guid>
            <pubDate>Wed, 01 Mar 2023 06:39:04 GMT</pubDate>
            <description><![CDATA[Building DashboardsDashboards form an essential part of any project. When it comes to Defi, dashboards become portfolios. Portfolios that need to be as updated and robust as possible, while keeping the UI intuitive for users. For Streamfi, I started out by building a standard dashboard that tracks the user’s streams (incoming and outgoing) and displays necessary information related to that stream. There were a couple of roadblocks along the way, majorly in the form of how to access stream inf...]]></description>
            <content:encoded><![CDATA[<h2 id="h-building-dashboards" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Building Dashboards</h2><p>Dashboards form an essential part of any project. When it comes to Defi, dashboards become portfolios. Portfolios that need to be as updated and robust as possible, while keeping the UI intuitive for users.</p><p>For Streamfi, I started out by building a standard dashboard that tracks the user’s streams (incoming and outgoing) and displays necessary information related to that stream. There were a couple of roadblocks along the way, majorly in the form of how to access stream information.</p><p>Superfluid provides its <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://console.superfluid.finance/subgraph?_network=goerli">Subgraph</a>, which you can use to pull information for each account, token, stream, etc. The subgraph, however, does not give you exact token balances (since they are being streamed on a per-second basis). This needs to be calculated on the client side of the app in real-time (yet to be implemented).</p><h2 id="h-current-state-of-streamfi" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Current State of StreamFi</h2><p>For this week, I focused on 2 major components of the app - finalising the Create Stream functionality and making the dashboard. Users are now able to create streams to other users in a more cleaner and functioning UI, along with viewing their created and incoming streams in the dashboard. The balances of each token are not being displayed currently and is the next feature I would work upon.</p><p>The next step after the dashboard is completed is adding a savings tab that users can use to keep track of their personal expenses and stream into their accounts.</p><p>Snapshots of the current version (feedback appreciated)</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3acdaa22ff132df6706ff4a5a80230b542f387f78885a95774dea5013fe67190.png" alt="Landing Page" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Landing Page</figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0fec378d3e32ab642c9cae1f50e1f48ebfcd9c48d78ded8731d65c6b1a4b6325.png" alt="Stream Creation" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Stream Creation</figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f7386a4608ebb4a64a21ae4b9bd73bd589f31127af77d72b22604eb2953e03f1.png" alt="Dashboard" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Dashboard</figcaption></figure><h2 id="h-conclusion" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Conclusion</h2><p>This week was filled with understanding what good UX looks like as well as evaluating the project’s further vision. I had a lot of fun tinkering with the Superfluid Subgraph and have some plans to even build on top of it 👀</p>]]></content:encoded>
            <author>aayush-gupta@newsletter.paragraph.com (Aayush Gupta)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/f0a558a97786d900f6e4e7df1386478edfc63502480842e88a5e463d4ee1e376.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[StreamFi: Week 2 @ ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@aayush-gupta/streamfi-week-2-ethindia-fellowship-3-0</link>
            <guid>8VJ3g4jUaw4YKkh6LaPR</guid>
            <pubDate>Wed, 22 Feb 2023 20:20:38 GMT</pubDate>
            <description><![CDATA[Token StreamingToken streaming is a relatively new concept in the web3 space and has been gaining traction, with innovative use cases popping up. The team at Superfluid, a token streaming framework I will be using to build my project has been continuously adding newer features, like token vesting which they added earlier this week. I have been researching use cases, taking user feedback and trying to find ways to make the dApp as useful as possible. Ideas like notifications, interest-bearing ...]]></description>
            <content:encoded><![CDATA[<h2 id="h-token-streaming" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Token Streaming</h2><p>Token streaming is a relatively new concept in the web3 space and has been gaining traction, with innovative use cases popping up. The team at Superfluid, a token streaming framework I will be using to build my project has been continuously adding newer features, like token vesting which they added earlier this week.</p><p>I have been researching use cases, taking user feedback and trying to find ways to make the dApp as useful as possible. Ideas like notifications, interest-bearing streams and streaming markets are some possible functionalities I researched this week for the scope of this project.</p><h2 id="h-this-weeks-pow" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">This week’s PoW</h2><p>Tasks accomplished this week:</p><ol><li><p>Made the code base for creating and managing streams more robust, with added UI changes in the website.</p></li><li><p>Got user feedback on the created MVP and implemented some UX changes.</p></li><li><p>Made the Dashboard front-end and gained vantage on how to gain stream details from the SDK.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4e7cb5a2e15acaf6ca018ff60fb0d97346523008d26459d5545236e6736f18ea.png" alt="Creating Stream" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Creating Stream</figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b5dd2fe70a1ed3de21610d400d1226db82798bfbc0611184d54f3a43e7119f89.png" alt="Dashboard (yet to be connected to the SDK)" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Dashboard (yet to be connected to the SDK)</figcaption></figure><h2 id="h-whats-next" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What’s Next?</h2><p>The next week will be spent connecting the Dashboard frontend to the data pulled from the SDK, while finding ways to make the code even more optimised and robust and getting ready for starting the next feature’s development, i.e. custom set Savings accounts.</p><h2 id="h-conclusion" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Conclusion</h2><p>This week was the first time I got user feedback, resulting in some realisations regarding the direction of the product as well as some things that needed to be improved.</p>]]></content:encoded>
            <author>aayush-gupta@newsletter.paragraph.com (Aayush Gupta)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/f0a558a97786d900f6e4e7df1386478edfc63502480842e88a5e463d4ee1e376.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[StreamFi: Week 1 @ ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@aayush-gupta/streamfi-week-1-ethindia-fellowship-3-0</link>
            <guid>BTcUzJS1Uwhodikbmyih</guid>
            <pubDate>Sun, 12 Feb 2023 15:46:19 GMT</pubDate>
            <description><![CDATA[IntroductionAs a part of the ETHIndia fellowship 3.0, I will be building StreamFi: a One-stop personal Defi Streaming Application for novice as well as advanced users built on top of Superfluid, a token streaming platform which facilitates token transfer in continuous streams rather than transfer in discrete blocks.Project PlanTo develop this project, the plan is to build functionalities one at a time, keeping code quality and UI in check. The functionalities should build upon each other and ...]]></description>
            <content:encoded><![CDATA[<h2 id="h-introduction" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Introduction</h2><p>As a part of the ETHIndia fellowship 3.0, I will be building StreamFi: a One-stop personal Defi Streaming Application for novice as well as advanced users built on top of Superfluid, a token streaming platform which facilitates token transfer in continuous streams rather than transfer in discrete blocks.</p><h2 id="h-project-plan" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Project Plan</h2><p>To develop this project, the plan is to build functionalities one at a time, keeping code quality and UI in check. The functionalities should build upon each other and form the app by the end of the timeline.</p><p>The dApp will undergo continuous feedback loops with mentors and alpha testing during development itself to ensure a meaningful and seamless application.</p><h2 id="h-this-weeks-pow" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">This week’s PoW</h2><p>This week accomplished the following tasks:</p><ol><li><p>Technical research on how the project would be implemented and going through the Superfluid docs to find the necessary modules that would be necessary to create the project.</p></li><li><p>Started work on the website and completed functionality of creating a stream and deletion of the created stream. The current POC can be found <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://streamfi-dev.vercel.app/">here</a></p></li><li><p>This has been done for the DAIx token, further token support will be added next.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/93e86a559eeeb68af608aaa530650c5d3f3ec842fb6c335322d0e815c85a4f71.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>The only roadblock encountered was understanding the infrastructure at Superfluid, with token streaming being a fairly new concept, setting up the SDK and figuring out how it interacted with the front end.</p><h2 id="h-next-steps" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Next Steps</h2><p>The next step is to make the code quality better via modularity, making the code less vulnerable to edge cases and adding more token support.</p><p>After that, the development process for the dashboard feature will begin where the users will be able to view and keep track of their created streams.</p><h2 id="h-conclusion" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Conclusion</h2><p>The first week of the fellowship has already proven to be a productive and rewarding experience, featuring intellectual conversations with other members of the cohort, sharing resources with each other and looking at the innovations in the ecosystem.</p>]]></content:encoded>
            <author>aayush-gupta@newsletter.paragraph.com (Aayush Gupta)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/f0a558a97786d900f6e4e7df1386478edfc63502480842e88a5e463d4ee1e376.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>