Another week, another adventure in code! This week was absolutely packed with experimentation, plugin development, and some serious security enhancements. Buckle up, because we're diving deep into what I built and the lessons I learned along the way.
Day 1: The Snap Store Saga ๐ฆ
Ever tried packaging a Tauri app for the Snap Store? Well, I did, and it was... interesting. ๐
I'm building an unofficial Jira desktop app (because we all need better desktop tools, right?), and I wanted to get it on the Snap Store. Creating the snap package? Easy. Getting it approved? That's another story.
๐ง The Classic Confinement Dilemma
Here's the problem: my app needs classic confinement to work properly. When I tried strict confinement (the preferred option), the app just couldn't open Jira URLs. Like, at all. ๐คฆโโ๏ธ
Classic confinement requires manual review from the Snap Store team, so now I'm in waiting mode. If you've been through this process, drop your experiences in the comments!
Also kicked off some ad integration work with Pangle and Unity Ads. Not the most exciting work, but it pays the bills! ๐ฐ
๐ WakaTime Global Rank: #217
Day 2: Performance Obsession & Killing Passwords ๐ฅ
This was a BIG day. Let me break it down.
โก api_client_plus: Making It FAST
I spent the morning deep in performance optimization for my api_client_plus Flutter plugin. We're talking cache strategies, MMKV initialization, and a whole lot of testing.
Want to see some numbers? Of course you do! ๐
๐ฏ Performance Metrics:
- โก Cold Start: 35ms (blink and you'll miss it)
- ๐ Cache Read: 69ms
- โ๏ธ Cache Write: 114ms
- ๐ Request Time: 263ms
- ๐ Throughput: 25.84 req/sec
- ๐ Error Recovery: 501ms
- ๐ Domain Switch: 123ms
- ๐จ Cache Speedup: 39.5% (that's what I'm talking about!)
๐ Final Grade: B - Production Ready!
I ran 10 comprehensive tests covering every cache strategy imaginable (cacheOnly, cacheFirst, cacheThenNetwork, networkFirst, networkOnly, staleWhileRevalidate), and guess what? 100% pass rate! โ โ โ
๐ Goodbye Passwords, Hello Security
Here's something that made me really excited: I completely overhauled authentication for two production WordPress sites.
The old way: Username + password + email verification ๐ฉ
The new way: Just email = instant secure login link ๐
I implemented passwordless authentication using email OTP with SMTP. Users just type their email, get a magic link, and they're in. More secure, way more convenient. This is how auth should work!
๐ ๏ธ Other Cool Stuff
- โจ Added crash reporting to the Flutter plugin
- ๐ฑ Improved bottom nav with YouTube-style back button behavior (tap back = go home)
- ๐ฅ๏ธ Added WebView/WebKit system checks for Linux (because not all Linux systems are created equal)
- ๐ฆ Published .appimage releases to GitHub
๐ก New Project Alert: Flutter Secure Vault
Late in the day, I had this thought: what if we could protect data not just in storage, but while it's being used in memory? ๐ค
Most secure storage solutions are solid, but once you read that data, it's vulnerable. So I'm experimenting with wrapping the entire app with Rust FFI to create a secure memory vault.
Stay tuned! This could be huge for apps handling sensitive data.
Day 3: Dynamic Everything ๐จ
Project Code: 246 (yeah, I name my projects with numbers, don't judge ๐)
Today was all about flexibility and making the app adapt to different needs without redeploying.
๐๏ธ Database Magic
Added a new header table with some seriously cool configurations:
- ๐ Customizable titles and subtitles
- ๐ Hijri date display toggle
- ๐ฑ Feed types (standard feed vs vertical status ร la YouTube Shorts/Instagram)
- ๐ฏ Layout types (standard list or box grid)
๐ฎ Full Control Panel
- ๐ง Built APIs for fetching and updating all these configs
- ๐จ Designed fresh UX for different feed types
- ๐ฅ Restructured user roles (added "leaders" status - sounds cool, right?)
- ๐ Added admin-only features for power users
- โ๏ธ Made EVERYTHING dynamic via API (no more hardcoded layouts!)
- ๐ฒ Built the release and submitted v1.0.2 to Play Store
๐ฎ Future Plans
Thinking about adding JSON serialization to api_client_plus for type-safe data handling. Because types matter, people! ๐ช
Day 4: Birth of MemGuard ๐ก๏ธ
Started something I'm really excited about: MemGuard - a Flutter plugin to prevent memory leaks and secure sensitive data.
๐ฏ Why MemGuard?
Memory security is often overlooked in mobile apps. We worry about storage, networking, authentication... but what about the data sitting in RAM? That's where MemGuard comes in.
โจ Features:
- ๐พ In-memory storage (lightning fast, super secure)
- ๐ฑ App-persistent storage
- ๐ Secure storage integration
- โ Fully tested on Android
๐๏ธ Architecture Highlights:
- Memory storage uses Rust FFI for speed and security
- Persistent storage leverages platform channels + FFI
- Zero dependencies on traditional storage methods
๐ญ Bonus Project: LogGuard
While building MemGuard, I thought: "What about logs?" Logs can expose SO much sensitive info. So I started sketching out LogGuard to prevent log-based data exposure. ๐ค
Turns out, this was going to be bigger than I thought...
Day 5: MemGuard Goes Public ๐
Full day sprint on MemGuard! And the best part? I published it! ๐
Both memguard and memguard_core are now live on pub.dev. If you're building Flutter apps that handle sensitive data, definitely check it out!
๐ WakaTime Global Rank: #75 (climbing that leaderboard! ๐)
Day 6: Cross-Platform Victory ๐ง๐ค
MemGuard is now truly cross-platform! Added Linux support today.
โ What's New:
- ๐ง Full Linux integration
- ๐งช Comprehensive testing on Android and Linux
- ๐ฆ Published v2.1.4 with stable cross-platform support
The plugin now works seamlessly whether you're on mobile or desktop. That's the dream, right? Write once, secure everywhere! ๐
Day 7: Polish Day & LogGuard Launch โจ
Project: MtaOne
Started the day by improving an existing project with some quality-of-life enhancements:
- ๐ Integrated FastLog for better logging
- ๐ฅ Added crash reporter (because bugs happen)
- ๐จ Implemented dynamic theming with seed colors (Material You vibes!)
- ๐ Fixed those annoying audio playback bugs
๐ Surprise Launch: LogGuard v0.1.0
Remember that LogGuard idea from Day 4? Well, I couldn't help myself. I built and shipped it! ๐
LogGuard is a high-performance Flutter plugin that automatically sanitizes sensitive data in your logs using Rust FFI with regex-based pattern matching.
โก Why LogGuard Matters
Ever accidentally logged a password? An API token? A credit card number? Yeah, we've all been there. ๐ฌ
LogGuard sits between your code and the console, intercepting print() and debugPrint() calls to automatically mask sensitive data BEFORE it hits your logs.
๐ What Gets Protected?
LogGuard automatically sanitizes:
- ๐ Passwords -
password=secret123โpassword=******** - ๐ซ Auth Tokens -
Bearer abc123tokenโBearer [MASKED] - โ๏ธ AWS Keys -
AKIAIOSFODNN7EXAMPLEโ[MASKED] - ๐ณ Credit Cards -
4532-1234-5678-9010โ[MASKED] - ๐ง Emails -
user@example.comโ[MASKED] - ๐ฑ Phone Numbers -
+1-555-123-4567โ[MASKED] - ๐ UUIDs -
550e8400-e29b-41d4-a716-446655440000โ[MASKED] - ๐๏ธ JWT Tokens -
eyJhbGc...โ[MASKED] - ๐ Hex Hashes - Any suspicious hex strings โ
[MASKED]
๐ Key Features
โจ Zero Configuration - Works out of the box with sensible defaults
โก High Performance - Rust FFI implementation for blazing speed
๐ UTF-8 Support - Handles international characters perfectly
๐ Streaming Support - Efficiently processes large log messages
๐ฏ Automatic Interception - No need to change existing logging code
This is huge for production apps. One plugin, and suddenly your logs are safe from accidental data leaks. Security doesn't get much easier than this! ๐ช
๐ WakaTime Global Rank: #46 (new record! ๐)
๐ค Week Reflections
What a ride! This week really drove home the importance of security AND performance in mobile development. You can't sacrifice one for the other.
๐ก Key Takeaways:
- Security should be convenient - The passwordless auth migration proved that the best security is often the most user-friendly
- Performance metrics matter - You can't improve what you don't measure
- Memory security is underrated - Building MemGuard opened my eyes to how vulnerable in-memory data can be
- Cross-platform is hard but worth it - The effort to support Linux paid off immediately
๐ฏ What's Next?
- ๐ Continue improving MemGuard and LogGuard (Windows support, anyone?)
- โณ Waiting for Snap Store approval (fingers crossed! ๐ค)
- ๐ง More performance optimizations for api_client_plus
- ๐ Planning custom sanitization patterns for LogGuard
๐ ๏ธ Tech Stack This Week
Languages & Frameworks:
- ๐ฏ Flutter & Dart
- ๐ฆ Rust FFI
- โก Tauri
- ๐ WordPress
- ๐พ MMKV
- ๐ Platform Channels
๐ Plugins Released:
- โ api_client_plus (major updates)
- โ memguard v2.1.4
- โ memguard_core
- โ logguard v0.1.0 ๐
๐ฌ Let's Connect!
What security challenges are you tackling in your projects? Have you tried building Flutter plugins with Rust FFI? Ever accidentally logged sensitive data? (We've all been there! ๐ )
Drop your thoughts in the comments below! I read and respond to every single one. ๐
And if you found this helpful, don't forget to:
- โค๏ธ Leave a reaction
- ๐ Bookmark for later
- ๐ Share with your dev friends
- ๐ Follow me for more weekly dev logs!
๐ฌ Want to stay updated?
Follow me for more open-source Flutter plugins, security deep-dives, and weekly dev logs from the trenches!
Keep coding, keep building, keep pushing! ๐
Top comments (0)