chore: updated links and projects a1b88563
Steve · 2025-10-28 15:32 4 file(s) · +41 −140
src/components/SocialList.astro +0 −29
110 110
		<li>
111 111
			<a
112 112
				class="inline-block p-2 sm:hover:text-link"
113 -
				href={SOCIAL_LINKS.youtube}
114 -
				target="_blank"
115 -
				rel="noopener noreferrer"
116 -
			>
117 -
				<svg
118 -
					xmlns="http://www.w3.org/2000/svg"
119 -
					class="h-6 w-6"
120 -
					width="44"
121 -
					height="44"
122 -
					viewBox="0 0 24 24"
123 -
					stroke-width="1.5"
124 -
					stroke="currentColor"
125 -
					fill="none"
126 -
					stroke-linecap="round"
127 -
					stroke-linejoin="round"
128 -
				>
129 -
					<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
130 -
					<path d="M3 5m0 4a4 4 0 0 1 4 -4h10a4 4 0 0 1 4 4v6a4 4 0 0 1 -4 4h-10a4 4 0 0 1 -4 -4z"
131 -
					></path>
132 -
					<path d="M10 9l5 3l-5 3z"></path>
133 -
				</svg>
134 -
				<span class="sr-only">YouTube</span>
135 -
			</a>
136 -
		</li>
137 -
138 -
139 -
		<li>
140 -
			<a
141 -
				class="inline-block p-2 sm:hover:text-link"
142 113
				href={SOCIAL_LINKS.ethereum}
143 114
				target="_blank"
144 115
				rel="noopener noreferrer"
src/data/constants.ts +1 −4
29 29
export const SOCIAL_LINKS = {
30 30
	github: "https://github.com/stevedylandev",
31 31
	twitter: "https://twitter.com/stevedylandev",
32 -
	youtube: "https://youtube.com/@stevedylandev",
33 32
	telegram: "https://telegram.me/stevedylandev",
34 -
	farcaster: "https://farcaster.xyz/stevedylandev.eth",
35 33
	medium: "https://medium.com/@stevedylandev",
36 34
	linkedin: "https://www.linkedin.com/in/steve-simkins/",
37 35
	photos: "https://steve.photo",
38 -
	threads: "https://threads.net/stevedylandev",
39 36
	website: "/",
40 37
	coffee: "https://buymeacoffee.com/stevedylandev",
41 38
	orbiter: "https://orbiter.host",
42 39
	ethereum: "https://app.ens.domains/stevedylandev.eth",
43 40
	email: "mailto:contact@stevedylan.dev",
44 41
	rss: "https://stevedylan.dev/rss.xml",
45 -
  pgp: "https://stevedylan.dev/public_key.asc"
42 +
	pgp: "https://stevedylan.dev/public_key.asc",
46 43
};
src/data/projects.ts +40 −52
7 7
};
8 8
9 9
export const projects: ProjectItem[] = [
10 -
  {
11 -
    title: "BlogFeeds.net",
12 -
    description: "I've personally found the potential of using blogs, rss, and feeds as a replacment for social media. This website is a simple static site that promotes the idea and includes an FreshRSS API proxy to feature people who have the same philosophy and include a feeds page on their blog.",
13 -
    image: "https://blogfeeds.net/og.png",
14 -
    link: "https://blogfeeds.net",
15 -
    tags: ["social networking", "blogging"]
16 -
  },
17 -
  {
18 -
    title: "Sipp",
19 -
    description: "A minimal code sharing app that runs purely on Bun with native html css js and sqlite. It's designed to be self hosted by developers so they have a space under their own domain where they can have snippets created and shared under their control, with the ability to customize the experience thanks to the simplicity of the structure.",
20 -
    image: "https://sipp.so/assets/og.png",
21 -
    link: "https://sipp.so",
22 -
    tags: ["developer tools", "productivity"]
23 -
  },
10 +
	{
11 +
		title: "BlogFeeds.net",
12 +
		description:
13 +
			"I've personally found the potential of using blogs, rss, and feeds as a replacment for social media. This website is a simple static site that promotes the idea and includes an FreshRSS API proxy to feature people who have the same philosophy and include a feeds page on their blog.",
14 +
		image: "https://blogfeeds.net/og.png",
15 +
		link: "https://blogfeeds.net",
16 +
		tags: ["social networking", "blogging"],
17 +
	},
18 +
	{
19 +
		title: "Sipp",
20 +
		description:
21 +
			"A minimal code sharing app that runs purely on Bun with native html css js and sqlite. It's designed to be self hosted by developers so they have a space under their own domain where they can have snippets created and shared under their control, with the ability to customize the experience thanks to the simplicity of the structure.",
22 +
		image: "https://sipp.so/assets/og.png",
23 +
		link: "https://sipp.so",
24 +
		tags: ["developer tools", "productivity"],
25 +
	},
24 26
	{
25 27
		title: "norns",
26 28
		description:
29 31
		link: "https://norns.so",
30 32
		tags: ["blockchain", "developer tools", "web frameworks"],
31 33
	},
32 -
  {
33 -
    title: "Orbiter",
34 -
    description:
35 -
    "In a world full of complicated CI/CD pipelines there's a desire for a simpler solution for hosting static websites. Orbiter is a service that does just that, letting people upload and create a static site in 30 seconds. It's currently being built by Steve along side Justin Hunter and feautes an open platform approach using IPFS and blockchain.",
36 -
    image: "https://orbiter.host/og.png",
37 -
    link: "https://orbiter.host",
38 -
    tags: ["ipfs", "blockchain", "developer tools"],
39 -
  },
40 -
  {
41 -
    title: "bhvr",
42 -
    description:
43 -
    "I stopped using Next.js and Vercel a while ago due to the amount of vendor lock-in the stack introduced. As an alternative I started using a combination of a Vite + React frontend with a Hono backend. I was setting up separate repos so many times I decided to turn it into a monorepo using Bun. bhvr is a simple barebones template that helps people setup their own project with the same stack, featuring a shared package folder for types that can be used in both server and client. More importantly, each piece can easily be pulled out from one hosting provider and used in another, making it portable and independent.",
44 -
    image: "https://bhvr.dev/og.png",
45 -
    link: "https://bhvr.dev",
46 -
    tags: ["developer tools", "web frameworks"],
47 -
  },
34 +
	{
35 +
		title: "Orbiter",
36 +
		description:
37 +
			"In a world full of complicated CI/CD pipelines there's a desire for a simpler solution for hosting static websites. Orbiter is a service that does just that, letting people upload and create a static site in 30 seconds. It's currently being built by Steve along side Justin Hunter and feautes an open platform approach using IPFS and blockchain.",
38 +
		image: "https://orbiter.host/og.png",
39 +
		link: "https://orbiter.host",
40 +
		tags: ["ipfs", "blockchain", "developer tools"],
41 +
	},
42 +
	{
43 +
		title: "bhvr",
44 +
		description:
45 +
			"I stopped using Next.js and Vercel a while ago due to the amount of vendor lock-in the stack introduced. As an alternative I started using a combination of a Vite + React frontend with a Hono backend. I was setting up separate repos so many times I decided to turn it into a monorepo using Bun. bhvr is a simple barebones template that helps people setup their own project with the same stack, featuring a shared package folder for types that can be used in both server and client. More importantly, each piece can easily be pulled out from one hosting provider and used in another, making it portable and independent.",
46 +
		image: "https://bhvr.dev/og.png",
47 +
		link: "https://bhvr.dev",
48 +
		tags: ["developer tools", "web frameworks"],
49 +
	},
48 50
	{
49 51
		title: "Darkmatter",
50 52
		description:
76 78
		description:
77 79
			"A Farcaster Mini App that merges the GitHub event feed into the Farcaster social graph. Warpcast created an API that exposed the GitHub verifications made by all users and I thought it would be fun to see a feed GitHub events for all the people I follow that have the verification. Only problem was the number was in the 40K+ range which was too many to filter through. To solve this I built a fairly complex backend that indexes for each user that wants to see their feed and stores the users who have the verifications as well as their events. This was a great exercise in optimizing data pipelines and uses a mix of Cloudflare workers, KVs, D1 database, and queues.",
78 80
		image: "https://gitcast.dev/og.png",
79 -
		link: "https://gitcast.dev",
81 +
		link: "https://github.com/stevedylandev/gitcast-server",
80 82
		tags: ["farcaster", "social"],
81 83
	},
82 84
	{
92 94
		title: "Cast Keys",
93 95
		description:
94 96
			"A tool and example for Farcaster developers that need to create signers for their account. Signers are ED25519 keypair that are signed by the primary wallet of a user, and they operate like API keys that can be revoked down the road. They are crucial to the Farcaster ecosystem as they allow users to 'sign-in' to other Farcaster apps and interact with the protocol. This small web app makes it easy to generate a signer for your account, but the code is also FOSS as an educational tool for new Farcaster devs.",
95 -
		image: "https://castkeys.xyz/og.png",
96 -
		link: "https://castkeys.xyz",
97 +
		image:
98 +
			"https://raw.githubusercontent.com/stevedylandev/cast-keys/refs/heads/main/public/og.png",
99 +
		link: "https://github.com/stevedylandev/cast-keys",
97 100
		tags: ["farcaster", "developer tools"],
98 101
	},
99 102
	{
101 104
		description:
102 105
			"A small server written in Go that you can run on your Raspberry Pi to display vitals in real time. For my particular Pi it displays IPFS repo stats and system stats, with more updates on the way",
103 106
		image: "https://stevedylan.dev/pi.png",
104 -
		link: "https://pi.stevedylan.dev",
107 +
		link: "https://github.com/stevedylandev/pi-widget",
105 108
		tags: ["hardware", "ipfs", "raspberry pi"],
106 109
	},
107 110
	{
117 120
		title: "Snippets",
118 121
		description:
119 122
			"I was tired of poor code sharing experiences like Pastebin that were littered with ads, and I really loved the experience of Ray.so for images. This led to the creation of Snippets.so, an open sourced and extensible code sharing solution that’s minimal and clean.",
120 -
		image: "https://www.snippets.so/og.png",
121 -
		link: "https://snippets.so",
123 +
		image:
124 +
			"https://raw.githubusercontent.com/stevedylandev/snippets/refs/heads/main/public/og.png",
125 +
		link: "https://github.com/stevedylandev/snippets",
122 126
		tags: ["developer tools", "ipfs", "productivity"],
123 127
	},
124 128
	{
131 135
		tags: ["developer tools", "ipfs"],
132 136
	},
133 137
	{
134 -
		title: "SIGNETS",
135 -
		description:
136 -
			"In a world where it becomes harder to distinguish between AI and human generated content, authenticity will become paramount. This app is an experiment in that direction. It allows users to upload and sign content using cryptographic keys already present in crypto wallets. With Privy as the auth layer, anyone can make an account, upload and sign content, then share it with another party. The recipient can use the public address of the sender to verify that the content is actually made by them.",
137 -
		image: "https://www.signets.cloud/og.png",
138 -
		link: "https://signets.cloud",
139 -
		tags: ["cryptography", "ipfs"],
140 -
	},
141 -
	{
142 138
		title: "Raycaster Extension",
143 139
		description:
144 140
			"The fastest way to send a cast on Farcaster. A Raycast extension that allows you to sign into your Farcaster account and send casts with optional images via IPFS. ",
146 142
			"https://files.stevedylan.dev/QmSsY6QnhdwbWunrgzTDkpvRd7oWx5nUp8v7UiMeGRFeZ1.png",
147 143
		link: "https://www.raycast.com/stevedylandev/raycaster",
148 144
		tags: ["raycast", "developer tools", "productivity"],
149 -
	},
150 -
	{
151 -
		title: "Photocaster",
152 -
		description:
153 -
			"IPFS can unlock content for decentralized social media, and Photocaster was built to demonstrate just that. Using the Farcaster protocol the app allows users to scroll through a feed of just images from select photo centered channels, sign in with their account, and upload photos via IPFS. What makes it special is the photo’s full resolution is on IPFS, but a resized copy is put on the Farcaster network. This keeps apps light, but allows anyone on Photocaster to see the full resolution image.",
154 -
		image: "https://www.photocaster.xyz/og.png",
155 -
		link: "https://github.com/PinataCloud/PhotoCaster",
156 -
		tags: ["farcaster", "ipfs"],
157 145
	},
158 146
	{
159 147
		title: "Cosmic Cowboys",
src/pages/links.astro +0 −55
156 156
        </a>
157 157
      </li>
158 158
159 -
      <li>
160 -
        <a
161 -
          class="flex items-center gap-4 p-2 sm:hover:text-link"
162 -
          href={SOCIAL_LINKS.farcaster}
163 -
          target="_blank"
164 -
          rel="noopener noreferrer"
165 -
        >
166 -
          <svg
167 -
            xmlns="http://www.w3.org/2000/svg"
168 -
            class="h-5 w-5"
169 -
            viewBox="0 0 24 24"
170 -
            stroke-width="1.5"
171 -
            stroke="currentColor"
172 -
            fill="none"
173 -
            stroke-linecap="round"
174 -
            stroke-linejoin="round"
175 -
          >
176 -
            <path
177 -
              d="M1.30081 5.95589L0.663137 3.72734H4.11868H4.61868V3.22734V0.5H19.0974V3.22734V3.72734H19.5974H23.3371L22.7003 5.95589H22.2967H21.7967V6.45589V19.5144V20.0144H22.2967C22.3976 20.0144 22.5064 20.1036 22.5064 20.247V21.1275V21.6275H23.0064H23.1484C23.2487 21.6275 23.3581 21.7161 23.3581 21.8612V22.2418H16.4058V21.8612C16.4058 21.7161 16.5151 21.6275 16.6155 21.6275H16.7574H17.2574V21.1275V20.247C17.2574 20.125 17.34 20.0375 17.4271 20.0183L17.82 19.9314L17.8192 19.529L17.8035 12.3237L17.8035 12.3024L17.8016 12.2813C17.5291 9.15908 14.985 6.68965 11.8581 6.68965C8.73115 6.68965 6.18706 9.15908 5.91448 12.2813L5.91263 12.3025L5.91259 12.3238L5.89816 19.523L5.89729 19.9535L6.32283 20.0183C6.42585 20.034 6.55708 20.0886 6.65436 20.1647C6.71995 20.216 6.73823 20.2498 6.74258 20.2594V21.1275V21.6275H7.24258H7.38452C7.486 21.6275 7.59543 21.7173 7.59543 21.8612V22.2418H0.641941V21.8612C0.641941 21.7173 0.751371 21.6275 0.852847 21.6275H0.994788H1.49479V21.1275V20.247C1.49479 20.1036 1.60357 20.0144 1.70449 20.0144H2.20449V19.5144V6.45589V5.95589H1.70449H1.30081Z"
178 -
            ></path>
179 -
          </svg>
180 -
          Farcaster
181 -
          <span class="sr-only">Farcaster</span>
182 -
        </a>
183 -
      </li>
184 159
185 160
      <li>
186 161
        <a
242 217
          </svg>
243 218
          LinkedIn
244 219
          <span class="sr-only">LinkedIn</span>
245 -
        </a>
246 -
      </li>
247 -
248 -
      <li>
249 -
        <a
250 -
          class="flex items-center gap-4 p-2 sm:hover:text-link"
251 -
          href={SOCIAL_LINKS.youtube}
252 -
          target="_blank"
253 -
          rel="noopener noreferrer"
254 -
        >
255 -
          <svg
256 -
            xmlns="http://www.w3.org/2000/svg"
257 -
            class="h-6 w-6"
258 -
            width="44"
259 -
            height="44"
260 -
            viewBox="0 0 24 24"
261 -
            stroke-width="1.5"
262 -
            stroke="currentColor"
263 -
            fill="none"
264 -
            stroke-linecap="round"
265 -
            stroke-linejoin="round"
266 -
          >
267 -
            <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
268 -
            <path
269 -
              d="M3 5m0 4a4 4 0 0 1 4 -4h10a4 4 0 0 1 4 4v6a4 4 0 0 1 -4 4h-10a4 4 0 0 1 -4 -4z"
270 -
            ></path>
271 -
            <path d="M10 9l5 3l-5 3z"></path>
272 -
          </svg>
273 -
          YouTube
274 -
          <span class="sr-only">YouTube</span>
275 220
        </a>
276 221
      </li>
277 222