I want to spend some time experimenting with Opus 4.5, while building an Android application (Kotlin, Material Design 3) that acts as a frontend for an existing small social networking service.
Opus 4.5 turns out to be significantly better than all previous engines. After I provided the service URL, it quickly analyzed the existing HTML endpoints, inferred how they could be used as an API, generated a full API map, ran tests, and produced clean, well-structured API documentation. That moment felt a bit like hearing a familiar album remastered properly for the first time — same material, but suddenly everything is clearer and better separated.

Based on that, it implemented an Android application covering most of the core functionality of the service. This all happened within a few hours, which is still slightly unsettling in a good way. Somewhere in the background I was listening to slow jazz, which turned out to be a bad choice, because the pace of work was closer to fast electronic music than anything relaxed.
From my side, the work mostly involved making a few architectural decisions and occasionally redirecting the model when it went in a less optimal direction. Still, the overall experience felt very fluid — more like playing in a well-rehearsed band than issuing instructions to a tool. You give a hint, it picks up the rhythm, and you just keep going.

Overall, it was a genuine pleasure to work with something that fast, responsive, and surprisingly enjoyable — a bit like accidentally discovering an entirely new instrument, one you didn’t know you had access to, and realizing it can already play in tune with the rest of the band.
Update:
After a few days of work (well… mostly nights), we now have a fully-fledged application being prepared for release on the Google Play Store. Around 30k lines of code, five language versions (probably unnecessary, but still). Lots of fun along the way.
| # | Screen | Description |
|---|---|---|
| 1 | Splash Screen | Initial loading screen with app logo |
| 2 | Login Screen | User authentication (username/password) |
| 3 | Home Screen | Main timeline with posts feed |
| 4 | Compose Screen | Create new post or reply |
| 5 | Post Detail Screen | Single post view with comments |
| 6 | Profile Screen | User profile with posts and info |
| 7 | Following Screen | List of followed/following users |
| 8 | Tag Screen | Posts filtered by hashtag |
| 9 | Blablog Screen | User’s blog posts (blablog) |
| 10 | Photostream Screen | User’s photos gallery |
| 11 | Secretary Screen | Notifications (messages, mentions, replies) |
| 12 | Scheduled Posts Screen | Manage scheduled posts |
| 13 | Settings Screen | App preferences and configuration |
| 14 | About Screen | App info, author, privacy policy, links |
Key Features
🔐 Authentication & Accounts
- Multi-account support – Switch between multiple Blabler profiles without re-logging
- Secure credential storage – Passwords and tokens encrypted with AES-256-GCM (Android Keystore)
- Session persistence – Stay logged in across app restarts
🔔 Notifications
- Background notification polling – Secretary checks for new messages periodically (WorkManager)
- App icon badge – Shows unread notification count on launcher icon
- Notification types – Mentions, likes, direct messages, private messages
- Survives device reboot – Notification worker restarts after device restart
🌐 Fediverse Integration
- Cross-post to Mastodon – Optionally publish posts to your Mastodon account
- OAuth authentication – Secure login to Fediverse servers
- Per-user preference – Cross-posting setting saved separately for each Blabler account
📝 Composing
- Draft auto-save – Unfinished posts are preserved between sessions
- Image attachments – Attach photos to posts
- Reply & quote – Respond to or quote other users’ posts
- Scheduled posts – Schedule posts for future publishing
- Hashtag insertion – Quick hashtag appending from tag screen
🖼️ Media
- Pinch-to-zoom images – Full-screen zoom overlay with gesture support
- Long-press to save – Save images directly to device gallery
- Efficient image caching – 600MB disk cache with Coil
🎨 Personalization
- Light & Dark themes – Follows system preference automatically
- 5 language support – Polish, English, German, French, Japanese
- Customizable default feed – Choose between Dashboard (followed) or Public timeline
- Per-profile settings – Each account can have different preferences
⚡ Performance & Offline
- Profile caching – User profiles stored locally (Room database)
- Rate limiting – Respects 5 req/s limit to avoid server overload
- Efficient HTML parsing – Web scraping with Jsoup (no REST API available)
📱 Platform Integration
- Deep links – Handle blabler:// URLs for OAuth callbacks
- Material Design 3 – Modern Android UI with proper theming
- Android 5.0 to 15 support – Broad device compatibility (SDK 21-35)
