SDK per nip? Or one SDK that does it all?
Erik
borrakkor@nostrplebs.com
npub1rach...4atg
I like to build web things. Currently hacking with JavaScript on nostr things
First pass at an Activity NIP:
Anyone who regularly uses Strava, Garmin Connect, or similar - I would love some feedback on this flow. Especially if you're a developer!
#running #nostrava #nips
GitHub
NIP-113: Activity Events by ebrakke · Pull Request #1423 · nostr-protocol/nips
This nip aims to define activity events on NOSTR. The goal is to enable developers to create applications like Strava or Garmin Connect.
Example pr...
Suuuper rough, but here's a client that can handle nostr activites (like garmin / strava / etc..)
https://nostrava.xyz
It's still a WIP and will only use one specific relay current to write all of the activity related notes (relay.nostrava.xyz).
While the NIP is still being worked on, I figure it makes sense to not publish these notes to a bunch of public relays as things could still change.
Currently auth is only supported via nip-07 browser extensions (more auth support will come soon).
When you share an activity, you can expand "Share Settings" to choose exactly what you want to share as a NOSTR note. You can trim the Map file so that you don't dox your exact location, you can also choose to not upload your activity file. In this case, only a summary of statistic will be generated.
I'm using the "sports-lib" javascript library to analyze the activity files. It's far from perfect, but it's good enough for now. My hope is that other who are better at this kind of analysis can create DVMs or other libraries to generate summaries from the raw GPX files, which other clients can then pick up on.
Relevant code is here:
#running #nostrava #activities #cycling #gpx
GitHub
GitHub - ebrakke/nostr-ava
Contribute to ebrakke/nostr-ava development by creating an account on GitHub.
GitHub
GitHub - ebrakke/nostr-activities-sdk
Contribute to ebrakke/nostr-activities-sdk development by creating an account on GitHub.
Crushed my half marathon goal. First one ever, was shooting for sub 2 hours.
#running


First glimpse of #nostr-ava a strava alternative built on Nostr.
This client will facilitate uploading activity files (gpx, fit, etc..) and turning them into nostr activity events. https://wikifreedia.xyz/activity-nip/borrakkor@nostrplebs.com
The powerful piece here is you get to control exactly which data is released publicly. If you choose, your activity file and route map get uploaded to a blossom server, and is referenced in the event.
Soon you'll be able to encrypt these files so only you can view them. You will also be able to utilize DVMs to further analyze your activities, and post summaries from the output.
Currently the client does very basic analysis on the uploaded file, but I forsee many different analyses being available.
Hoping to deploy an alpha version next week.
#running #cycling #blossom #proofofwork
@hzrd149 I made a small PR on `blossom-server-sdk` 
GitHub
add optional options to S3 storage options by ebrakke · Pull Request #1 · hzrd149/blossom-server-sdk
I was trying to setup a blossom server using blossom server and an R2 bucket, but kept getting errors.
This PR allows setting a couple more paramet...
Huge shoutout to the creators of
It has everything I need to do activity file analysis right the browser. I can even convert from .fit to .gpx files!
#running #nostr-ava
GitHub
GitHub - sports-alliance/sports-lib: A Library for processing GPX, TCX, FIT and JSON files from services such as Strava, Movescount, Garmin, Polar etc
A Library for processing GPX, TCX, FIT and JSON files from services such as Strava, Movescount, Garmin, Polar etc - sports-alliance/sports-lib
Protocol
Note: This protocol documentation is preliminary.
https://wikifreedia.xyz/activity-nip/borrakkor@nostrplebs.com
WIP nip for activities on NOSTR. This is a nip designed to share different activities (running, biking, hiking, etc...) and generate summaries of these activities.
Clients can handle managing just a users activities in a totally offline / private way. But you can also share the bits about your activity that are worth sharing.
For example, you don't have to upload your whole activity file to your activity just to get a summary. You could generate all your stats locally, and then publish a trimmed GPX file for others to see without getting doxxed.
If summary files are readily shared, then DVMs could generate summaries from those summaries. So without having to leak all your precise GPX files, you could still figure out activity streaks, or similar routes near you.
DVMs could generate routes from partial GPX files. I feel like the possibilities are really endless here.
Those who are data oriented can run their own models in Python and publish the results. Result sets could be standardized.
There's a lot to be done, but I think it could be exciting.
For nostr-ava I think I'm going to lean into a DVM model to analyze gpx files. Here's the flow I'm thinking
1) user uploads a gpx file in a client and adds relevant metadata around it (name, description, etc...)
2) GPX files is uploaded to a blossom server and the location is stored in the original note
3) user can then request analysis of the gpx file by creating a DVM job request. This will allow multiple ways to analyze (there's a lot of cool python libraries to transform GPX files), and also allows DVMs to use output from previous DVMs to do meta analysis.
Clients can pull in the original notes + any DVM results per activity and display them as they see fit.
I'm envisioning DVMs for run matching, analyzing your progress throughout the year, comparing with other similar routes (e.g. segments and KOM stuff)
#nostrava #running
That's a fun view to see from your house. 

AI seems to be going the way or crypto with the "but think of the energy and emissions!" Rhetoric.
Motivated to revisit a Strava alternative for nostr. I think it can be achieved with DVMs and file storage.
Haven't thought too deeply about this, but let's say everything starts with a GPX file. You upload this note and it has your metadata for the activity (like a Strava post) and a location where the gpx file can be retrieved.
Then you have a number of DVMs that can perform analysis on this file. Anything from really basic things (like elevation and HR analysis) to complex features that stava has (matched runs, segments, etc)
I think using something like a geohash would enable segments and matched runs quite easily. You can start to see similar activities in your area.
Pair it with something like npub.pro and you have your own Strava like blog.
#running #strava
Instead of using the raw json as content, you could use the v4 encoded token. This is how most wallets expect tokens to be sent and received

GitHub
nuts/00.md at main · cashubtc/nuts
Cashu protocol specifications https://cashubtc.github.io/nuts/ - cashubtc/nuts
@brugeman great job with npub.pro
Also, the "login with DM" flow was one of the easiest login experiences I've had so far with nostr.
Longest run since highschool, felt great. #running #proofofwork
Finished off with a nice paddle board 
Finished off with a nice paddle board 
Steaks were amazing. #steakstr #meatstr


Epic day climbing in the flatirons
#climbing
Nostr song lyrics, guitar tabs, and sheet music. Because the existing sites that host that stuff always try to push their apps.
Can basically just be a wiki style note.