Hey, I'm qudo

A web developer and creator building things on the internet and sharing what I figure out.

Guides

Guides and tutorials I've written.


Obsidian Vault Syncing

Obsidian Vault Syncing

Guide

12/3/2025

I sync my vault to GitHub, but the problem with that is everything can only be 100% private or 100% public. I found a slick way around this so I can use one vault for everything.

Upload Files On-Chain

Upload Files On-Chain

Guide

3/26/2025

In this guide, we will learn how to upload files on-chain using Solana, Irys, and TypeScript.

Computer Setup

Computer Setup

Guide

3/18/2025

I've added a config pattern and CLI for detecting the current OS and syncing configs based on the environment.

Docker

Docker

Guide

3/18/2025

Docker at its core is a tool for organizing virtual machines. In this guide I go over how I use it for developing and hosting all my projects.

Svelte Cloudflare Worker

Svelte Cloudflare Worker

Guide

6/29/2023

A super small Svelte app with a companion Cloudflare worker as a backend when you need it. It's kinda like Sveltekit, but more modular and less guided.

Svelte Single File

Svelte Single File

Guide

4/24/2023

Compile a Svelte project to a single index.html file.

Intro to Leptos

Intro to Leptos

Guide

3/22/2023

I am new to this framework and Rust so DYOR, what do I know. But, I've experimented with a lot of state shapes in web dev using meta frameworks like SvelteKit and lately the closest thing to what I've wanted is tRPC + Tanstack Query + tRPC/Tanstack Adapter.

Signin w/Solana

Signin w/Solana

Guide

12/3/2022

Full-stack SvelteKit example project showing "Sign in With Solana" patterns. - Use Solana wallet adapter & connect to wallet. - Request time-sensitive message from the backend. - Sign message using wallet. - Verify signature.

HTML NFT Art on Solana

HTML NFT Art on Solana

Guide

10/4/2022

I figured out how to make an interactive HTML NFT game that's playable on [@exchgART](https://x.com/exchgART). Here's what I learned and how you can build one too!

Projects

A collection of projects I've worked on.


Jobs Board

Jobs Board

Project

10/2/2025

Developed jobs board with AI candidate screening and external integrations.

On-Chain User Profiles

On-Chain User Profiles

Project

10/2/2024

A user profiles protocol stored on Arweave, verified on Solana via compressed NFTs.

User Profiles

User Profiles

Project

10/2/2024

Lead development of cross-app authentication and user profiles that supported 150k accounts.

Dedoc

Dedoc

Project

3/1/2024

Decentralized on-chain documentation suitable for any project. Content is stored for eternity on Arweave and verified on Solana using Metaplex cNFTs. Users are their own creators and own 100% of their data.

Devnet Directory

Devnet Directory

Project

1/6/2024

On-chain directory of Solana developers.

The 76 Devs

The 76 Devs

Project

7/16/2023

Created a Discord community where developers can ask questions and share what they're working on during our live show n tells. We have ~3k+ members in Discord and 1.5k+ on Twitter.

Compressed Bananas

Compressed Bananas

Project

6/12/2023

A free cNFT dispenser in celebration of NYC Solana Hacker House and presented on demo day.

OPOS Outliers

OPOS Outliers

Project

4/2/2023

Mint a compressed NFT for free without a wallet using Solana and TipLink. Users are able to design an "OPOS Outlier" and mint it as a cNFT via Gmail-based claiming. The art and attributes were created by Web3 artists and brands.

XRAY Explorer

XRAY Explorer

Project

6/3/2022

Human-readable Solana blockchain explorer built with SvelteKit. Built for Grizzlython hackathon.

Calculate Merkle Tree

Calculate Merkle Tree

Project

3/2/2022

Calculate Merkle Tree For example, run "npx cnfts calculate 8" to view tree configs that work with max proof 8.

Gibwallet CLI

Gibwallet CLI

Project

3/2/2022

Create a TipLink wallet on the fly by running `npx gibwallet`

Matr Bot

Matr Bot

Project

3/2/2022

A Discord bot developed for The 76 Devs community. The bot supports tracking the price of solana, verifying users, and distributing devnet SOL to those who request it by running `!gibsol`.

Sketchy Wallet

Sketchy Wallet

Project

3/2/2022

Generate a Solana wallet and email the credentials to someone. Perfect for those times when you need a one off wallet with keys auto backed up. I used this for making a wallet for my toddler so I can send him NFTs.

Solana Terminal

Solana Terminal

Project

1/2/2022

Solana Terminal, an NFT explorer and utilities. Link your wallet and Discord, listen to music NFTs, render HTML NFTs, view your artwork, query NFTs by creator and more.

State Machine Snacks

State Machine Snacks

Project

6/8/2021

A framework built on [XState](https://xstate.js.org/docs/about/concepts.html) that provides bite sized snacks for developing with state machine machines. 🍕 aims to increase state machine adoption in modern day web apps by providing a suite of tools and plugins to inspire development and new ways of thinking.

Art

NFT Art experiments.


Gists

Code snippets and snacks.


ts
import { createSession, invalidateSession } from "./session";
import { SESSION_COOKIE, SESSION_EXPIRATION_SECONDS } from

OAuth + Sessions

Gist

3/2/2025

OAuth and session management patterns for SvelteKit.

ts
const hash = (text) => {
    let hash = 5381;
    let index = text.length;
    
    while (index) {
      hash = (hash *

33 Times Hash

Gist

2/2/2025

This is Daniel J. Bernstein's popular 'times 33' hash function

ts
// Encryption utils
import crypto from 'crypto';

export const hash = (secret: string) => crypto.createHash('sha512').up

Encryptor

Gist

1/2/2025

Class for handling encrypting/decrypting strings.

html
<script lang="ts">
    import {
      WalletModal,
      getShowConnectWallet,
      getWallets,
      hideConnectWallet

Irys in SvelteKit

Gist

1/2/2025

Upload files on-chain using Irys and Sveltekit.

ts
// 2FA utils
import QRCode from 'qrcode';
import speakeasy from 'speakeasy';

export const generateSecret = async () => 

OTP

Gist

1/2/2025

Utility for implementing and verifying OTPs.

html
<script lang="ts">
	import { onMount } from 'svelte';
	import { init } from '$lib/wagmi';

	onMount(init);
</script>

<s

Connect Eth Wallet

Gist

11/13/2024

Add "Connect Ethereum Wallet" to a SvelteKit app.

ts
import {
  ALL_DEPTH_SIZE_PAIRS,
  getConcurrentMerkleTreeAccountSize,
} from "@solana/spl-account-compression";
import 

Calc Merkle Tree Size

Gist

6/7/2023

Utility for calculating merkle tree size config when setting up a Solana compressed NFT project.

tsx
// Fetchable pattern used for all requests
type Fetchable<T> = {
  isFetched: boolean;
  isLoading: boolean;
  data: nul

React Fetchable

Gist

Invalid Date

Typed request handler for React that manages its own state.

ts
// to use this script"
// via the solana cli run "solana-keygen new -o upload.json"
// fund the solana wallet
// fund th

Upload Folder to Irys

Gist

1/2/2022

Script for uploading a directory on-chain using Irys.

Get in touch