<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>The Interledger Community 🌱: Gabriel Tomonari</title>
    <description>The latest articles on The Interledger Community 🌱 by Gabriel Tomonari (@eijitomonari).</description>
    <link>https://community.interledger.org/eijitomonari</link>
    <image>
      <url>https://community.interledger.org/images/J2RBovkLLUXTdlqw_DvzXPpFcsuVHul3MPagZgUUeJ4/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL3VzZXIv/cHJvZmlsZV9pbWFn/ZS8xNTQ1Lzc4Yjg4/ZGM5LTk4YTgtNDMz/Yy04MDA0LWRmZWZj/Mzg4ODgyMy5wbmc</url>
      <title>The Interledger Community 🌱: Gabriel Tomonari</title>
      <link>https://community.interledger.org/eijitomonari</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://community.interledger.org/feed/eijitomonari"/>
    <language>en</language>
    <item>
      <title>PipeWebMonetization: Back End</title>
      <dc:creator>Gabriel Tomonari</dc:creator>
      <pubDate>Mon, 13 Mar 2023 15:38:27 +0000</pubDate>
      <link>https://community.interledger.org/pipe/pipewebmonetization-back-end-f40</link>
      <guid>https://community.interledger.org/pipe/pipewebmonetization-back-end-f40</guid>
      <description>&lt;p&gt;Building a back end and database for a modern web application is a complex task that requires careful planning and execution. The PipeWebMonetization platform is an example of this, as it offers a comprehensive solution for tracking website revenue. In this article, we will explore how we set up the back end and database for the PipeWebMonetization platform, and discuss the technology behind it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Back End and Database Technology
&lt;/h2&gt;

&lt;p&gt;To build a robust and scalable back end for Pipe, we chose to use AWS Lambda with Node serverless functions. AWS Lambda is a popular choice for building serverless back ends because it allows us to run code in response to events, without the need to manage server infrastructure. This makes it easy to scale the back end as our user base grows, and ensures that we only pay for the resources we use.&lt;br&gt;
The database for the PipeWebMonetization platform is DynamoDB, which is a fully managed NoSQL database service offered by AWS. DynamoDB is a highly scalable and reliable database service that provides low-latency performance at any scale. This makes it an ideal choice for a platform like PipeWebMonetization, where we need to store and query large amounts of data in real-time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The process
&lt;/h2&gt;

&lt;p&gt;Our first set of Lambda functions handle various tasks, such as processing payment events, calculating revenue statistics, and storing data in DynamoDB. We used the AWS API Gateway to create a RESTful API that allows the front end of our platform to interact with the back end.&lt;br&gt;
The API Gateway allows us to define API endpoints that map to our Lambda functions, and handles tasks such as authentication and rate limiting. This makes it easy to manage and monitor our API, and ensures that our back end is secure and scalable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting up the Database
&lt;/h2&gt;

&lt;p&gt;To set up the database, we used DynamoDB. We created several tables to store different types of data. The first table is called pluginIds and is used to store information about the unique IDs of the Wordpress plugins that are sending payment events.&lt;br&gt;
The postInfos table is used to store information about the posts on the website, such as the post ID and the title. This table is used to join with the transactions table to calculate revenue per post.&lt;br&gt;
The transactions table is used to store information about each payment event that is sent to the back end. This includes information about the payment pointer and the amount of the payment.&lt;br&gt;
We also created three tables to store revenue data broken down by different time periods. The transactionsPerDayOfWeek table is used to store revenue data broken down by day of the week, while the transactionsPerDayOfYear table is used to store revenue data broken down by day of the year. The transactionsPerMonth table is used to store revenue data broken down by month.&lt;br&gt;
Each of these tables has a similar schema, with columns for the post ID, the payment pointer, the revenue amount, and the respective time unit. By storing revenue data broken down by different time periods, we can provide website owners with valuable insights into how revenue is generated on their website.&lt;/p&gt;

&lt;h2&gt;
  
  
  Batching Payment Events
&lt;/h2&gt;

&lt;p&gt;One of the key challenges we faced while setting up the back end and database for PipeWebMonetization was handling the large volume of payment events that are generated by the plugin. To handle this, we developed a custom batcher that groups payment events together and sends them to the back end in batches.&lt;br&gt;
The batcher uses a sliding window algorithm to group payment events together based on their timestamp. This ensures that we can process large volumes of payment events without overwhelming the back end or database.&lt;br&gt;
We hope you found this article informative and helpful in understanding how we set up the back end for PipeWebMonetization.&lt;br&gt;
In our next article, we will be discussing our testing tool and how we ensure the reliability and accuracy of our platform. Stay tuned for more information. Thank you for reading and we hope to see you in the next article!&lt;/p&gt;

</description>
      <category>grantreports</category>
      <category>pipe</category>
    </item>
    <item>
      <title>PipeWebMonetization: Wordpress Plugin</title>
      <dc:creator>Gabriel Tomonari</dc:creator>
      <pubDate>Thu, 23 Feb 2023 12:01:45 +0000</pubDate>
      <link>https://community.interledger.org/pipe/pipewebmonetization-wordpress-plugin-1lnk</link>
      <guid>https://community.interledger.org/pipe/pipewebmonetization-wordpress-plugin-1lnk</guid>
      <description>&lt;p&gt;&lt;a href="https://community.interledger.org/images/5PXIeom7fSM8BOb-c0C8gboV5nZOGsXVeFKKCAdnPVc/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL21ubHM3YTds/YnZjMTl6ZHVia3Vy/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/5PXIeom7fSM8BOb-c0C8gboV5nZOGsXVeFKKCAdnPVc/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL21ubHM3YTds/YnZjMTl6ZHVia3Vy/LnBuZw" alt="Pipe Wordpress Plugin" width="880" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PipeWebMonetization is a Wordpress plugin that helps website owners track their revenue in real-time. The plugin utilizes the Coil chrome extension to emit payment and tip events, which are then tracked and analyzed by the plugin. With its dashboard and customizable data views, the PipeWebMonetization plugin provides a comprehensive solution for tracking and optimizing website monetization.&lt;/p&gt;

&lt;p&gt;However, building a plugin that integrates with payment events was not without its technical challenges. In this article, we will explore some of the key technical challenges we faced while building the PipeWebMonetization plugin, and discuss how we overcame them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Integrating with the Coil chrome extension
&lt;/h2&gt;

&lt;p&gt;The first technical challenge we faced while building the PipeWebMonetization plugin was integrating it with the Coil chrome extension. The Coil chrome extension uses the Web Monetization JavaScript API to emit payment and tip events. To reach a reliable connection between the plugin and the Coil chrome extension, we used a JavaScript event listener.&lt;br&gt;
This listener is responsible for batching the events that will later be sent to the PipeWebMonetization backend.&lt;br&gt;
All the event types and states can be found &lt;a href="https://webmonetization.org/docs/api"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Parsing the payment and tip events data
&lt;/h2&gt;

&lt;p&gt;Once we had established a connection between the plugin and the Coil chrome extension, we had to parse the payment and tip events data that was emitted by the extension. This data was complex and varied, and required a lot of time and effort to clean and structure it in a way that was useful for our plugin. We had to develop custom algorithms and data parsing techniques to extract the information we needed from the raw data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Developing a custom dashboard
&lt;/h2&gt;

&lt;p&gt;Another key technical challenge we faced while building the PipeWebMonetization plugin was developing a custom dashboard inside Wordpress. The dashboard had to be intuitive, easy to use, and provide a smooth way for setting up the plugin installation and integration with the PipeWebMonetization data tracking dashboard. We had to invest a lot of time into developing a user-friendly interface, which is capable of setting payment pointers, revenue sharing and enable paywalls per content.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/JxV7AFiXa4J2gFWQV3aS75VftI-_vtGHl10WhAa2Elw/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL3drZ2NrMWxm/bnJ4cHl3OHRnaXN5/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/JxV7AFiXa4J2gFWQV3aS75VftI-_vtGHl10WhAa2Elw/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL3drZ2NrMWxm/bnJ4cHl3OHRnaXN5/LnBuZw" alt="Custom Dashboard" width="880" height="542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Optimizing for performance
&lt;/h2&gt;

&lt;p&gt;Finally, one of the biggest technical challenges we faced was optimizing the performance of the plugin. With so much data being generated and analyzed in real-time, we had to ensure that the plugin was able to handle the load without slowing down the website. We had to invest a lot of time and effort into optimizing the performance of the plugin, and into developing efficient algorithms for data processing and storage.&lt;br&gt;
We’re still working on how to make the data transfer even more reliable.&lt;/p&gt;

&lt;p&gt;In the next article, we’ll talk about our backend and the challenges involved in capturing the events and storing them. See ya 👋 &lt;/p&gt;

</description>
      <category>grantreports</category>
      <category>pipewebmonetization</category>
    </item>
    <item>
      <title>Gabriel Tomonari — ILP Summit Virtual Review</title>
      <dc:creator>Gabriel Tomonari</dc:creator>
      <pubDate>Sat, 14 Jan 2023 20:44:40 +0000</pubDate>
      <link>https://community.interledger.org/eijitomonari/gabriel-tomonari-ilp-summit-virtual-review-2p29</link>
      <guid>https://community.interledger.org/eijitomonari/gabriel-tomonari-ilp-summit-virtual-review-2p29</guid>
      <description>&lt;h3&gt;
  
  
  Introduction
&lt;/h3&gt;

&lt;p&gt;My name is Gabriel Tomonari, I'm from Brazil and I am a tech lead at &lt;a href="https://community.interledger.org/pipe"&gt;PipeWebMonetization&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;I had hoped to attend the ILP Summit to learn more about the latest developments and advancements in the Interledger Protocol and to network with other professionals in the industry. &lt;/p&gt;

&lt;p&gt;As a developer at PipeWebMonetization, I believe that understanding the Interledger Protocol and it's ecosystem is crucial to the success of our company and I was eager to gain knowledge and insights from the experts in the field.&lt;/p&gt;

&lt;p&gt;Unfortunately, I was unable to attend the Interledger Protocol Summit as I was involved in a car accident and had to stay put. But don't worry, I'm all good now 😃. I hope to have Pipe represented in future events.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key takeaways
&lt;/h3&gt;

&lt;h4&gt;
  
  
  State of the Interledger
&lt;/h4&gt;

&lt;p&gt;The &lt;strong&gt;State of the Interledger&lt;/strong&gt; presentation by Briana was awesome. It gave me a great insight into the current state of the ILP and the great achievements so far.&lt;/p&gt;

&lt;p&gt;It was nice to learn more about the values and mission of the Interledger Foundation during the summit. One of the most striking aspects for me was the emphasis on financial inclusion and the diversity of the community that the foundation supports. The foundation is committed to creating a more inclusive financial system that is accessible to people from all backgrounds and walks of life, regardless of their race, gender, socioeconomic status, or location. It was great to see the passion and dedication of the foundation towards these values and how they are working to make them a reality through the Interledger Protocol.&lt;/p&gt;

&lt;p&gt;Overall, it was great to see the Interledger Foundation team in action, they were all real, you know?! 😂 It was awesome to put a face to the names and hear more about their vision for Interledger. I really liked that the team is diverse and expresses the ILF values.&lt;/p&gt;

&lt;h4&gt;
  
  
  Rafiki
&lt;/h4&gt;

&lt;p&gt;I was extremely excited about Rakifi and its technological breakthroughs in the Interledger Protocol. Our team at PipeWebMonetization has been closely tracking the development of Rakifi through its Slack channel and repository, and we were eagerly awaiting its launch.&lt;/p&gt;

&lt;p&gt;We believe Rakifi has the potential to revolutionize the way payment gateways work by making them more efficient, secure, and versatile. The demonstrations and use cases shared during the summit were impressive, I particularly enjoyed the GraphQL demonstration, the explanation of the Open Payments concept and the system design of Rafiki. It was great to see how Rakifi is able to make payments across apps and platforms much easier and it may inspire the PipeWebMonetization team to explore new possibilities in our own product. &lt;/p&gt;

&lt;p&gt;Overall, I believe that Rakifi represents a significant step forward for the Interledger Protocol and I'm looking forward to seeing its continued development and integration into the ecosystem.&lt;/p&gt;

&lt;h4&gt;
  
  
  Dassie
&lt;/h4&gt;

&lt;p&gt;I was really excited to learn about Dassie during the summit, as I was previously unfamiliar with it. I was impressed by the way it aims to improve developer experience by making it easier and more efficient to build applications on top of the Interledger Protocol.&lt;/p&gt;

&lt;p&gt;I found the comparison between Rafiki and Dassie to be particularly interesting. Both projects are aimed at improving the Interledger Protocol, but they approach the problem from different perspectives. Rafiki focuses on enhancing the capabilities of payment gateways and the overall user/organization experience, while Dassie aims to improve the developer experience by making it easier to build applications on top of the Interledger Protocol.&lt;/p&gt;

&lt;h3&gt;
  
  
  Next Steps
&lt;/h3&gt;

&lt;p&gt;For our next steps here at Pipe, we've got:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Look into the projects that were presented and discussed at the summit, specially Dassie, to see how they could be applied to our organization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Review the presentations and materials that were shared during the summit to gain more in-depth knowledge.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stay informed about ongoing developments and future events.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you so much 😊 &lt;/p&gt;

</description>
      <category>virtualreviews</category>
      <category>ilpsummit22</category>
      <category>ilpsummitreflections</category>
    </item>
  </channel>
</rss>
