Avatar
Water Blower
6b9da920c4b6ecbf2c12018a7a2d143b4dfdf9878c3beac69e39bb597841cc6e
Creator of Blowater & I self identify as a Pro Sleeper

https://www.youtube.com/watch?v=CYlon2tvywA

Our networks shape us and our actions shape our networks, so choose both wisely.

1st note from Notedeck. Many unconventional UI designs here. Deck x Column are good combinations for power users.

I start to like reading classical literature again because of AI.

AI feels like fast food chain that’s useful to feed my hunger but classical literature feels like fine dining.

There are so many things. Make simple code is one of them. It’s so cliche. Making progress is more important than making beautiful code. Software is a tool before it’s an art.

Now, much more, I appreciate developers who can carry the weight of a project from beginning to shipping. Making a working software that people actually use is so hard.

nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft and nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z remain my most admired developers, in no particular order.

Is long form still a thing in Nostr?

2nd day of studying RTMP spec.

It has lots of features that’s only present in http2, which is 20 years later. If Adobe was smart and embrace openness with Flash, in a parallel universe, we would all use RMTP to ship remote code. It’s in many ways a technically better protocol than http. But a protocol can only succeed with openness. A proprietary protocol is just an internal software implementation.

I enabled copilot on VS code and its hotkey is the same as the normal LSP auto suggestion CMD + I

and I found no obvious way to disable copilot. This is why modern free softwares are shitting on users.

Free software means authors will not care about professional users because they don’t pay anyway. What most people want end up being what’s shipped and all users get affected.

Reading the RTMP spec because I can’t find an easy to use streaming library to use in any language. FFmpeg is great on CLI but it’s a pain in the ass to integrate programmatically.

The more I read the spec, the more I am amazed by how much forgotten gem there is in the legacy Adobe Flash technology.

Maybe in a parallel universe, a better Flash became the Web and HTTP & JS died out.

Replying to Avatar Svetski

## Satlantis is here!

Well…sort of. It’s a little pre-mature, but it’s good enough for you to play around with. I wouldn’t necessarily call it super ā€˜useful’ right now but I wanted you to get an early glimpse into what we’re building so you can see how it evolves over time.

And besides -Ā *we have to release a first version at some stage!*

Satlantis is the firstĀ **travel-centric social network**. It’s quite different from anything else that came before it. It’s part map, part directory, part events app and part social network.

It really is a monumental undertaking - but I’m convinced now is the time to build it. People are ready for something new. They are tired of the algorithmic slop social media has become. They’re craving real connection and they want to see, touch, smell, hear and taste the world. What better way to help them do that, than with aĀ ***network***Ā that connects them,Ā *and*helps enhance their discovery of places, experiences and events that are relevant to them (based both on their interests and social connections).

That’s what this product is all about. We’re going to do what Google Maps, Yelp, Instagram, TripAdvisor etc. are all partially doing - but make it 10x better.

The first Satlantis app is now available on AppleĀ [Testflight](https://testflight.apple.com/join/mFF7SmJ2)Ā or theĀ [Google Play](https://play.google.com/store/apps/details?id=com.satlantis.satlantis)Ā store. In the coming month or two, we will make Satlantis accessible viaĀ **invitation-only**, to increase the quality of connection and discourse on the app, but if you’re reading this now, you’re in before we gate it, you can explore and give us some feedback while we work on it.

I will write release notes like this every couple weeks covering what we built, what to test and play with, what’s working, what needs improvement, what’s downright shit or broken and what’s coming in the next release.Ā *(This first one is the longest because I delayed it so much.)*

I’d love to hear your feedback, and if you find this interesting, please share it around so other people find out about what we’re building!

---

# **The Good**

**Mobile App**We got a version out, and you can actually use it.

- [Apple TestflightĀ ](https://testflight.apple.com/join/mFF7SmJ2)

- [Google Play Store](https://play.google.com/store/apps/details?id=com.satlantis.satlantis)

### **Nostr Compatible.**

Every single account on Satlantis is an nPub. You can log into Satlantis using your nSec (not your nPub - we forgot to include that...lol), and you will find your entire social network and all of your posts there (if they are media notes). On the Web, you need to use an extension, like Alby or Keys.band. On mobile you can paste your key (stored locally on the device).

### **Normie Friendly.**

We also built a smooth non-nostr focused sign up flow. We originally used the nSec bunker, but that was a mess (love u Pablo). So we built our own nSec bunker, but that sucked too. Passwords are old school. After interviewing 100 people not into Bitcoin or Nostr, 95% of them preferred us to store their key. So…we took that feedback and created a really easy email + magic link, Google and Apple SSO sign up flow, that creates an account and Nostr keypair that we store on their behalf, encrypted.

If and when people work out what Nostr is and they want to take custody of their key, they will be able to export their key, and request deletion of their key from our DB.

Is this the most ā€˜pure’ solution? No. Does this mean they have to trust us? Sure. Could we do it better at some point? Yes, of course. But considering the number of mission critical features we need to build, we’ll come back to it later.

### **We currently only support Kind 1 events.**

Well…we also support NIP-52 calendar events, but we’ve disconnected that for the time being because event organisers wanted co-hosts more than they wanted to broadcast their events on Nostr. We’re working on a way to reconcile the two. For now, post text & images. (Video coming soon).

### **Interest-centric onboarding.**

We spentĀ ***a lot***Ā of time building this. One of the key pillars at Satlantis is discovering people, places, events and content suited to you. As we dug down the personalisation rabbithole, we found that there is a resurgence of interest-selection in many apps: from Tinder to new apps like Locals and Timeleft. The more focused on personalisation the app is, the more in-depth the onboarding.

Of course Meta and TikTok do the best personalisation with their advanced ML & AI tools, along with their deep social graphs, but since we have neither (Nostr helps but it’s still very small), we needed a better way.

So we decided to build our interest-graph. It was brain-melting, but we developed a pretty exhaustive set of interests relevant to people in our target market. We then took that list and associated it to events, merchants, people, places, experiences, activities and content. We then built a whole new onboarding flow to capture this from new users, and associate it to their accounts.Ā *(Yes - at some stage, we’ll make this Nostr compatible so it can travel with nPubs)*

![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F891b5b45-a754-47e0-be17-b153486ed14f_1090x720.heic)The net result is a base layer of insight we can use to help surface things that are of interest to users. Whether it’s an event, a place to eat, a gym or sauna, content to engage with or people to meet: like magic, things that are relevant to you will come to you.

Of course, in the long term we will use your social graph and the way you interact with content to do this - more like Meta and TikTok do - but for now, while the social graph is tiny, this is the most efficient and effective way.

Final word: the current version has all the interests - but it’s not very user-friendly. The latest design fixes that by grouping the interests into better subcategories. Keep an eye on that in a subsequent release.

### **New Merchant Discovery Experience.**

This was also a monumental task. Our first merchant experience was just a shitty map with a list on web, and just a list on mobile (see below). This list was ranked by an ā€œaggregate ratingā€ we computed by analysing all the venue’s ratings from apps like Google, Trip Advisor and more.

![]()![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeALaRJ9sz6kpZO99_dICLx0qQW1niZ9W2nZlAssuUCV4dh_H-GWPbskALZVDj1bM-p__XrMt1kBDrwdG-4rKDcN_PcaeSKQau8r9zBTV8i4IzBrA8ekZjOMx-FjOTDP6EvUMSDJg?key=AZ3atw3erSVhTESqUeUwQkBA)We spent a long time trying to figure out how to display this better and do it in a way nobody else is, because seriously -*can you think of a single food app or merchant map out there which has a nice UI or UX?*Ā **No.**

AirBnB transformed the UI & UX for accommodation and pushed the whole space forward. Nobody has really done it for every other kind of place you go to. So we took it up ourselves to fix this and create a proper ā€œmerchant discovery experienceā€ with an information-dense location tile. Check this out:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfK0Mi75coeR7FBUmGnylMoxZcw_0zobpHsv4KTHjJ7zp9nKOxFtde8y5XZ8JWOPPRX43GJwuXAEGSdPcKRVRKaJJo-YCXITpCbj1Ar_xQIc5hRPS9860bjRYejVFNM28vOyTD51w?key=AZ3atw3erSVhTESqUeUwQkBA)Notice how we managed to get all the key information you need about a place there on the one tile, including who in your social circle has recommended it.Ā *That’s the key ingredient which makes Satlantis special.*Ā No more messaging friends or people you know ā€œhey - have you been to that placeā€ or ā€œdo you recommend that placeā€?

![]()***One small issue here is that this upgrade will kill the map***…but only for a couple weeks, until we release the new map view!

### **Merchant coverage**

Our merchant app covers SIX distinct categories:

1. Cafes & Restaurants

2. Health & Wellness (think Gyms, Spas, Saunas, etc)

3. Attractions (from Museums, to lookouts to beaches & hikes)

4. Grocery & Specialty Foods (think Organic food store, farmers markets, etc)

5. Coworking & Event Spaces

6. Nightlife (Bars, Clubs, etc)

![]()We scoured the web for the best curated lists and directories for each of these categories. This in Bitcoin accepted (everything relevant from BTCMaps - because we’re also built on Open Street Maps, so it’s synced up), Seed Oil Free (everything from Local Fats & Seed Oil Scout is here), Michelin Star rated, Real Milk (Raw Milk directory) and more.

Alongside all of these directories, our network of local ambassadors have submitted their top local picks for their favorite cities, so you have real local recommendations.

The destinations with the best maps are currently **Canggu, Uvita, Prague, Sao Paulo, Dubai, Florianópolis**.

### **Suggest Places & Merchants**

This is working quite nicely. Anyone, anywhere can now suggest their favorite merchant. For now, we’re manually approving submissions daily to avoid spam and irrelevant shit. In time, we’ll find a better way to do this.

It’s all plugged into the Google API, so you can just type in the name of the place you think should be added (from mobile or webĀ [here](https://www.satlantis.io/suggest/26166)). Once approved, our AI pipeline goes to work gathering all the available data from Google, TripAdvisor and elsewhere to set up the merchant profile, complete with review summaries, images, profile bio, contact details, opening hours, tags and more.

Got more upgrades to this flow in the works, but it’s ready for you to try out now.

### **City Pages**

The current city pages are part of an outdated design which doesn’t fit our new visual language, but they are a ā€˜live’ feature. The original idea was to blend elements of Pinterest and Instagram but it backfired so we are changing to a more slick one-column feed. That being said, the core features of the city pages work. You can:

- [Join a city](https://www.satlantis.io/place/cz/prague/prague/R435514/profile)Ā (like joining a community or following the page)

- Post content on the city page

- Navigate over to the different available pages, including merchants, events, scores and stats + facts

We have 80 cities currently available. More to come.

### **Scores, Stats & Facts**

When we set out to first buildĀ [Satlantis](http://satlantis.io/), we wanted to improve on the information NomadList was presenting for cities & destinations around the world. So we developed a different approach for city scoring based not only on data we could get from Numbeo, etc - but also information direct from people on the ground - in particular; expats and locals.

We put together a set of score categories and created a dedicated survey for select people to fill out, which would create some ā€œfoundationā€ scores, with a view to have this survey available to the crowd, perhaps via a score voting system or some sort on the page. We haven’t got that far yet. Right now, we have foundation scores for each of those 80 active cities, along with key Stats and Facts, like cost of living, wifi speed, water drinkability, and more:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdcbK8A4-GO0kWgXxkj77gzqnNdJLsnL4PwDS1j-PqGK_Wq0vod-2WbMMWswxMwrWZHI_JXyv546fUt8gsdlHzRqeGUz75cQ8JD3fQeu_85K7XrVsHDqAL1HPtXKAORApoOyjIhZA?key=AZ3atw3erSVhTESqUeUwQkBA)This is not a core feature for us, so we will look to partner with other providers to enhance the experience, or we’ll completely re-think how we’re going to do it. Stay tuned for more here and let me know if you find it useful at all right now (or not).

### **Events**

Last but not least, we have events! God dammit this was annoying because we built it NIP-52 compatible in the beginning, which then limited what we could do with co-hosts and other essential event features. And all for nothing since there are no other well built or maintained calendar-event clients on Nostr anyway.

So right now, when you post an event on Satlantis, it will post only on Satlantis. This means that as a host, you can edit, add co-hosts, add locations (proper merchant tiles) and delete.

We will make this Nostr-compatible again, most likely with some sort of button for hosts to ā€œbroadcast this event to Nostrā€ - knowing they will lose some flexibility once they do - but we need to do more research here. Maybe we’ll propose an upgrade to the calendar event NIP (or propose a new NIP altogether). It’s on our roadmap, so we’ll do our best to get to it soon.

#### **Meetup integration.**

We’ve been working with the Meetup API to let organizers quickly import their events into Satlantis. It’s been frustratingly complex because of how archaic they are, but we got it working!

šŸš€Ā **If you run a Meetup,**Ā and want to automatically have your events listed on Satlantis when you list them on meetup,**reach out!**Ā We’ll evenĀ **cover the Meetup membership fee**Ā for 10 meetup groups who set up auto-importing for their events. If you’re interested,Ā [reach out to us.](mailto:jordi@satlantis.io)

---

# **The Bad**

These things are currently bad, broken, incorrectly built or buggy. Believe me, if the list was exhaustive, this essay would be a book (our internal list is very full) - so I’m just going to touch on the main things we’re aware of and will be fixing…or just letting it burn slowly while we put out other fires.

### **Personal content feed**

We started Satlantis with a media-only approach, taking inspiration from Instagram. We changed course a couple months ago to support text only posts, realizing there were a lot of other things people would like to post about travel, for example: guides, restaurants, reviews, tips, events, instructions, recommendations.

So…we started supporting this on the feed, and in the ā€œpost contentā€ flow - but of course, not yet supported in the Profile view (which is still an image grid). This means if you post text only, you’re not going to see your own post on Satlantis 🤣🤣

To fix this, we’re building a ā€œpersonal feedā€ section on your profile. But…that will come after we polish some of the things above, so if you’re posting on Satlantis right now, photos please!!

### **Video content**

This one hurts too. We currently neither render videos from other clients, nor do we support video uploads on Satlantis. Not because we don’t want to, but because we haven’t got to it. This is high on the priority list and will be fixed in the upcoming releases.

### **Settings & Edit profile**

We forgot to add ā€œedit usernameā€ 🤣

This is being added now, along with a settings section where you can get your nPub and things like that. We’ll keep it very basic for now.

### **Notifications**

Holy crap. These really suck. There is no other way to put it. The design is not great, the experience is buggy as hell and syncing notifications from the broader Nostr network doesn’t make life any easier. We’ll be making incremental improvements here (for a long time I guess).

### **Limited social graph functionality.**

Right now, there’s not much social-dynamics beyond the feed. This will expand and begin to influence more than just content, but also merchants, events, people, activities, etc.

### **Speed issues.**

Feed and profile loading times are sluggish and need performance improvements. Ongoing.

### **Large Destinations are problematic.**

How do you rate a massive city likeĀ **SĆ£o Paulo**Ā as a single entity? Well….you can’t. Eventually, we’ll break major cities into regions, but that’s a big project for later.

For now, when you see scores, stats and facts, assume we’re covering the most relevant traveler-friendly areas (e.g., Jardins in SĆ£o Paulo, Palermo in Buenos Aires, etc).

---

# **The Ugly**

There is really only one new ā€˜feature’ to complete before we apply a feature freeze and continue on to polish everything. This and the other items listed will be available in the next release or two, so that the overall experience is a little more…*beautiful.*

### **Chat.**

We wanted to do NIP-17, but considering that (a) most of the major apps are still NIP-04, (b) BTCPrague is around the corner and (c) limited resources, we chose to do a NIP-04 implementation for this first version. Not ideal, but good enough. Chat will continue to improve, not only with a NIP-17 upgrade, but with other features like chat folders, group chats, GIFs and more.

### **Polish List**

- Merchant Experience: Web and mobile updates

- Merchant List: More cool places being uploaded

- Events: New display, RSVP flow, co-host notifications, merchant integration

- Onboarding: Updated interests tags & flow

- Scores: Updates to Cost of Living & overall score weights

- Notifications: A lot of improvement here

- Feed: Text only posts, video uploads & rendering videos from other clients

- City Page: New design and functionalities

- Zaps: Yes. We will have Zaps.

---

# **Final Words**

We have our work cut out for us!

We will be at BTCPrague in June and we are committed to releasing all of these features and components by then…as polished as possible.

The team and I have a couple of asks:

1. Download the app, and either create a new account or if you’re on Nostr, log in with your existing Nostr key (web requires an extension like Alby)

2. **Go through the interests, and select those that are most relevant to you.**Ā The magic of the app happens as a function of how accurately you select those.

3. **Post some content!**Ā Could be a photo introducing yourself or a ā€œGood Morningā€ or whatever. Make sure you tag @Satlantis or @Svetski and I’ll boost you.

4. Check out the merchants in the top cities & see what’s around. The city with the most merchants right now is Florianopolis, but we have some coverage in many other cities

5. If you run a meetup or attend a regular Bitcoin meetup, let the organisers know, and let’s start to bring meetups and events across. Not asking anyone to ā€˜leave’ meetup now, but come and sync up your account so events are auto-published.Ā \

As we make the events feature more robust (and Bitcoin native), every Bitcoin meetup in the world is going to want to come use this. If you’re early, you can help us shape it!

6. Let a couple of friends know about the app - ideally those who are not yet on Nostr - and ask them to try it out.Ā They can sign up with email or SSO if they’re afraid to store their own key.

7. Like I said in the beginning,Ā **at some point in the next month or so, it will become an invite-only app.**Ā We will grandfather all existing users in, but new people will need an invite code (from existing users or via codes I drop into release notes and articles) to access it.Ā \

\

The goal of this approach is to (a) increase the quality of connection amongst people on Satlantis, and (b) try a new way of growing a Nostr-based app.

8. **Finally…we’ve decided to do an equity crowdfund.**Ā So if you find what we’re doing interesting and want to be a part of it, you’ll have a chance from June onwards. More to follow on this in the coming weeks. It will be onĀ [Timestamp Financial](https://www.timestampfinancial.com/)Ā - Bitcoin crowdfunding platform - so go check them out.

Thank you again for your attention - I do not take it lightly. This is just the start, so expect to see ALOT more from us in the way of updates and shipping (plus these updates will be shooter).

Make sure you subscribe to this newsletter if you’re reading on Substack, or follow me if you’re on Nostr, Medium or wherever else you’re reading it.

### **Aleksandar Svetski**

---

Thanks for reading Social 2.0! Subscribe for free to receive new posts & stay up to date with what we’re building & learning along the way.

[Subscribe now](%%checkout_url%%)

When the app goes into ā€œInvite Onlyā€ mode, you will need a special invite code to access it, unless you’ve already got an account. For now, it’s open access.

If you're already on Nostr, you're already on Satlantis. Just use an extension to securely log in with your nSec (on web), or with your nSec on mobile.

It has come a long way. Can’t wait to join the test flight.

This book has transformed how I think and approach life more than any book I’ve read, immediately.

Stay rooted, so the pin continues.

After 2 years of BJJ training, I suddenly realized a sense of flow and freedom of bodily expression. I love it! Still a white belt but not so white!

Now I’ve inevitably hit the hard parts of Rust, lifetimes. It’s kinda ridiculous that Rust requires so many things to write a single threaded synchronized linked list. Rust compiler makes sure unsafe code is not compiled. But it does not make sure all safe code can be compiled. Sound but not complete.

It’s mind-blowing that how this author has written so many valuable software engineering blogs 20 years ago and stay relevant to these days.

I haven’t trained for almost a month and I start to feel grumpy. Researching AI intensively these days. But no matter how good AI gets, it doesn’t replace the transcending experience which you only feel in hard & deep work.

Learning Rust by using Egui to make a local AI application. The moment I got how immediate mode works, it feels very liberating. Now I don’t like retained mode UI anymore.

Inspired by nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s ’s effort on Notedeck and many more other advancements and effort in native development, client software and AI, I am hacking a local LLM software with Egui and Ollama.

3 goals:

1. Learn Rust

2. Learn Egui

3. Learn AI from an infrastructure level (compilation, models, GPUs)

I don’t have Nostr in mind for this software. But who knows.

The browser is designed as a content displaying platform for server driven informations. It happened to become powerful enough to implement complex client software. But Nostr is designed to be client driven. The browser is intrinsically bad for it.

Yes, browser’s database is horrible.

Do you mean that you compile Rust and Dart and Flutter runtime into the same binary and can ship both iOS and Android apps?

Making new software with Rust was so hard for new Rust programmers. I felt it this way many times before. But with newer AI tools, I feel I will finally make a small but complete software this time, in Rust.

Relation data model is good, but SQL is so bad. Capitalism mostly won’t bother to fix old problems because its return is bad.

How is your 2024?

It has been pain, anger, tears, sweat, suffocation, growth, career change, love, passion and everything else.

I fought in 2 BJJ competitions. Got choked to unconsciousness in the 1st and won a silver medal in the second.

I wrote lots of JavaScript and worked as a full-time frontend engineer for the first time, coming from a backend engineering backend.

I stepped away from programming and started my own podcast which I’ve been wanting to do for years.

I started to read books again thanks to friends met in Portugal.

I went to Thailand.

I confronted with my limitations as a software engineer and closed the chapter of blowater.app

I am not leaving Nostr. I believe in a better system for individuals to share and connect with people more than ever. But I will take time to learn before I make my next software.

Last but not least, the true coin rocked!