Christopher Jr Riley's Avatar

Christopher Jr Riley

@cjrriley.ca

Resilient Autistic that loves solving problems with Swift. Make the world more accessible. πŸ‡¨πŸ‡¦ Currently working on ATProtoKit. #atdev (Profile pic drawn by kaylee_acnh on Twitter.)

2,237
Followers
284
Following
4,759
Posts
30.08.2023
Joined
Posts Following

Latest posts by Christopher Jr Riley @cjrriley.ca

Like... maybe $35 USD per month? But if it doesn't have unlimited bandwidth, then that's not happening; I won't be paying for bandwidth (it would be way too anxiety inducing).

11.03.2026 19:26 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I think we've all crossed that line at some point in our lives. πŸ™ƒ

11.03.2026 03:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

@alex.bsky.team If possible, please also add this Swift package to the list, since it’s also being maintained frequently.

When I have time, I’ll create a PR with the changes unless you end up doing it faster than me.

09.03.2026 00:39 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Oh, right: it doesn’t help that there are some things that should be deleted or renamed, as my indecisiveness has caused things to be a little bit messy…

07.03.2026 23:47 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I’m ashamed to say my WPM is extremely slow, even with the many thousands of lines of code I’ve written. Poor motor skills don’t help. πŸ™ƒ

(Unless 35 WPM isn’t actually slow…)

07.03.2026 23:38 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Overtime, I will migrate them all to make them structs handle validation fully. It’s just not going to be at launch; I need it to be out in the wild for a few days to clear my head and have a better idea of how to replace the validation enums into making the validations built in and understandable.

07.03.2026 23:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

This is because I’m still not entirely understanding of what’s being validated. All I know is that my code does work for the most part (save for a few bugs and small inconsistencies).

07.03.2026 23:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

The declaration organization will probably be a little bit unconventional for the Swift community; you would be expecting Codable structs, which they exist, but the major difference is that the custom Codable methods don’t have the validation plumbing; those are in separate enums.

07.03.2026 23:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I know I know: I’m not very good at writing software. I’m trying my best, however; I’ll learn more as I get more feedback.

07.03.2026 23:36 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

The scaffolding stuff is done.

It’s… it took me two hours to write.

More professional programmers would complete it in under 15 minutes.

Please note I haven’t used any LLMs while writing this project.

07.03.2026 23:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I’m glad to see more people are connecting the dots here. This is why it’s so exciting to see this happen.

Right now, I feel like permissions data and branding are the major two things that we need to jump over in order to get the general public to want this.

07.03.2026 23:25 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I will do so soon. Thanks!

07.03.2026 18:15 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - nnabeyang/swift-atproto: AT Protocol implementation in Swift AT Protocol implementation in Swift. Contribute to nnabeyang/swift-atproto development by creating an account on GitHub.

Finally, there's a well-developed ATProto Swift package named "swift-atproto" and I'm unsure why it's not in the list. It fits a number of use cases that my family of Swift packages aren't equipped to deal with.

I hope they add it there as well (or maybe I'll send a PR for it soon).

07.03.2026 18:12 πŸ‘ 3 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

The only thing I'll say (though it's not their fault; the issue is how I've currently organized it) is that "crypto" being in red isn't exactly accurate: yes, the main repo doesn't have it, but ATCryptography is part of the ATProtoKit family, and it's pretty much complete. So I'd argue that's green.

07.03.2026 18:09 πŸ‘ 3 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

I can see the my SDK is listed there as well. I do see a lot of yellow in there, however, so I'll have to get to work on making all of the reds and yellows into greens.

But this is exciting. It's yet another star we SDK devs can point to in our progress.

07.03.2026 18:02 πŸ‘ 5 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
AT Protocol

Oh! πŸ‘€ The AT Protocol website updated their website to showcase the SDKs more fully now!

07.03.2026 18:02 πŸ‘ 28 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0

That said, it'd probably be better to have the icon akin to that "classical building emoji (πŸ›οΈ). I'll have to somehow create a 3D model of that so I can either insert it into the the main icon, or make it a reference to later draw over it vector-wise (probably the better way; I want it vectored).

07.03.2026 10:31 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I suppose that, for ATCommonTools' icon, it would be translucent, and a box would be revealed under it (since, from what I can see, "shared libraries" appears to be consistent here.

07.03.2026 10:31 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Anything can be repeatable if you can lock down a pattern (or at least gain enough pieces and leverage where most inconsistencies are minimal).

With that said, I can see where you’re coming from and I don’t think I can really disagree with you here.

07.03.2026 06:03 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

To clarify, the reason I feel this is important is so that the application validates data at the client level, thereby potentially saving bandwidth (especially if the user has cellular data and has a small data cap; I do want to look out for that).

07.03.2026 03:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

What I do want to say, however, is that some of the things I’m exploring are pretty exciting (at least to me; I know it’s not exactly important for most developers, but for me, it’s vastly important for all of these parts to work to ensure efficiency and a good developer experience.

07.03.2026 03:52 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

And then there’s the fact that I’m adding inline documentation to the mix as well, among other things that I don’t want to say right now in order to not overpromise anything.

07.03.2026 03:52 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

There’s a lot of little things that I’ve added that tries to make my code as strictly compliant as possible compared to others. And of course, I’m trying my best to find ways to optimize my code for speed, readability, and efficiency.

07.03.2026 03:52 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

They are, yes. But there are quite a few things in my code that doesn’t entirely make it trivial. For example, lexicons will define a minimum and maximum value for things; my code tries to enforce this rule strictly. There’s also converting from their date format to what Swift uses.

07.03.2026 03:52 πŸ‘ 0 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

Anyways, I’m rambling. The point is, everything is slow because AT Protocol is moving too fast and my greedy side of me wishes they slow down for, like, three months so I can catch up. 🀣

06.03.2026 20:33 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I could potentially go the route of using JavaScriptKit entirely as a stopgap for the remaining packages, then slowly converting the TypeScript until it’s fully converted, but I’m unsure if that would break my promise of making Swift equivalents and I should just go full Swift.

06.03.2026 20:33 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

Maybe JavaScriptKit could help somehow, but I’m not sure how yet. But even then, last time I checked, JavaScriptKit and JSBridge (I think that’s what it was called) doesn’t have full TypeScript support yet; it just only has full support for JavaScript.

06.03.2026 20:33 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

I will also need to go back to some earlier ATProtoKit packages and look at any updates from the atproto repo packages. A few of them have received updates since then. I’m looking to seeing how I can somewhat automate that, too.

06.03.2026 20:33 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

(I was trying to add that as version 0.1 of ATLexiconTools, but it became too much, so I’ve since removed it.)

That said, I’m excited to get that up and running eventually.

06.03.2026 20:33 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Lexicon - AT Protocol A schema definition language.

Also, for version 0.1, I won’t be adding the feature where it uses the recommend validation option supplied in the link below.

I still need to convert the relevant package first. That will also be part of ATLexiconTools as a separate library in the package.

06.03.2026 20:33 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0