If your Flutter app offers any third-party login on iOS — Google, Facebook, anything — Apple's App Review guideline 4.8 forces you to also offer Sign in with Apple. That part is non-negotiable. .p8 keys, capabilities, entitlements, deep links — and most of it is only documented across three or four different Apple and Supabase pages that don't quite agree with each other. This is the guide I wis
Last Tuesday I lost about three hours to a regression in our checkout service. The cart total was off by a cent on certain promo combinations, and the only signal was a Slack ping from finance with a screenshot. No stack trace. No exception. Just wrong numbers. I did what I always do first. I opened the diff for the last deploy, scrolled, squinted, and tried to feel my way to the bug. Forty minute
Luci-Studio is a creative engineering space dedicated to high-performance applications, technical deep-dives, and digital art experiments. As an engineer with 5+ years of shipping cross-platform apps, I wanted a portfolio and blog that actually reflected my standard for software: clean architecture, obsessive edge-case handling, and a UI that just feels right. Check out the new site to see my late
I Built a VS Code Extension to Bring IntelliJ’s “Show History for Selection” Experience If you come from IntelliJ, you probably miss one super useful feature in VS Code: Show history for selected lines. I built a new extension to solve exactly that. Show History for Selected Code This extension helps you inspect Git history for a specific code selection, not just the whole file. Shows commit h
Dart's concurrency model is unusual: single-threaded event loop by default, with explicit Isolates for true parallelism. No shared memory, no race conditions, no mutex locks. This guide covers everything from the simple compute() helper to long-lived Isolate workers, structured concurrency patterns, and Stream-based reactive flows. Concept Dart Isolates JavaScript Workers Java Threads Memor
Monetization is where most indie SaaS apps die. Not because the product is bad, but because the pricing is wrong, the freemium tier is too generous, or the upgrade path is invisible. This guide covers the full stack: value-based pricing principles, freemium architecture, Stripe + Supabase implementation, and conversion optimization. The classic mistake: pricing based on features ("get 5 exports pe
Supabase Edge Functions run on Deno Deploy and are far more capable than simple REST handlers. This guide covers three advanced patterns every indie developer should know: streaming responses (for LLM integrations), WebSocket upgrades (for real-time features), and background jobs using EdgeRuntime.waitUntil. The most common use case is streaming LLM output without blocking the client. // supabase/
Accessibility is not an afterthought — it's a quality signal. For Flutter Web, getting WCAG 2.2 compliance right requires understanding how Flutter's Semantics tree maps to browser accessibility APIs. This guide walks through practical implementation: contrast ratios, keyboard navigation, screen reader support, and automated testing. Flutter Web uses a hybrid rendering approach (CanvasKit or HTML)