✅ Go REST-only with tokens (ditch legacy SDK/gRPC/GTLR; rely on clean URLSession calls).
✅ Harden sign-in/out across macOS/iOS with a single source of truth for auth state.
🔄 Design a calmer file view that shows exactly what you need (and nothing you don’t).
📓 Make the logs the memory: short, truthful dev notes; tight screenshots; reproducible steps.
🧪 Stabilize sync for Drive/Calendar basics, then layer on previews and offline cache.
Auth & tokens (the new backbone)
The old way was tangled. The new way is simple:
Token-based REST: standard OAuth2 flow → store access + refresh tokens in the Keychain; refresh automatically before expiry; never block the UI waiting on auth.
Single Auth service: one AuthState drives UI. If isSignedIn == false, show a safe, minimal sign-in sheet; otherwise continue seamlessly.
Sign-out that really signs out: clear tokens, reset caches, invalidate any background tasks, bounce the app to a clean state.
Resilience first: every network call wraps:
Retry on transient errors (exponential backoff).
401 → refresh token once → retry; if it fails, drop to signed-out.
All errors surface as human-readable toasts and machine-readable logs.
What I broke today: A silent refresh loop when the network dropped mid-refresh. Fixed by gating concurrent refresh calls and memoizing the in-flight promise so only one refresh can run at a time.
Privacy posture: tokens never leave the device; logs redact headers; no crash reports include PII.
File view ideas (don’t fight the brain)
I’m designing for calm and orientation:
List ↔ Grid toggle with your last choice remembered.
At-a-glance metadata: file type, size, modified date, and Drive ID (copy-on-click).
Thumbnails/previews where useful; text-only for dense modes.
Recents / Favorites tabs right on top.
Inline filters (type, tag, owner) with a compact query pill you can edit.
Breadcrumbs you can actually use (each crumb is clickable and copyable).
One universal action key: ⏎ opens, ⌘C copies link/ID, Space previews.
“What changed?” ghost highlights after a sync so your eyes find fresh stuff fast.
Gentle empty states with a single next action (import, connect, or create).
Sketch note: the content column aligns to a golden-ratio container; actions hide until hover/focus to reduce visual noise.
Known bugs (current reality, not vibes)
Folder lists sometimes load but aren’t clickable after a slow network wake. Likely a stale SwiftUI state binding—reloading the data source fixes it; investigating a proper identity key.
Actor isolation warnings in Swift 6 where async services touch UI state (DrivePathResolver + cache).
Occasional duplicate types after regenerating models (invalid redeclarations). Root cause: old files not removed during refactor; adding a “regenerate and prune” step.
Ambiguous initializers in a mock service leading to “extra arguments” compile errors—cleaning up convenience inits and adopting builders for test data.
Token refresh race (now fixed) caused a brief signed-out flicker on resume.
I’m keeping these here until each is closed and regression-tested.
Next sprint (tight, testable, shippable)
1) Auth polish
Add a single-flight refresh guard (done), plus unit tests for: token expiry edge, network drop, revoked refresh token.
Implement background refresh scheduling with OS hints to avoid wake storms.
2) File view MVP
Ship List/Grid with: name, icon, size, modified, ID (copy-on-click).
Add Recents/Favorites tabs and persist view mode in UserDefaults.
Wire preview (Space) for images/PDF/text.
3) Sync + cache
Local metadata cache keyed by Drive ID; optimistic UI for move/rename.
Debounced search with cancellable tasks to keep typing smooth.
4) Quality gates
“No new warnings” rule on main.
Trace logs for every network call with request ID; redaction enforced in one place.
Screenshot + short clip of each feature before merge (so this log has pictures).
CTA:Tell me your top pain in organizing files; I’ll test it in the next build. Drop a comment or reply with a 1–2 sentence description (bonus: a quick phone snapshot of your folder chaos). Real pain > hypothetical features.
Changelog (human-sized)
Refactor: Removed legacy SDK hooks; REST-only networking via URLSession.
Tooling: Added request-ID tracing; started “screenshots or it didn’t happen” rule.
- randomblink
Receipts, Needs, Next Steps
This week is about clarity. I’m rebuilding in public and focusing on helping three families facing food and housing insecurity. Below you’ll find what came in, what went out (with receipts), and what’s still needed. If you’ve ever wondered whether small donations matter—this is proof that they do. I’m also mapping the next steps so you can see how your support converts into groceries, rent help, and breathing room. Thank you for sharing, donating, or even just reading. It all moves the needle. This is part of my stroke recovery fundraising work—slow, honest progress.
What came in (Week 1)
Cash + in-kind support received this week. I’ll update line items as they clear.
Date (CT)
Source/Name
Type (Cash/In-Kind)
Amount (USD)
Method
Note/Reference
YYYY-MM-DD
[Donor/Handle]
Cash
$0.00
[Givebutter/PayPal/Zelle]
#[txn or note]
YYYY-MM-DD
[Donor/Handle]
In-Kind
$0.00
—
[e.g., 2 grocery bags, 1 rice sack]
YYYY-MM-DD
[Donor/Handle]
Cash
$0.00
[Givebutter/PayPal/Zelle]
#[txn or note]
Subtotal (Cash):$0.00 Subtotal (In-Kind, est.):$0.00 Week 1 Total Value:$0.00
What went out (receipts)
Every expense tied to a family and category, with proof links. Screenshots/PDFs will be attached or linked.
Date (CT)
Family
Category
Amount (USD)
Vendor
Receipt/Proof Link
YYYY-MM-DD
Family A
Groceries
$0.00
[Store/App]
[Link to image/PDF]
YYYY-MM-DD
Family B
Rent/Utilities
$0.00
[Landlord/Provider]
[Link to image/PDF]
YYYY-MM-DD
Family C
Transport/School
$0.00
[Bus/Driver]
[Link to image/PDF]
Total Spent (Week 1):$0.00 Remaining Cash on Hand:$0.00
Receipts bundle:[Folder link or gallery goes here]
Immediate needs (by family)
Short, concrete lists. I’ll check these off and note dates as we fulfill them.
Immediate Week 2 Need (roll-up):$1,500 (This is the number to beat next week.)
Next steps (targets)
Simple, visible goals for the next 7 days.
Target #1: Fill the pantry — $150 for staple groceries across all three families. Target #2: Keep the lights on — $400 for utilities + critical rent gaps. Target #3: School coverage — $300 for transport + lunches.
Share: Post this page to one friend or group that cares about helping three families.
In-Kind: If you can cover a specific line item (e.g., “Family B utilities $__”), message me and I’ll assign it and post the receipt.
Signal boost: If you run a newsletter or community space, I can send a 2-paragraph summary with links.
CTA:Donate or share to keep these three families fed and housed.
Notes on transparency
I’ll post receipts within 24 hours of each spend and keep a weekly ledger.
If I duplicate a line or miss something (my memory is patchy), ping me—I’ll fix it fast.
This is rebuilding in public and part of my stroke recovery fundraising. Thank you for the patience and the accountability.
— randomblink
Hi, I’m randomblink.
This is me starting over—out loud.
I’m raising money for three families I know who are going hungry and struggling to keep a roof overhead. I’ll share their stories and receipts as I go, and I’ll post updates so you can see exactly where help goes.
At the same time, I’m building—slowly, persistently—because building is how I heal.
What I’m working on
HandheldTutorials.com — bite-size tutorials that you can actually finish.
About ten more small sites — each one focused, useful, and pointed at earning enough to keep the lights on for people who need it.
LifeOS & Scribraria — tools I’m crafting to organize knowledge, files, and creative work across Apple devices.
Two book series — one about rebuilding a life after everything breaks, and one about making complex things simple.
What happened
I survived a stroke—and then several more the next year. I can walk, talk, and even drive. But my memory is shattered. A lot is gone.
If I repeat myself, mix things up, or need reminders, that’s why. I’m not hiding it. I’m writing it here so we can keep moving anyway.
How you can help today
Share this post with one person who cares.
Come back—I’ll publish the three family fund links and updates here.
Follow my builds (HandheldTutorials is first) and use what I make. If it helps you, tell a friend.
I’m going to keep this simple: show up, ship small things, and report back. I’ll make mistakes. I’ll correct them in public. And I’ll keep going.
Thanks for reading. Thanks for being patient with me. And if you’re rebuilding something too, you’re not alone.