I'm a self-taught builder, and this week I built a small thing that made a concept finally click for me: a .night domain profile viewer. You type a name like tomin.night, it resolves on-chain, and it shows you the profile. This is the walkthrough — what a .night name actually is, the one SDK call that resolves it, the two gotchas that cost me time, and how I wrapped it into a tiny dApp.
Repo: );
The front end is just an input, a network toggle, and a fetch to /api/resolve that renders the owner, the resolved target, and the profile fields. No wallet connect, no login — resolving a name is a public read.
Run it
bash
git clone
Takeaways
A .night name is an entry in an on-chain Compact contract you own — resolvable to an address plus a bag of profile fields. It's a genuinely nice identity primitive.
Reading it is one SDK call; the friction is all around it: pick the right network, and serialize the rich JS types (BigInt / Uint8Array / Map) before they hit a browser.
Code: https://github.com/tomiin/midnames-profile-viewer
SOCIAL SHARE CARD GENERATOR