FujoCoded LLC – A better web, together
@fujocoded.bsky.social
600 followers 3 following 370 posts
Empowering fujin and other online subcultures to shape their web through software, education, and community collaboration. Support us @ 📈Patreon: https://www.patreon.com/fujocoded 🛍️Store: https://store.fujocoded.com/
Posts Media Videos Starter Packs
Pinned
fujocoded.bsky.social
Longing for an internet that's kinder, queerer, and just plain more fun? FujoCoded LLC works to bring internet weirdos together and to empower niche communities to reclaim their online spaces!

Help us help the web by supporting our work today!

patreon.com/fujocoded

Other links below 🔗👇
Overview of the FujoVerse, with the logos arranged on a grid. Support us today! Patreon.com/fujocoded

FujoCoded - our projects

The Fujoshi Guide to Web Development - The cast lineup of shippable ikemen tech concepts.

Accessible guides to modern web development for the niche subcultures of the web. By professionals, for everyone.

Fandom Coders - Boba-tan winking as she holds a rubber duck.

A judgement-free learning community for software weavers at all levels building the fandom web and beyond.

BobaBoard - Boba-tan winning a plushie of her blorbo in a crane game.

Self-hostable forum software updated for today's online dwellers. An active experiment in shared governance and collective building.

...and more! - AO3.js and Astrolabe logos.

Tools, libraries, and gatherings to help people bootstrap their coding projects or find open initiatives to contribute to.
Reposted by FujoCoded LLC – A better web, together
essentialrandom.bsky.social
Someone asked how it works, so here's the writeup 👇

As mentioned, if you want to help us get tools like these in fandom's hands, you should support @fujocoded.bsky.social on Patreon www.patreon.com/c/fujocoded

Full post: www.tumblr.com/essential-ra...
Someone asked me how this work and "who is trusting who" with this type of authorization flow. Here's how it works:

The user is logged in to your website, using their PDS, which tl;dr is their personal data store in the ATproto network. Most people create theirs by making a Bluesky account, but there's other providers too. You can self-host one super easily, or move it across providers if you stop liking the one you have. 

However you create or host it, the PDS logs in to your website through a OAuth flow. This is mostly the same as the one for any "login with X" services, and it only involves your site and the PDS itself.

Once their PDS is logged into your site, you know the visitor's unique identifier in the ATproto network. Then you use the Bluesky AppView (API) to see what the mutual relationship is between the logged in user and whoever you want (most likely you/the site owner). 

If you want no third parties in the middle, you can also skip the Bluesky API and directly get the lists of Bluesky friends from your PDS and/or the one of the visitor. We just use the Bluesky AppView cause it's convenient, but there's really nothing stopping us from looking at the data directly.

Once you know their identity and your relationship, the hard part is done: if you follow them, you let them in; if not, they see the "unauthorized" page.

...and that's it!

It's really just:

I, site owner, need to know who you are in the network, please log in (only involves the site + the visitor's PDS/data storage)
Ok, now I know what your network identifier is, let me get a record of the people I follow in my own PDS/data storage (only involves the user's PDS, although you can use other APIs to help you)
You're in the list, see the page
You're not in the list, bye bye
Reposted by FujoCoded LLC – A better web, together
essentialrandom.bsky.social
"Only bluesky friends (or followers, or mutuals) can access pages on my personal blog" has been achieved internally

(in the example here: github.com/FujoWebDev/f...)
A page reading:

STRANGER, BEGONE!
Only friends are allowed on /secret/.
You essentialrandom.bsky.social, are NOT a friend.
Reposted by FujoCoded LLC – A better web, together
thoth.ptnote.dev
ATProto is actually an astonishingly great fit for a ton of fandom needs and desires. I keep bringing up social bookmarking, but making publishing fanworks to a small, cheap server that you can own possible is also a big deal.
fujocoded.bsky.social
👀
haetae.cozy.fan
anyway, shout out to @essentialrandom.bsky.social for stepping in and purchasing fics.fan for the upcoming fanfic archive on atproto project!!!

yes, it's specifically to make the lexicon on the fan.fics namespace. next is challenging slices.network >:)
Reposted by FujoCoded LLC – A better web, together
fujo.quest
I finally finished all the fortune cookies I got from @fujocoded.bsky.social / @fujoweb.dev 😂
A picture of a bunch of fortunes on a table in front of a Izuku postcard. 
One fortune reads "A character's suffering is a fan's delight"
Reposted by FujoCoded LLC – A better web, together
essentialrandom.bsky.social
If you're uncomfortable with Bluesky owning (and being able to delete) your data but don't want to go the whole way to self-hosted/another service, you should:

1) Register identity recovery keys, which will allow you to point your current identity to a new PDS
2) Backup your PDS periodically
Reposted by FujoCoded LLC – A better web, together
essentialrandom.bsky.social
Not to piggyback too hard on @haetae.cozy.fan's WIP fanfiction-on-ATproto prototype, but if you think that a grassroot effort to decentralize fanfics on ATproto is awesome, it is downstream of years of @fujocoded.bsky.social advocacy, and you should support us on patreon

www.patreon.com/fujocoded
Reposted by FujoCoded LLC – A better web, together
essentialrandom.bsky.social
If we get 5 new patrons I'll get ATproto/ActivityPub gijinka officially added to the @fujoweb.dev roster (and make them kiss)

www.patreon.com/fujocoded
Reposted by FujoCoded LLC – A better web, together
katproto.girlonthemoon.xyz
and with your support, we at @fujocoded.bsky.social can make this happen,
Reposted by FujoCoded LLC – A better web, together
katproto.girlonthemoon.xyz
we can fix the whole activitypub animosity towards atproto by making up two gay mascots for both protocols and then making them kiss. this will piss off at least one side enough for them to unite
Reposted by FujoCoded LLC – A better web, together
essentialrandom.bsky.social
We've enabled ao3.js to integrate with any "AO3 software"-based archive, using @katproto.girlonthemoon.xyz's superlove as a testing ground! Still a bunch of work to do for edge cases, but it's working!!!

Check out the branch: github.com/FujoWebDev/A... and ofc superlove superlove.sayitditto.net !!
screenshot of code showing ao3.js fetching from 2 different archives
Reposted by FujoCoded LLC – A better web, together
fujoweb.dev
Thank you all that made it to our Astro Learning Path stream 🎉💖 ...and to those that'll watch the recording, of course!

We'll dive into what we learned later. In the meantime:

1. Check out the recording on Twitch
2. Read the "learning path" doc we wrote
3. Send us your comments!

Links below👇
A poster advertising an Astro stream. It says learn@FujoWeb.dev presents Special Stream: Learning Path plan-along. The stream is to brainstorm new Astro articles together and WAS at Thursday September 4th, 3pm Pacific time (crossed of with a concluded stamp on top), on the essentialrandomness channel on Twitch.   In the corner is Boba-tan holding a rubber duck saying We can ship it
Reposted by FujoCoded LLC – A better web, together
fujocoded.bsky.social
In 2 hours!!
fujoweb.dev
Reminder! See you TOMORROW (Monday, Sept 1st) at 2PM Pacific/9PM GMT for a special stream: together, we'll plan the Astro "learning path" section of our learning site, learn.fujoweb.dev!

Hang out with us & help us make building personal websites accessible to fandom creatives and beyond!

Link 👇
A poster advertising an Astro stream. It says "learn@FujoWeb.dev presents Special Stream: Learning Path plan-along". The stream is to brainstorm new Astro articles together and is at Thursday September 4th, 3pm Pacific time, on the "essentialrandomness" channel on Twitch.   In the corner is Boba-tan holding a rubber duck saying "We can ship it!"
Reposted by FujoCoded LLC – A better web, together
fujoweb.dev
Reminder! See you TOMORROW (Monday, Sept 1st) at 2PM Pacific/9PM GMT for a special stream: together, we'll plan the Astro "learning path" section of our learning site, learn.fujoweb.dev!

Hang out with us & help us make building personal websites accessible to fandom creatives and beyond!

Link 👇
A poster advertising an Astro stream. It says "learn@FujoWeb.dev presents Special Stream: Learning Path plan-along". The stream is to brainstorm new Astro articles together and is at Thursday September 4th, 3pm Pacific time, on the "essentialrandomness" channel on Twitch.   In the corner is Boba-tan holding a rubber duck saying "We can ship it!"
fujocoded.bsky.social
Make sure to check out our open "💰🤏small gigs" opportunities for help, and throw your name in the ring at our hiring page: fujocoded.com/hiring#hirin...

(The README gig is indirectly sponsored by @graze.social, as a spin-off of the Guestbook work they generously gave us a grant for 🙏💖)
Reposted by FujoCoded LLC – A better web, together
fujocoded.bsky.social
It's FINALLY here! The FujoCoded update. Follow the thread below 👇🧵 or go straight to our website to read it!

fujocoded.com/updates/25-0...

This month*: lessons learned, cool stuff sent out, and most importantly... (even more) catboys!

(*for some definition of month)
New Ones Come in Pairs: NPM Articles, Patreon Tiers (& Catboys) – FujoCoded
This month more than ever, “everything” happens so much! And by everything, we mean our new updates.
fujocoded.com
Reposted by FujoCoded LLC – A better web, together
aroceu.cloud
hi I wrote about a tool I don't even use but it's way more useful than my insane workflow so you should check it out!!
fujocoded.bsky.social
Let's go to The Work We Do™: we released our first articles not written by @essentialrandom.bsky.social! @aroceu.cloud and @notavodkashot.bsky.social knocked it out of the park with the new JavaScript beyond the Browser” section (learn.fujoweb.dev) of "learn@"👇

learn.fujoweb.dev/npm/javascri...
A screenshot of an article about how to initialize your NPM project
fujocoded.bsky.social
In the meantime, help us by sharing this thread with everyone!

bsky.app/profile/fujo...
fujocoded.bsky.social
It's FINALLY here! The FujoCoded update. Follow the thread below 👇🧵 or go straight to our website to read it!

fujocoded.com/updates/25-0...

This month*: lessons learned, cool stuff sent out, and most importantly... (even more) catboys!

(*for some definition of month)
New Ones Come in Pairs: NPM Articles, Patreon Tiers (& Catboys) – FujoCoded
This month more than ever, “everything” happens so much! And by everything, we mean our new updates.
fujocoded.com
fujocoded.bsky.social
And with this, we're truly done. We've been up to a lot, and have even more up our sleeves! Exciting times ahead 👀⛵

If you want to be part of the difference we're making, and make it possible for us to continue making it, please please PLEASE check out our Patreon 👇 🥺

www.patreon.com/c/fujocoded
Get more from FujoCoded LLC on Patreon
Empowering fujin and other online subcultures to shape their web
www.patreon.com
fujocoded.bsky.social
If what you saw up there ☝️ looked impressive, know we couldn't do it without... you! And so, here's the open opportunities for this edition, which you can find (and apply for) in our hiring page: fujocoded.com/hiring (fujocoded.com/hiring)

Help us share our work and launches with everyone!
It remains true, month after month: writers, coders, and artists are always welcome to submit their business cards via our Business Cards Drop-off Forms. When hiring opportunities arise, we always pull these contacts up as we search for the right candidates!

Speaking of which, welcome to the special contracting opportunities we’re hiring for at this time 👇

💰Digital Relea$e: Are you a hype-generating machine? Do you know how to make online dwellers’ hearts go doki doki? Help us create a release plan for our upcoming Digital Pack! While you won’t have to do everything yourself, we need your help thinking through this launch, and planning (maybe even writing) content that gets all our supporters to share our joy…and, hopefully, their money.
💰WRITEME.md: Do you like writing? Do you like (even just some) coding? Do you love the idea of empowering others to, as they say, “supercharge” their coding powers with pre-made libraries or integrations? Come write the README.md files for our repositories, and tell others how to put our code to their own use! First step: our WIP @fujocoded/authproto integration, which adds ATproto authentication to any Astro site and lets visitors log in.
fujocoded.bsky.social
And—almost last!—something you might not believe we do, but that we spend quite a bit of time on, and are going to showcase more: CODE for everyone to use and contribute to.

Check out some of the libraries and tools we worked on, and get the links in the newsletter:

fujocoded.com/updates/25-0...
In the (Git)hub
Plugged In: A new Astro plugin Integration has landed! @fujocoded/astro-dev-only lets you hide any page of your Astro website from the prying eyes of visitors, making them only available during development! Big power, big JavaScript crimes.
Wall Pa(m)pered: Our “HTML&CSS Wallpaper Maker” got an upgrade! The Fortune Cookies wallpapers (soon in our digital pack!) dusted off our memory of its inner workings, which means we’ve released our “internal upgrades” for everyone to enjoy. You too can now create HTML snippets to reuse multiple wallpapers. What better way to practice your HTML & CSS? Make some wallpapers, and share them with us on socials!
Long Staffed: @bobaboard/ao3.js got a tiny bit more powerful thanks to a short-but-mighty external contribution: our friend Gingerchew—thank you!—added built-in support for short “ao3.org” links! If you wish to follow in their footsteps, we’d love to help you open or grab an issue, or be a “pinch-hitter” for an open Pull Request. All skill levels are welcome!