Skip to content

ETL to QE, Update 61, Quality Assurance

Back in ETL to QE, Update 60, Project Management Strategy I made a list of all my projects,

These projects need to be feature complete before we can move onto other "products",

  1. Nostr CMS
  2. Nostr NIP05 Bot
  3. Nostr LLM Bot
  4. AI Taskmaster

The stuff I am allowed to work on after is available here -> Project Products

So let's interrogate each project so we know what we wanted, what we want, and how that matches with our reality.

Nostr CMS

Goal

I want to have the contents of mememaps.net published on Nostr rather than building a static site. In fact long term with a separate project I want to replace my current VCS (Git and Fossil Software) with something CID/Nostr/Multicodec based.

User Journey

The experience browsing mememaps.net from the MKDocs site generated from dentropys-obsidian-publisher should be feature parity with this Nostr CMS, this includes.

  • Documents are refereed to by URL
  • When I deploy a new version of the page, or change the name of the article, it is at the same URL
  • Hierarchy of content
  • Back links
  • Search

Implementation

With the current NIP-54 implementation of Nostr CMS we have three choices of client,

So the key question is, am I willing to put one of these clients on the root domain name of mememaps.net?

The simple answer is no, for the following reasons,

  • We will need a separate Nostr relay
  • The nostr relay will have to be hard coded into the NIP-54 client we decide to deploy
  • One can't just bookmark wiki pages or annotate them with Hypothes.is
  • mememaps.net currently uses Plausible analytics, if we wanted analytics on these nostr wiki pages we would need analytics on the relay and we currently don't have that let alone a epic dashboard like Plausible, we probably want the logs of the relay to be in OpenTelemetry, we may also want analytics on the static assets on Blossom/S3. Knowing how many people queried my content is useful to know.
  • NIP-54 has a series of problems,
    • NIP-54 has the same problem as Obsidian publish where the title of the document defines how it is referenced. The entire purpose of dentropys-obsidian-publisher is that each document get's a unique identifier and when the document is updated it continues to be referenced via the unique identifier. Maybe there is something in the NIP-72, Reddit style moderated communities, because they also use a unique identifier.
    • NIP-54 does not support back linking
    • The problem of rotating keys on Nostr is not figured solved
    • NIP-54 forks and merges confuse the shit out of me
    • NIP-54 does not use Content Addressable storage for the content of the Nostr event (This is more a me issue than a NIP-54 issue)
  • Material for MkDocs is much more beautiful than any of the NIP-54 clients
  • I still want mememaps.net to build to a static site

For future project in the Project Products document we want to, develop the QE user journey and do ReBAC nostr events. It's better we develop the CMS with our own NIP that is aware of my requirements rather than build on top of a faulty foundation.

But this project is still not finished, we can still deploy our own nostr relay just for wiki stuff, white list it for the publication npub, publish static content to blossom including building and pubishing html presentations, deploy a wiki client with hard coded relay, then add nostr stuff as part of our publishing script.

Nostr NIP05 Bot

Goal

I want to first be able to let people easy attain NIP05 identities on domain names I own. I later want to be able to sell NIP05 identities for lightning bitcoin. After that I want to be able to sell any NIP05 identity for any poplar crypto currency that aligns with my values and possibly even start selling off subdomain name space. For example give someone CORPERATION.mememaps.net and include the infrastructure to set identities.

I also want to integrate Nostr identities with decentralized DNS such as ENS and Ada Handle's.

This product is sorta the The Authentication and some of the Authorization of AAA (Authentication, Authorization, and Access Control).

User Journey

The current implementation of the bot is pretty simple. Send it any random message you get the help message response. Send it a slash command and you can request a NIP05 identity, set your relays, and eventually delete your NIP05 identity.

Implementation

When testing the bot with users we realized we have a lot of bugs we need to weed out. We should focus on fixing all those bugs, and developing a well documented Nostr Bot Framework MVP.

There is also a list of long term features you can check out on the Nostr NIP05 Bot page.

Nostr LLM Bot

Goal

The original goal was to develop a LLM interface similar to ChatGPT and Open WebUI store all conversations and send all LLM requests through Nostr. We even got a Nostr LLM response streaming demo working.

User Journey

The deliverable product was a bot you can tag in a thread and it will load the previous couple messages into the context window and respond.

Implementation

This project still needs to be deployed with a nicer LLM, probably one that is not self hosted, and promoted.

This is the streaming demo -> LLMStreamToNostr.js

AI Taskmaster

Goal

The goal of the AI Taskmaster is to be able to ask a LLM to ask you a specific question at a specific time of the day. The idea being that if you not only get a reminder, but have to talk through the reminder it helps reinforce the habit.

User Journey

Example user journey, I want to be reminded to eat breakfast before 11am. I want the AI Taskmaster to send me a message at 10:30am asking, "Hey USER what did you have for breakfast, can you tell me what you ate, if you didn't eat breakfast please tell me what you have been up to". When I get this message I can reply with natural language. The data can be used to monitor my routine and habit.

Implementation

There are a series of problems I am trying to deal with here,

  • AI Data Extraction
    • What does the user want to be asked
    • What is the Cron Job to activate when the bot messages the person and asks the question
  • We need a task queue to line up when the bot is supposed to send messages out
  • We need to respond to the chat messages coming from the user similar to the Nostr LLM Bot

We need to solve the AI Data Extraction problem and write write a blog post about it. This is more a Chatbot than a LLM bot so we may want to have a Prompt Ecology

So I guess we are going to have to develop the CGFS Knowledge Graph Specification which is mentioned in DDaemon 2025 Roadmap Rev. 0.0.3 first before we finish developing AI Taskmaster.

High Level View

None of the products I am developing right now involve doing any front end stuff.

My initial roadmap, DDaemon 2025 Roadmap Rev. 0.0.1 involved developing a Open WebUI equivilent UI but running on Nostr by end of January. It is currently 2025-02-06 and we haven't touched any UI stuff.

I believe focusing on delivering, user testing, productizing, documenting, and promoting these six projects over the next month we should have a solid foundation.

  1. Nostr Bot Daemon Framework
  2. CGFS Knowledge Graph Specification
  3. Nostr CMS
  4. Nostr NIP05 Bot
  5. Nostr LLM Bot
  6. AI Taskmaster

After this situation is solved we can develop our own Nostr Relay and CGFS RBAC File Storage System.

Then we should have enough of a foundation to start developing our own Nostr Client, one that can replace the MKDocs static site for mememaps.net.

Then we can dive into UTxO/Account Based token standard on Nostr.

Setting a Reasonable Bar

Each of the following six products, are PRODUCTS.

  1. Nostr Bot Daemon Framework
  2. CGFS Knowledge Graph Specification
  3. Nostr CMS
  4. Nostr NIP05 Bot
  5. Nostr LLM Bot
  6. AI Taskmaster

Products involve a couple things such as,

  • Solving a problem
  • Involves a Consumer
  • Provides Value
  • Marketing Material
  • Proof reading marketing material
  • There is QA done on a product
  • A product has beta testes
  • involves user research
  • Involves User Centered Design / Design Roadmap
  • Usually involves money, if it doesn't be ready to explain