Join Nostr
2026-03-12 16:47:01 UTC

Laan Tungir on Nostr: Imagine instead of using a web server, you used a LLM to serve up complete html ...

Imagine instead of using a web server, you used a LLM to serve up complete html pages.

I've been experimenting with this idea, and you can play with it on a page I call Skills-TV.



https://laantungir.net/client/skills-tv.html

What coders have been doing lately is we use the LLM to help create the web page, and then we share the web page.

But what if instead, we share the instructions to make the web page, instead of the web page itself?

Think of the instructions as the new URL.

I have been using kind 31123/31124 in creating Didactyl, and have been calling them "Public and Private Skills". These are the new URLs and can be shared and stored across NOSTR.


HOW TO

You will need to have your own LLM model supplier. I recommend or . If you don't have either, in the sidebar, you should be able to "Create Deposit Invoice" and use lightning to start running @routstr.

In skills--tv on the left hand side you see all the available skills. You can toggle between seeing just yours skills or everyone's.

On the top you select the model you want to use. I have been using gemini-3.1-flash-light because it is capable, cheap and really fast. But you can choose any model. To create games I moved up to Claude.

Below is the iframe window. This is where the full HTML page that is returned by the LLM is displayed. In this example you see the calculator app that was created.

The bottom section is where you design, run and save the skill. The d-tag is the id of the skill. You can't have any duplicates, and you will overwrite the old skill if you do.

The Temp and the Seed are interesting. If you Temp is set to 0 and you give a seed (some models accept seeds, some don't) then generally speaking your LLM is deterministic.

What that means is that someone else running this skill will get the exact same result as you did. Your calculator app should look and work exactly like mine if you run the same skill.

If you have default blossom servers set up, you can also publish the web page. You can see this calculator app published here: https://blossom.laantungir.net/be47e6329fd0a4c9e1de757a2204ac2b5dbdda11adc34d749626f4f73acacacc


DECENTRALIZATION

Think of this analogy. If Satoshi was working today, instead of having to write the C++ code for Bitcoin, he could have instead turned The Bitcoin Whitepaper into a Skill, and published the Skill.

He is basically saying "If you take and run this skill, on this model, you will get out a working bitcoin node"

The decentralization aspect of this is super interesting.

No DNS. No IP addresses. Just pure knowledge spreading on a decentralized network.


COMPACTION

If you look at the skill required to make the calculator app, it is very few bytes, to create deterministically a much larger app. I find this fascinating. In my next versions of this I want to include some compaction metrics. I want to know how large and complete an app I can create with the smallest possible skill.

SKILLS

For more detail about SKILLS, you can read this:

https://git.laantungir.net/laantungir/didactyl/src/branch/master/docs/SKILLS.md

Have fun, and remember: Cypherpunks write code, and it is becoming easier and easier to be a Cypherpunk.