Open staab opened 5 months ago
This was mostly a maintenance release, as lots of things continue to come up, although I did manage to check off items 1 and 3 of my milestone 1 goals.
One big shift in focus was back toward continued refinement of closed groups due to the interest of a potential pilot customer. This is the main stated goal of Coracle, so it's worthy of the attention I'm giving it. I'm in the midst of fixing several bugs related to relay selection and NIP 44 encryption support (or lack of it). I'm also exploring the creation of a new iteration of Coracle for the purpose of a white-labeled multi-tenant deployment. Expect more on this next round.
Item number 5, "Write first version of "smart" relay proxy that handles NIP 65 transparently" was a stretch goal for this round. I started writing it using khatru (you can see my progress here), but have abandoned the project due to some timely conversations, one of which you can find here.
The summary is that proxies have the ability to reduce bandwidth requirements, and implement some routing logic on behalf of clients, but they have two problems:
I did manage to integrate NIP 46 this week, which took some doing and help from Pablo and Jeff, but it's done (sort of, the spec needs work and will likely change soon). I also re-designed the onboarding flow to put keys and relays in there place, and help people choose who to follow based on topical lists. I'm really happy with the result!
Here's a video summary of the whole milestone:
https://coracle.us-southeast-1.linodeobjects.com/coracle-topbuilder-1.mp4
The one thing left to do is to record the onboarding videos. I would do it tonight, but I'm already saying um way too much. I'll hit that early tomorrow.
The focus this round will be on making Coracle work for platforms like Phantom Power Music, churches (which I have another pilot customer interested in doing), and small groups (like my local bitcoin meetup). The big part of this is implementing access controls on selected relays based on either an external data source (for platforms) or based on group membership. This will require a custom relay implementation. The other part of this is simplifying onboarding for new users through configurable membership auto-approvals and onboarding links with access control baked in.
In check-list form:
Some other goals not directly related to the main work include:
You can see the full issue list here
This week went great. I learned a chunk of Go so that I could hack on fiatjaf's khatru relay in order to create a relay that can enforce my custom auth policies. This includes simple relay admission, as well as NIP 87 group-based admission, in which the relay uses a member key to decrypt messages as they come in and keep the member list updated.
I also started working on invite links — the front-end is done, next week I'll add support to my custom relay to handle the invite codes to reduce the friction involved in joining a closed relay or group. I'll also draft a NIP to allow clients to send these claims using a new event kind.
Other things:
Additionally, and not mentioned in my goals, I drafted a NIP after a conversation with one of my pilot clients, who would like to find a way to get a feed of music in their instance of Coracle.
Next week I'll be finishing signup links, and doing design-related updates. I have contracted a local designer who is going to help me with the marketing copy. He'll have something to me by Friday, so the copy might not be completely done by then, but the ball is now rolling.
This week I managed to check everything off my list, and demo the first ever Coracle "platform" deployment to a pilot customer. The way I'm approaching that is to rent a single VPS and set up multiple instances of coracle/triflector behind a single nginx reverse proxy. This was my stretch goal for this week, and it happened ✅
A quick summary of what I did this week:
🏗️ Top Builder 2024 Application Form to track progress through Round 1 - 3 ~ Currently in Round 1
📝 Instructions
🧑🤝🧑 The Team
💡 The Idea
📚 Additional Information
📌 Submission Type
🚀 Current Project Progress
⏳ Round 1 Milestone
📝 Submission Complete
📅 Top Builder Program Structure
Registration Opens: Monday, December 18, 2023
Round 1: January 13 - February 10, 2024
Round 2: February 10 - 24, 2024
Round 3: Starting February 24, 2024
Final Round at Startup Day: March 14, 2024