# Development

- [Developer Guides](/development/guides.md): These guides are for developers looking to build apps using Handshake.
- [Traditional website](/development/guides/traditional-website.md): Use a Handshake name as the domain for your traditional website
- [Decentralized website](/development/guides/decentralized-website.md): Create a decentralized static website using Handshake and Skynet
- [Decentralized blog](/development/guides/building-a-decentralized-blog-on-handshake.md): This guide provides a quick tutorial on how you can get an existing blog online using Web 3.0 technology in 3 minutes or less.
- [Decentralized login](/development/guides/handshake-login.md): Let users login to your website using their Handshake names
- [Handshake-based OIDC Authentication Protocol](/development/guides/handshake-login/handshake-based-oidc-authentication-protocol.md): Use this resource to get a high level overview of the proposed system design for login with Handshake.
- [Using Handshake Login](/development/guides/handshake-login/using-handshake-login.md): Tutorial on how to login with your Handshake name as an end-user
- [Handshake Login Implementation Guide](/development/guides/handshake-login/oidc.md): Use this resource if you're looking to create your own implementation of Handshake login (or explore how we implemented Handshake login in services like Namer News).
- [Resolving Handshake](/development/resolving-handshake.md)
- [HNS.to](/development/resolving-handshake/hns.to.md)
- [HNSDoH](/development/resolving-handshake/hnsdoh.md): HNSDoH is a public DNS resolver that supports Handshake domains
- [Resolving Handshake locally](/development/resolving-handshake/resolving-handshake-locally.md): The first step in working with Handshake is setting up your machine to be able to resolve Handshake domains.
- [Setting up the light client](/development/resolving-handshake/resolving-handshake-locally/setting-up-the-light-client.md): With Handshake, you're able to run your own SPV node using HNSD to trustlessly resolve Handshake names without having to run a full-node.
- [Setting your Operating System DNS](/development/resolving-handshake/resolving-handshake-locally/setting-your-operating-system-dns.md): Once your operating system DNS is set - assuming you have your own resolver running - you'll be able to access Handshake domains trustlessly!
- [Namebase Record Assistant](/development/namebase-record-assistant.md): If you’re looking to create an app that lets others put content on their own Handshake domains (see: dword.johnxu/), you can use the Namebase Record Assistant for a smoother user experience
