Sign in

Aaron Crowder

@crowdersoup.com
743 followers 946 following 1K posts

Chief Engineer | Self-taught full-stack dev | Lover of technology | father of two | I like food He/Him, They/Them. ✅ crowdersoup.com

PostsRepliesMedia
Aaron Crowder @crowdersoup.com · 31/05/2026
Catch us hiking in the mountains all summer long ✌️⛰️
040
Aaron Crowder @crowdersoup.com · 21/05/2026
Anyone who knows me knows what an achievement it is for me to be able to run a 5k, let alone being able to do 3 back to back in 3 days on my lunch breaks. I ain’t breaking any speed records (yet), but I’m real fuckin proud of the consistency.
260
Aaron Crowder @crowdersoup.com · 19/05/2026
Tech is boring. This is now a fitness account. Current goal is to get my 5k easy pace under 30 minutes. Been doing HR zone 2 running for about a month and a half now. When I started I couldn’t run a mile.
020
Aaron Crowder @crowdersoup.com · 13/03/2026
Friday afternoon meetings really should be illegal. (crowdersoup.com/blog/post/note-1773…)
000
Aaron Crowder @crowdersoup.com · 13/03/2026
> Code is cheap, engineering is expensive. I don't care how good your AI tools are, you still need good engineers! (crowdersoup.com/blog/post/note-1773…)
020
Aaron Crowder @crowdersoup.com · 13/03/2026
OpenGameArt.org (opengameart.org)
000
Aaron Crowder @crowdersoup.com · 13/03/2026
I'm writing this note from within the web game I'm making to encourage people to make websites. If you're reading it then that means it worked! (crowdersoup.com/blog/post/note-1773…)
011
Aaron Crowder @crowdersoup.com · 12/03/2026
IndieWeb Wiki (crowdersoup.com/blog/post/indieweb-…)
000
Aaron Crowder @crowdersoup.com · 12/03/2026
gardn.website (github.com/crowdersoup/gardn.website)
000
Aaron Crowder @crowdersoup.com · 12/03/2026
Blog Questions (crowdersoup.com/blog/post/blog-ques…)
crowdersoup.com
Blog Questions
From Kev: > Why did you start blogging in the first place? I had a website before I had a blog, but mainly because I didn't know what a blog was. The first incarnation of a _blog_ though, that happened back in 2002-2003 I think! > What platform are you using to manage your blog and why did you choose it? Right now I'm using Webstead, a home-grown CMS. It's built using Django because it was easy to rapidly prototype in my free time. Now It's grown into quite the large system! I'm currently working towards adding async workers for things like sending webmentions. > Have you blogged on other platforms before? Yes! My first blog was powered by MoveableType. Since then I've used WordPress and many, _many_ , others. Including more than one built by myself. Fingers crossed that Webstead is the one that sticks! > How do you write your posts? For example, in a local editing tool, or in a panel/dashboard that's part of your blog? A few different ways! For longer posts I write them in an external editor first. Right now I use Obsidian for this. For notes and photos I often use PADD. For just about every other post type I go right to Webstead first. Longer articles also get published using Webstead _after_ I've done all my editing and writing locally. However, I have recently added post drafts to PADD which might mean it get's used more and more (I'm actually using it to draft this post!). > When do you feel most inspired to write? Honestly it seems like the more I write the more inspired I am to write. But I think a simpler answer would be that I am inspired to write any time I feel the need to _think_. > Do you publish immediately after writing, or do you let it simmer a bit as a draft? Most of the time I publish right away. I think maybe a skill I need to practice is letting posts simmer for longer. For instance, I'm writing this post over the course of a few days! > What's your favourite post on your blog? I'm not sure that I have a favorite post... but I think if I had to pick a favorite _type_ of post it would be my Activities. > Any future plans for your blog? Maybe a redesign, a move to another platform, or adding a new feature? I've been working _really_ hard lately on my blog and the tools I'm using to post to it. I think, at least for now, it's time that I sit down and just start writing! That's not to say I'm not working on any projects. I am! But they aren't going to be my main forcus right now.
000
Aaron Crowder @crowdersoup.com · 12/03/2026
Some Webstead bug fixes I need to make (crowdersoup.com/blog/post/some-webs…)
crowdersoup.com
Some Webstead bug fixes I need to make
I'm going to just start blogging things. What better place to start than with a post about the bugs I need to fix in my blog. How _meta_ , right? Actually, I'm hoping that by posting these here I'll actually fix them this week some time. ### Bugs These aren't listed in order. I'm using an un-ordered list after all! Also, it's not exhaustive either. **I noticed:** - Dark mode contrast for the cursor location in admin editor needs to be increased. We can probably just change it to white from it's current black. - The widget plugin UI needs some love. It should show the title where it currently shows what type of widget it is. - Comments / Webmentions are a bit wonky on the front-end and could use some love. **Noticed by others:** > i use your website :) and i noticed that the display of reply-to on your site looks a littler broken. also the pins on your maps do not display. From felix schwenzel at https://wirres.net/replies/i-use-your-website. ### SLA? Monday? Let's say I'll have these all fixed by Monday!
000
Aaron Crowder @crowdersoup.com · 12/03/2026
FreshRSS Docs (freshrss.github.io/FreshRSS/en)
000
Aaron Crowder @crowdersoup.com · 12/03/2026
Omg.lol (home.omg.lol)
000
Aaron Crowder @crowdersoup.com · 12/03/2026
Omnibear (omnibear.com)
000
Aaron Crowder @crowdersoup.com · 12/03/2026
Oat.ink (oat.ink)
000
Aaron Crowder @crowdersoup.com · 12/03/2026
Tiny tool town (www.tinytooltown.com)
000
Aaron Crowder @crowdersoup.com · 12/03/2026
Garth (garth.readthedocs.io/en/latest)
000
Aaron Crowder @crowdersoup.com · 12/03/2026
Standard.site (standard.site)
000
Aaron Crowder @crowdersoup.com · 12/03/2026
Pinephone: postmarketOS (wiki.postmarketos.org/wiki/PINE64_P…)
000
Aaron Crowder @crowdersoup.com · 11/03/2026
The Noble Path (www.joanwestenberg.com/the-noble-pa…)
000
Aaron Crowder @crowdersoup.com · 11/03/2026
If you've been following my blog and the things I’ve been building you might have been wondering the last few days where I've been. Honestly I’ve been building so fast on so many things for a while now that I kinda forgot how to be a human. I […] crowdersoup.com/blog/post/note-1773…
crowdersoup.com
Original post on crowdersoup.com
000
Aaron Crowder @crowdersoup.com · 11/03/2026
EyN's Page (eyn.neocities.org/#home)
000
Aaron Crowder @crowdersoup.com · 07/03/2026
T3 Codes (t3.codes)
000
Aaron Crowder @crowdersoup.com · 05/03/2026
What if you reversed the colors? Dark orange for no AI, and less orange/more gray the more AI was involved in posts for that day (or just Orange/Gray for an MVP first pass). Right now that graph makes me want to fill it up with AI post days […] crowdersoup.com/blog/post/reply-177…
crowdersoup.com
Original post on crowdersoup.com
010
Aaron Crowder @crowdersoup.com · 05/03/2026
If the base doesn't flare, you best not dare. (bsky.app/profile/swiftonsecurity.co…)
030
Reposted by Aaron Crowder
John Breen @breen.tech · 05/03/2026
If you’re upset that Jasmine Crockett will no longer be in congress, your anger should be with the people who redistricted her out of her seat
1134
Reposted by Aaron Crowder
Ian Coldwater 🧊🚫 @lookitup.baby · 05/03/2026
I’m with the Adopt A Rent team at standwithminnesota.com. If you want to help prevent further evictions for MN immigrant families affected by ICE, you can send us rent funds here: V: @Ian-Coldwater CA: $iancoldwater PP: @coldwater We keep us housed 💛 Please share and help if you can! Thank you!
standwithminnesota.com
Stand With Minnesota
Stand With Minnesota is a hub for supporting, learning, and taking action to support Minnesotans impacted by ICE and federal enforcement.
15231
Aaron Crowder @crowdersoup.com · 05/03/2026
following... (bsky.app/profile/tautologer.com/pos…)
010
Reposted by Aaron Crowder
Annie Sexton @anniesexton.com · 04/03/2026
its always ❯ whoami but never ❯ howami
1124317
Aaron Crowder @crowdersoup.com · 03/03/2026
A Comprehensive Guide to PADD: Your Personal Aggregation Display Dashboard (crowdersoup.com/blog/post/a-compreh…)
crowdersoup.com
A Comprehensive Guide to PADD: Your Personal Aggregation Display Dashboard
If you spend any time in the IndieWeb community, you've probably heard of feed readers — tools that let you follow blogs and websites without being beholden to any single platform. PADD (Personal Aggregation Display Dashboard) is one such reader, built with the IndieWeb philosophy at its core. I've been using it daily and wanted to walk through everything it offers. ## What Is PADD? PADD is a Microsub-compatible feed reader and social reader. The name says it all: it's a personal aggregation tool — a dashboard for pulling in content from across the web and interacting with it, all from one place. It connects to a Microsub server on the backend and presents a clean, dark-themed UI on the frontend. ## Channels: Organizing Your Feeds The backbone of PADD is the **channel** system. Channels are curated groupings of feeds — think of them like folders, but smarter. In the left sidebar, you'll find your channels listed (e.g., IndieWeb, News, Bloggers, Family). Each channel aggregates posts from all the feeds assigned to it. ### Creating and Managing Channels Clicking **+ Add Channel** at the bottom of the sidebar opens a quick input to name and create a new channel instantly. Once a channel exists, hovering over it reveals a **"..."** (channel actions) menu with four options: * **Mark as Read** — marks all entries in the channel as read in one click * * **Rename** — lets you give the channel a new name * * **Delete** — removes the channel entirely (with a confirmation dialog to prevent accidents) * * **Manage Feeds** — the most powerful option, opening a feed management panel ### Manage Feeds The Manage Feeds panel shows all the URLs currently subscribed to in that channel. You can remove any feed with a single click of its "×" button. There's also a **search bar** at the top — you can type or paste any feed URL and hit Search to add it to the channel. PADD supports RSS, Atom, JSON Feed, and h-feed formats. ## The Timeline: Reading Your Feeds Clicking a channel opens its timeline — a reverse-chronological stream of posts from all feeds in that channel. The timeline is the heart of the PADD experience. ### All vs. Unread At the top of the timeline, two toggle buttons let you switch between **All** (every post) and **Unread** (only posts you haven't read yet). This is essential for keeping up with high-volume feeds without losing your place. ### Entry Cards Each post appears as an entry card showing: * **Author avatar and name** — clickable to see more from that author * * **Timestamp** — shown as a relative time (e.g., "11m ago") * * **Read status** — a "Read" indicator appears on entries you've marked as read * * **Post title and content** — articles show a headline; notes and short-form posts show the text directly * * **Post type context** — PADD understands IndieWeb post types like check-ins (with location/map data), listens, reposts, replies, and more. These are labeled contextually (e.g., "Checked in", "Listened to", "In reply to") * * **Embedded maps** — check-in posts display latitude/longitude and an interactive dark-themed map * * **Images** — photo posts and articles with images render them inline ### Expand / Collapse Long posts are truncated by default with an **Expand** button. Clicking it reveals the full content inline. A **Collapse** button appears to fold it back. You can also configure PADD to **expand all content by default** in Settings. ### Removing Entries Each entry has an **×** (Remove entry) button in the top-right corner to dismiss it from your timeline without marking the whole channel as read. ### Author Actions Clicking the author name on any entry reveals an **Author Actions** menu with options to **Mute** or **Block** an author. Muting hides their future posts; blocking is more permanent. You can also unmute a previously muted author. ## Interactions: Engaging With Posts PADD is a _social_ reader — you can interact with posts directly without leaving the app. Each entry card has four action buttons: * **Like** — sends a like/webmention to the original post * * **Repost** — reposts the entry to your own site * * **Reply** — expands an inline text box where you can write and send a reply directly * * **Harvest** — opens gardn.website to bookmark the post for later. This button can be toggled on or off in Settings. Once you've interacted with a post, the relevant button updates to reflect your action (e.g., it will show "Liked — view on your site" as a link back to your own post). ## Composing New Posts The **New Post** button (prominently placed in the bottom-left sidebar and at the bottom of any timeline) opens PADD's built-in post composer. This is a Micropub client — posts you write here are published directly to your own website. The composer includes: * **Title (optional)** — leave it blank for a short "note"-style post; add a title for a full blog article * * **Content editor** — a Markdown editor with a toolbar for Bold, Italic, Heading, Quote, Generic List, Numbered List, Link, Image insertion, and a **Toggle Preview** button to see rendered output before publishing * * **Character count** — displayed below the editor so you always know your post length * * **Tags** — a tag input field where you can type a tag and press Enter or comma to add it * * **Photos** — an Add Photo button to attach images to your post * * **Syndicate To** — checkboxes to cross-post via Bridgy Publish to platforms like **Bluesky** and **Mastodon** * * **Include Location** — a checkbox to attach your current location to the post * * **Save Draft** — saves the post as a draft without publishing (drafts appear in the left sidebar under "Drafts") * * **Publish** — publishes the post immediately to your site via Micropub ## Discover: See What's Trending The **Discover** page (accessible from the top-right user menu) shows posts from across the network ranked by engagement. You can toggle between **Hot** (most interacted-with) and **New** (most recent). Each entry shows like, repost, and reply counts at a glance, letting you find interesting content outside your existing subscriptions. ## Alerts / Notifications The **Alerts** button in the top navigation bar displays a notification panel with **Recent Notifications** — activities like replies to your posts, likes, and other webmentions received on your site. A **View All** button lets you see the complete notification history. ## Settings The Settings page gives you fine-grained control over your PADD experience: * **Default Filter** — choose whether channels open to "All" posts or "Unread" only by default * * **Mark as Read behavior** — three options: * * _Explicit_ : only mark as read when you click the Read button * * _Interaction_ : mark as read when you like, reply, repost, or expand a post * * _Scroll Past_ : automatically mark posts as read as you scroll past them * * **Expand Content by Default** — toggle to have all post content expanded automatically (Off by default) * * **Infinite Scroll** — toggle to load more posts as you scroll to the bottom (On by default) * * **Harvest Button (Gardn)** — toggle the Harvest/bookmark button on or off across all entries * * **Subscriptions** — export your feeds as an OPML file or import an OPML file to bulk-add subscriptions * * **Account** — export all your data, or delete your account entirely ## The IndieWeb Foundation What makes PADD special is how deeply it's rooted in IndieWeb principles. Every interaction — likes, replies, reposts — is sent as a **Webmention** back to the original post. Posts are published via **Micropub** to your own domain. Feeds are subscribed via **Microsub**. You own your data, and the **Export Data** option in Settings ensures you can always take it with you. PADD is a reader that treats the open web as the social network — and that's exactly what makes it worth using. * * * _Written and published using PADD itself._
000
Aaron Crowder @crowdersoup.com · 02/03/2026
If it feels like I've been absent for a moment, that's because I was. I have some posts I need to catch up on making from the weekend, but in the meantime know that I am back! This weekend was a busy one and on top of that I decided to migrate […] crowdersoup.com/blog/post/note-1772…
crowdersoup.com
Original post on crowdersoup.com
000
Aaron Crowder @crowdersoup.com · 28/02/2026
Hike 6/40: All Business (crowdersoup.com/blog/post/hike-6-40…)
crowdersoup.com
Hike 6/40: All Business
This hike was all business. I just needed to get my 6th hike in while it was still February!
000
Aaron Crowder @crowdersoup.com · 27/02/2026
malik-na/omarchy-mac (github.com/malik-na/omarchy-mac)
000
Aaron Crowder @crowdersoup.com · 27/02/2026
We heard so many birds yesterday on our hike! (crowdersoup.com/blog/post/photo-177…)
010
Aaron Crowder @crowdersoup.com · 27/02/2026
Machine Knitting: the empire strikes hat (crowdersoup.com/blog/post/machine-k…)
000
Aaron Crowder @crowdersoup.com · 26/02/2026
PADD Gets a Big Upgrade (crowdersoup.com/blog/post/padd-gets…)
crowdersoup.com
PADD Gets a Big Upgrade
I've been busy! There's a big batch of improvements landing in PADD today. It touches pretty much every part of the app so I'm writing this post to walk y'all through it. First though, I want to give a disclaimer: I'm building this stuff primarily for myself (not you, sorry). I want a good way to quickly post to my own site and read the blogs I care about. PADD is my attempt at that. If it turns out to be useful to other people, that's great. If not? Well, then at least I have a reader I like. And of course, some acknowledgements before I go on: None of any of this would be possible without some serious foundational work from the IndieWeb community. The Micropub spec was edited by Aaron Parecki, with contributions from many others. The Microsub spec grew out of the broader IndieWeb community (also spearheaded by Aaron). PADD is built on top of both. I'm standing on the shoulders of giants. I would be remiss not to mention them here. ## The New Fetures ### Save Your Work: Persistent Post Drafts You can now save post drafts and come back to them later. Your title, content, tags, photos, and location all get saved. There's a drafts sidebar right next to the composer that shows your saved drafts sorted by most recently updated. Click one to pick up where you left off, or delete it when you're done. It's the kind of thing I probably should have built sooner. ### Built-In Photo Editor You can now edit your photos right in PADD! There are nine one-tap filters (Vivid, Warm, Cool, B&W, Fade, Noir, Dusk, Matte, Chrome) with live previews, a manual adjustments panel for Brightness, Contrast, Saturation, and Warmth, a crop tool with preset aspect ratios (1:1, 4:3, 3:2, 16:9, 9:16, or freeform), and rotation controls including a fine Straighten slider for when a photo came out just slightly crooked. Nothing too fancy, but it covers the basics without making you leave the app. Editing happens before upload to your media endpoint. ### Smarter Photo Uploads PADD will now automatically convert non-web-friendly formats like HEIC or RAW to something web-safe before uploading. If you're shooting on an iPhone or a dedicated camera, you shouldn't have to think about this anymore. It just works. ### Discover Feeds There's a new (experimental) "Discover" page linked in the dropdown under your profile picture. This page surfaces content being interacted with by other PADD users. I'm simply surfacing counts of likes, reposts, and replies. I'm hoping with a bit more use I can evolve this page into something that helps PADD users discover new blogs to follow. ### Import/Export via OPML PADD now has OPML import/export from the settings page. If you're coming from another reader you can bring your whole subscription list over at once. Or you can export your subscriptions as OPML. Your data is yours! ### Export Account Data Just like OPML export, we also have full account data export support. This export includes all likes, reposts, replies, drafts, and account data saved to PADD. I say again: **Your data is yours**. ### More Control Over Your Feed: Mute, Unmute, and Block Beyond follow and unfollow, you can now mute an author (either globally or in a specific channel), unmute them later if you change your mind, or block them. Marking an entire channel as read has also been made more reliable across different server setups. ### Settings and UI Refresh The settings page has new options, and the overall UI got some updated styles and assets. Nothing dramatic, just cleaner. ### Account delete The one feature I hope you never use: Account deletion. This feature wasn't something I considered adding to PADD from the outset because in all honesty I never imagined that anyone would actually sign up for PADD. But then people actually did sign up! So now you can delete your account should you ever decide you want to. ## I'm not done yet. While I've been working on PADD, I've also been quietly building something else: darkfiber.space. The basic idea is that there's a lot of great writing on personal blogs and it's genuinely hard to find. darkfiber.space will let users who've signed up publish posts (via webmention) to topic based "spaces". Each space will then be a feed so you can subscribe to topic based feeds populated by any number of authors. More to share on that soon. ## How to help If you're using PADD (or any of my projects) you can support me by: * Giving your honest feedback on my work! You can send a webmention to this post or leave a comment below even! * Contribute code! I'm always happy to review PRs. * Consider a one-time or monthly payment on Ko-Fi. Every little bit helps! _PS_ , I'm also sharing this on IndieNews!
000
Aaron Crowder @crowdersoup.com · 26/02/2026
kottke.org - home of fine hypertext products (kottke.org)
000
Aaron Crowder @crowdersoup.com · 26/02/2026
Make a fucking website (crowdersoup.com/blog/post/make-a-fu…)
020
Aaron Crowder @crowdersoup.com · 26/02/2026
New PADD Features: Comming Soon! (crowdersoup.com/blog/post/new-padd-…)
crowdersoup.com
New PADD Features: Comming Soon!
Things coming to #PADD (my #IndieWeb reader) soon: * Photo editing * Harvest to Gardn button * Better input for tags on post editor * Control over syndication targets via micropub * Import/Export OPML files to and from your Microsub server * A "Discover" page so you can see what other users are interacting with (not their interactions, just counts) to help you find more blogs to follow. I can't wait for this to be done cooking!
000
Aaron Crowder @crowdersoup.com · 26/02/2026
The 1% Rule: An Open Letter to Everyone Who Doesn't Post Anything Online · brennan.day (crowdersoup.com/blog/post/the-1-rul…)
000
Aaron Crowder @crowdersoup.com · 25/02/2026
Cosmic NVIM (cosmicnvim.vercel.app)
010
Aaron Crowder @crowdersoup.com · 25/02/2026
Herstory 2026 Opens March 6 at the Center for the Arts at Kayenta During First Friday Art Walk (crowdersoup.com/blog/post/herstory-…)
000
Aaron Crowder @crowdersoup.com · 25/02/2026
If you’re using something I built and its not working **PLEASE** tell me. I love making tools people find useful. And I'm always open to polite suggestions on how it might be better. (crowdersoup.com/blog/post/note-1771…)
010
Aaron Crowder @crowdersoup.com · 24/02/2026
Happy Birthday to Me (and Twin Peaks day) (crowdersoup.com/blog/post/happy-bir…)
crowdersoup.com
Happy Birthday to Me (and Twin Peaks day)
> Diane, 11:30am, February 24th. I'm entering the town of Twin Peaks. Today is Twin Peaks day. The show originally aired in 1990, but is meant to have taken place in 1989. February 24th 1989 is the day Special Agent Dale Cooper arrives in Twin Peaks. In real life, February 24th 1989 is the day I was born. Today is my birthday! Weird cooincidence? Or does it explain a lot? These are the questions I'll be pondering today, along with many others. How did I get to be 37 years old? There's another. I think though that my main focus will be what is right in front of me. Azure, the kids, the dogs, a great job. A life well lived and a life worth living. _PS_ , If you're wondering what to get me for my birthday leaving a comment on this post would be a great place to start!
000
Aaron Crowder @crowdersoup.com · 23/02/2026
Pot Mountain (crowdersoup.com/blog/post/pot-mount…)
crowdersoup.com
Pot Mountain
Yesterday Azure and I noticed a map label for "Pot Mountain" and decided to get off of the paved road for a while to check it out.
000
Aaron Crowder @crowdersoup.com · 22/02/2026
Maverik: Delta (crowdersoup.com/blog/post/maverik-d…)
crowdersoup.com
Maverik: Delta
Headed back to St. George!
000
Aaron Crowder @crowdersoup.com · 21/02/2026
Roots cafe (crowdersoup.com/blog/post/roots-caf…)
crowdersoup.com
Roots cafe
Breakfast with Azure and Ruby!
000
Aaron Crowder @crowdersoup.com · 21/02/2026
I made a website for Gardn! Its hosted on NeoCities and its honestly kinda cute. Check it out! gardn.crowdersoup.com/#home (crowdersoup.com/blog/post/note-1771…)
000
Aaron Crowder @crowdersoup.com · 21/02/2026
You could use your website to sign up for gardn.website if you wanted to. If you did you could even go pick my plant and help yours grow by bookmarking URLs. I might be having too much fun building fun apps for the #IndieWeb lol (crowdersoup.com/blog/post/photo-177…)
011
Aaron Crowder @crowdersoup.com · 20/02/2026
32-Bit Cafe (32bit.cafe)
000