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
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 spent the long weekend pushing Logic Apps MCP server capabilities further than I had before — and hit two bugs worth documenting. Both are filed. If you're building in this space, save yourself the debugging time. If you've been following along, the MCP server and BODMAS Agent are covered in the previous posts. This post is just about what broke when I wired them together. The Agent Loop fails w
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)
"Build it and they will come" is a myth. Indie developers need to engineer growth into the product from day one. This guide covers growth loop design, referral mechanics with real Dart code, UTM attribution, and analytics setup — all things you can ship in a weekend. A funnel is linear and leaky: Ads → Landing page → Sign-up → Paid. When users drop off, growth stops. A growth loop is self-reinforc