Damus - OpenSats 90-Day Progress Report #1: July - Sept 2025
Damus
Progress Report # 1: July - Sept 2025
1) How did you spend your time?
Damus Android / Notedeck
The largest allocation of time went to internationalizing Damus Android / Notedeck. Before I started, all user-facing strings were hardcoded in English with no ability to localize to other non-English languages.
I integrated Project Fluent, which provides Rust crates for localizing user-facing text. With the assistance of an AI agent, Cursor with GPT models, I was able to create Rust macros that enabled localization of user-facing strings, as well as create a Python script that would generate the English source translation file.
After that, I integrated with Crowdin, a translation management system, and recruited translators for the following languages:
- Chinese (Simplified)
- Chinese (Traditional)
- French
- German
- Japanese
- Portuguese (Brazil)
- Portuguese (Portugal)
- Spanish (Latin America)
- Spanish (Spain)
- Thai
With the above work, Damus Android was able to ship multi-language support on day 0 of the release on August 27, 2025.
Internationalization PRs: 1, 2 Translation PRs: 1, 2, 3, 4, 5, 6
Damus iOS
I made several fixes and additions:
- Added web of trust reply sorting in threads to mitigate spam and added tips on what Trusted Network means: https://github.com/damus-io/damus/pull/3067
- Fixed #nsfw tag filtering to be case insensitive: https://github.com/damus-io/damus/pull/3134
- Added relay hints to tags and identifiers: https://github.com/damus-io/damus/pull/3137
- Added relay counts and relay view to events: https://github.com/damus-io/damus/pull/3143
- Fixed note content rendering to not remove whitespace before hashtag: https://github.com/damus-io/damus/pull/3145
- Added support for scanning nprofile QR codes: https://github.com/damus-io/damus/pull/3202
- Reduced default zap amount and deduplicated preset zap amount items: https://github.com/damus-io/damus/pull/3208
I attended the Learning Bitcoin 2025 conference in Vancouver, British Columbia, Canada on August 16-17, 2025. Along with Will Casarin, we presented a Nostr 101 session for the audience and conducted a mass Nostr onboarding session; walking the crowd through downloading Damus for iOS and Amethyst for Android, creating their Nostr account, and setting up their Bitcoin Lightning wallet. After that, we zapped those who posted with the conference hashtag some sats. Video: https://drive.proton.me/urls/3X4DR3KT30#GZWqzGKuMsJG
We also had a booth for Damus where we helped onboard and teach about Nostr and Damus in a 1:1 setting with anyone who came by the booth.
I have some work in progress branches for Damus iOS:
- Add pinned notes
- Add voice notes (was not on the initial proposal)
2) What do you plan to work on next quarter?
I want to continue working on adding support for pinned notes and voice notes for Damus iOS.
I also plan to continue fixing localization issues and coordinating with the translators for Damus iOS / Android / Notedeck. There are known issues with localization that I need to tackle because other developers introduced bugs that are not trivial to fix.
Some of the original items in my proposal for Damus iOS proved to no longer make sense for me to work on, including NIP-17 private direct messages, outbox model, as there is a hard dependency on Damus iOS upgrading to NostrDB, and there are some performance issues and bugs with the integration that a different developer is working on.
3) How did you make use of the money?
Living expenses.
Write a comment