Programming Diary #36: Published a Steem block explorer in the Chrome webstore

in Steem Dev6 days ago (edited)

TL;DR: Progress: Published a Steem block explorer as a browser extension; Updated the Steem Curation Extension; continuing work on Thoth. Reflections on incorporating "vibe coding" into the Steem ecosystem.

Summary:

Normally, I write the summary last, after I know what the post says. Today, though, I have multiple diverse topics to cover, so let me write today's summary as a checklist that I can refer back to it while writing the article. I want to cover four topics:

  1. As a stepping stone towards publishing the Steem Curation Extension in the Chrome webstore, I published a Simple Steem Block Explorer. This is my first-ever browser extension to be published in the Chrome web store, so please try it out and let me know if you have any issues with the download or execution.
  2. Added changes by @cmp2020 to the content that's displayed in the post page by the Steem Curation Extension (along with other small changes).
  3. Continuing efforts towards a healthier incentive system through lifetime reward payouts and a gen-5 voting service for authors by way of Thoth.
  4. Thoughts about how to harness "vibe coding" for the Steem blockchain.

Background:

Efforts from Programming Diary #35 until now have focused on moving two tools forward - or three, depending upon how you count.

First (if we want to count this one), the Simple Steem Block Explorer is a simple browser extension that was almost entirely written by Claude. I had created it on a whim - starting as a "one prompt challenge" to myself. As previously noted, this extension has now been published in the Chrome webstore.

Second, I published some changes that were mostly implemented by @cmp2020 in the Steem Curation Extension. This extension is intended to provide information that might be useful for a manual curator. It started with highlighting of promoted posts and posts with @null beneficiary settings, and grew from there. The current changes include the ability to see some additional information inside a post's page. This information includes the word count and reading time; a list of resteemers; more information about a post's voters; and some graphs showing recent historical information from the post and author. Another change is that I hid condenser's "Hide Resteems" button. More about these changes below.

Finally, another focus area was Thoth. This is an AI assisted curation bot that finds posts of interest and creates curation posts about them. To me, the important aspect of this system is that it uses beneficiary setting to share its author rewards with the authors of the posts it finds (and eventually, delegators). As posted, here, this technique enables posts to earn perpetual rewards, and I think hope it has potential to realign incentives for authors and investors in a way that is much healthier for the ecosystem.

I'll talk more about the specifics on each of those activities in the next section before moving on to "vibe coding" in the reflections section. As background for that, I saw a document that Eric S. Raymond is collaborating on, called AI Code Guid, and it seemed like this disciplined method for incorporating AI into the development work flow could be very helpful for current and future Steem developers.

So, on to the details and reflections.

Activity Descriptions

The Simple Steem Block Explorer

Ever since 2022, when I first posted the Steem Curation Extension, my hope has been to publish it in the Chrome Webstore. I had no idea how to proceed, though, and I was intimidated by the bureaucracy, so I procrastinated. Finally, last week, I bit the bullet and went to meet the bureaucracy.

I didn't start with the Steem Curation Extension, though, because that's a somewhat involved set of code and it requires permission to read and modify the condenser web site. So, I started simple with the Steem Block Explorer program that was just sitting out there doing nothing. That was approved and published in less than two business days. Basically, I just had to follow these steps:

  1. Register my google account as a developer account and verify the email address. (which cost $5)
  2. Compress the browser extension's folder into a "zip file"
  3. Upload the "zip file" to the webstore
  4. Fill out a form asking about the purpose of the extension, the permissions it needs, and the way that data will be collected from the extension user.
  5. Submit it for review.

Please try it out and let me know if you encounter any problems with the download or execution.

For that extension, the process was much less challenging than I expected, so now I think I know enough to try again with the Steem Curation Extension. Unfortunately, the Steem Curation Extension needs more permissions, so I guess the review will be more challenging for that tool.

The Steem Curation Extension

In addition to setting the stage for publication of the Steem Curation Extension, I also pushed some changes to the github repo. The main focus of these changes was inside the post page. Mostly, they were implemented by @cmp2020, and I provided some debugging assistance. There are still some bugs, but I've been using it - mostly as is - for months, so I decided to finish up a few more minor changes and push it to release 0.4.0-alpha.

Structurally, the biggest change is that the extension is now making use of Chart.js (version 4.4.8), so that library is included in the release.

Also, I removed condenser's "Hide Resteems" button. Since the condenser button and the Steem Curation Extension "Show resteems" buttons were redundant, the question was whether to remove it from the browser extension or from condenser? Here's why I chose to remove it from condenser:

  1. The extension's button lets you toggle the button without scrolling back to the top, even when scrolled down in the feed (up to 200 posts deep). Condenser's doesn't.
  2. The extension's button also lets you choose whether to show or hide resteems on an author's blog page. Condenser's button doesn't provide that capability.

Finally, @cmp2020 changed the post page to provide some additional information. This included:

InformationPictures (from various posts)
word count and reading time
Enhanced voting information
List of resteemers
Voting history graphs
Previous Week Payout History

Thoth

I've been running Thoth more-or-less daily with a filter to include just science and technology related tags, and I've been mostly happy with the articles that it's picking. The problem of plagiarism is a significant challenge, however, even in posts from Steem's early years. Eventually, this is going to need to connect to a subscription-based anti-plagiarism API service.... but that takes money, so for now I just update the filtering settings and move forward.

The primary changes that I've made to Thoth, recently, are:

  1. Added a list of beneficiary settings inside the body of the post.
  2. Updated it to get the most recent version of an edited post before doing its analysis.
  3. Added a self-vote five minutes after posting.
  4. I've experimented with letting the AI generate some original content based on the ideas in the posts that it discovers. Results so far have not been impressive, though. Some content was just bad, and other content was - shall we say - politically incorrect. I think I'm going to table this experiment for a while. It seems like the free LLM might not be up to this particular challenge.

Next Up

With the holiday tomorrow, and a few appointments scheduled in the coming week, I think these two activities will probably cover the next three or four weeks (if not more).

Steem Curation Extension

First, as discussed, I will start working on getting the Steem Curation Extension into a state that's suitable for publication. Mainly, this means reviewing and minimizing the permissions that it asks for. Once that's done, I'll go ahead and submit it to the Chrome web store. This is providing a similar service to fbpurity, so I think it should be approvable, but I'm not sure how much work I'll have to do to justify the permissions.

Thoth

I have many more screening capabilities to add to the tool, and I need to back out the changes that allowed the LLM to be more creative than just providing a list and review of each post that it finds.

I'm also thinking about doing a first pass at providing beneficiary rewards to delegators. If I let Thoth find 5 posts, that only leaves me one free beneficiary slot for delegators, so I'm thinking that I'll select the delegator randomly, with their odds based on the delegation share. This method is far less than ideal, but I think it's suitable and fair for a small number of delegators. And, it's the only option that I see right now. The 8-beneficiary soft-limit really makes this challenging.

Reflections

With the continuing improvement of LLMs, so-called "vibe coding" is the Internet's latest thing. I think this is a trend that Steem could harness. The topic has had some recent coverage on Eric S. Raymond's Twitter page, and that led me to AI Code Guide. I recommend it for anyone who's using AI for coding.

Here's an excerpt:

How I prompt for coding? AKA How I vibe code?

After you installed and played with those tools a bit, you'll notice they will hallucinate, enter in endless cycles of trying to fix a possible error, etc. It's important to know how to prompt well. Some tips:

  • Do not ask everything in one prompt. Only prompting "hey, building me an app to for my pet store" doesn't help a software engineer and much less an AI :-)
  • Understand your project, brainstorm first with an LLM, create a PRD (Product Requirements Document), make a plan and split them in tasks. You'll find bellow a recipe on how to use ChatGPT to create one for you.
  • Give it details. If you know what you want, say it. If you know which programming language you want, which tech stack, what type of audience, add it to your prompt.
  • Markdown or other text-based format like asciidoc should be OK for LLMs to interpret. In the end the text will be encoded as tokens. However, to put emphasis in specific parts of your prompt it's recommended to use some symbols like XML tags.
  • Break you project into tasks and subtasks.
  • Try different models for different goals.
  • Try different models to confirm and validate output of other models.
  • LLMs are "yes machines", so apply critical thinking.

Other tips include the suggestion to save a log of your prompts, use an interview session with the LLM to create a PRD file (project requirements document), and use the LLM to create a task list based on the PRD file. Here's a sample prompt for holding the interview that leads to the PRD:

You're a senior software engineer. We're going to build the PRD of a project
together.

VERY IMPORTANT:
- Ask one question at a time
- Each question should be based on previous answers
- Go deeper on every important detail required

IDEA:
\<paste here your idea\>

Here on Steem, maybe we should be thinking about the use of communities for "collaborative vibe coding". One obvious thing that we could consider doing would be to save our prompt logs as Steem posts.

If we can get three or four other people who would be willing to moderate a community for this purpose, I'd definitely like to participate.

Conclusion

In this post, I reviewed recent milestones and ongoing development efforts for my activities developing for the Steem ecosystem. The publication of the Simple Steem Block Explorer in the Chrome Web Store marked my first browser extension to be made available through the web store, instead of github. This (hopefully) also lays the groundwork for eventually getting the more complex Steem Curation Extension approved and published.

This post also described recent updates to the Steem Curation Extension, including the addition of new data visualizations and removal of the redundant "Hide Resteems" button.

The progress on the Thoth curation bot was also discussed. I believe that the techniques that Thoth is exploring offer the potential to create healthier incentives in the ecosystem by providing lifetime rewards for authors, and better aligning investor/delegator incentives with author incentives.

Finally, the discussion around "vibe coding" using large language models presents a potentially useful possibility for the Steem developer community to explore more collaborative, disciplined, and AI-assisted approaches to documentation and project development.

Community follow-up

  • Please try the Simple Steem Block Explorer and let me know if you encounter any issues with downloading or executing from the Chrome store.
  • Do we have 3 or 4 other people who would be willing to join me in moderating and building a new community to serve as a gathering place for collaborative Steem "vibe coding"? Let me know.

Update: I forgot to set a beneficiary for @cmp2020. I'll send 50% of liquid rewards to him after payout.


Thank you for your time and attention.

As a general rule, I up-vote comments that demonstrate "proof of reading".




Steve Palmer is an IT professional with three decades of professional experience in data communications and information systems. He holds a bachelor's degree in mathematics, a master's degree in computer science, and a master's degree in information systems and technology management. He has been awarded 3 US patents.


image.png

Pixabay license, source

Reminder


Visit the /promoted page and #burnsteem25 to support the inflation-fighters who are helping to enable decentralized regulation of Steem token supply growth.

Sort:  

I created two Google Chrome extensions. I get bored when I'm filling out the store listing information for the extensions 🤣🤣🤣🤣 . I don't know if you know this, but you can activate Google Analytics for your extension from there

image.png

 5 days ago 

I get bored when I'm filling out the store listing information for the extensions 🤣🤣🤣

Yeah, it wasn't too bad on the first one I published, since no permissions are needed. I'm not looking forward to the next one, though.

I don't know if you know this, but you can activate Google Analytics for your extension from there

Thanks. I did see that, but I didn't activate it at this point.

For the vibe coding, I suggest we create an official dev tag.
Any post related to development can use it. Personally, I’m really interested in dev content and I want to easily find good dev posts. Right now, I usually check these two links:
🔹 https://steemit.com/created/hive-151113
🔹 https://steemit.com/trending/dev

But I believe there are many dev-related posts I’m missing. Having one official tag would make it easier for all devs to connect and find quality content — maybe something like dev-steem-off or similar.

BTW did you see my new game , i hope you can join to it and support me with playing this game
Join the Steem Memory Game now!
👉 https://memory-game.steemhub.tech

📊 See the latest results:
https://steemit.com/world-of-xpilar/@memory-game/steem-memory-game-play-earn-and-have-fun-april-18-2025-3500341

#SteemFam #PlayToEarn