We maintain flutter_markdown_plus, the package Google's Flutter team named as the replacement for its own flutter_markdown. You get one team and one codebase for iOS, Android, web and desktop, and a fixed-price plan before you commit.
50+ apps shipped since 2017
If you're reading this, you've probably chosen Flutter already, and the open question is who builds your app. Foresight Mobile has delivered more than 50 apps since 2017, many of them in Flutter, for clients including LPC Law, IterPro and Bodybuilding.com. Our clients rate us 5.0 on Clutch.
Flutter is Google's open-source framework for building iOS, Android, web and desktop apps from one codebase. On the current stable release the Impeller rendering engine is the default on iOS and on Android 10 and later, so animations run smoothly from the first launch. For you, one codebase means one team to brief and one release to manage for every platform.
When Google's Flutter team discontinued its flutter_markdown package in 2025, it named our package, flutter_markdown_plus, as its replacement on pub.dev, and we've maintained it since. It renders Markdown, including tables, in Flutter apps and is downloaded more than 200,000 times a week. You can see all our packages on pub.dev.
As a Flutter-focused app development agency, we'll question feature priorities and tell you when something isn't worth building yet. When Apple ships a redesign like Liquid Glass, or Google ships Material 3 Expressive, we track how Flutter supports it and plan the update with you. We work with startups validating an MVP and with larger businesses replacing older systems.
Once your Flutter app is live, ongoing Flutter app maintenance keeps it compatible with new iOS and Android releases, secure, and performing as users expect.
Written by Gareth Reese, CTO and Founder of Foresight Mobile. Gareth has worked in mobile for over 20 years and built iOS apps since 2009. From 2009 to 2017 Gareth was Head of Engineering at Chillingo, later part of Electronic Arts.
A four-week plan with clear deliverables and a fixed price of £3,500, credited against your first development sprint.
Total client time commitment: 5-7 hours across 4 weeks
We meet with your key stakeholders to understand your business goals, user needs, and technical constraints. You'll share any existing research, designs, or documentation you have.
Our engineering team assesses the technical feasibility, identifies integration points with your existing systems, and evaluates architecture options.
We determine whether Flutter, native development, or another approach makes the most sense for your specific requirements.
We create clickable prototypes so you can experience your app before it's built. You'll test navigation flows, validate the user experience, and gather feedback from stakeholders.
Alongside this, we prioritise features based on business value and technical complexity, mapping out a phased delivery plan with a detailed cost estimate.
You receive your complete Gameplan pack, plus a presentation walkthrough with Q&A. Your team walks away with everything needed to make a confident decision.
Foresight Mobile has shipped more than 50 apps since 2017, many of them in Flutter, for clients including LPC Law, IterPro and Bodybuilding.com. Here's what Flutter does for your project.
Change your app's layout, content, and promotions instantly, without waiting for App Store approval. Our Server-Driven UI (SDUI) architecture lets your backend define layouts, content and styling in real time and push changes to users without a new app release.
SDUI suits e-commerce, media and marketing-heavy apps. It makes A/B testing at scale practical, puts promotions live instantly and keeps the UI consistent across all platforms. Your marketing team can launch campaigns without waiting for developers.
On-device AI features like image recognition, predictive text, and smart recommendations run on the phone itself, with no cloud costs and no network round trip. Flutter's Dart FFI (Foreign Function Interface) connects directly to LiteRT (formerly TensorFlow Lite) and MediaPipe models on the device's hardware.
For cloud AI, we integrate Google's Gemini, OpenAI's GPT models, and custom LLMs to build generative UIs that adapt to user intent, for features such as intelligent search and context-aware recommendations.
One codebase can power your mobile app, a web app, and native Windows, macOS and Linux apps. Flutter can compile the web version to WebAssembly (Wasm), which Chrome, Edge and other Chromium browsers run by default from version 137. Safari 26.2 and Firefox 147 or later run it if the build opts them in, and other browsers get the JavaScript build automatically, so every visitor still gets a working app.
That suits dashboards, internal tools and SaaS products where the web and mobile versions should behave the same. Since Flutter 3.47 the Windows, macOS and Linux apps use the Impeller renderer by default too.
One codebase can still look right on each platform: Cupertino widgets for iPhone users and Material Design 3 for Android users.
Both widget sets now ship as their own packages, material_ui and cupertino_ui, versioned separately from Flutter, and Flutter 3.50 (November 2026) deprecated the copies built into the framework. Flutter doesn't pick a style for you, so we decide screen by screen where each platform should look like itself and where one shared design works better.
Animations run smoothly from the first launch. Flutter's Impeller rendering engine eliminates shader compilation jank using ahead-of-time (AOT) shader generation with Metal on iOS and Vulkan on Android.
Impeller is Flutter's only renderer on iOS and its default on Android 10 and later. Older Android devices, and those without Vulkan, fall back to OpenGL automatically. Because shaders are compiled when the app is built, not while it runs, animations don't stutter the first time they play. Dart compiles to native machine code, so your app gets the device's full performance.
"By choosing the Dart programming language, we ensure fast startup times through ahead-of-time compilation to native machine code or web assembly. Dart's rich, null-safety type system helps catch errors during development, further enhancing reliability. Additionally, Flutter's custom Impeller rendering engine, designed specifically for multi-platform UI, delivers smooth animations and gives us full control over the rendering stack, top to bottom, from the UI source code to the GPU."
Michael Thomsen, Group Product Manager, Flutter at Google, Celebrating Flutter's Production Era, Google Developers Blog, December 2024
A single codebase gets you to market sooner than building two separate native apps, and design changes show up in milliseconds. Dart 3's dot shorthands cut UI boilerplate, so you write .center instead of Alignment.center with full type safety.
That speed comes from hot reload, which shows developers each change in milliseconds. Stateful hot reload on web is now stable in the current Flutter release, so Flutter web work now iterates as quickly as mobile. We use bloc and clean architecture, so our apps are straightforward to develop and maintain.
Yes. Google rebuilt Google Pay on Flutter and ships a major Flutter release at every Google I/O. Google Earth, Alibaba, Nubank, BMW, and eBay Motors all run Flutter in production.
Look for three things: current-version fluency, named production work, and honest pricing. A strong Flutter partner ships on the current stable release rather than a two-year-old version, can point to real apps in production, and gives you a fixed scope before you commit. Foresight Mobile has delivered 50+ apps since 2017, many of them in Flutter, maintains the open-source flutter_markdown_plus package (200,000+ weekly downloads), and starts every engagement with a fixed-price App Gameplan.
Most of our Flutter builds fall into three bands: £15,000 to £40,000 for a simple app or MVP, £40,000 to £80,000 for a medium-complexity app, and £80,000 or more for a complex or enterprise build. One codebase covers iOS and Android, so you're paying for one app instead of two.
Backend work, third-party integrations and custom UI move the price most. Our App Gameplan (£3,500, fixed price) gives you a detailed specification and an accurate quote before you commit to full development, and the fee is credited if you go on to build with us.
Flutter's single codebase makes monetisation experiments cheaper: you can A/B test subscription models, paywalls, and pricing tiers across iOS and Android simultaneously without maintaining separate implementations. We integrate RevenueCat or Adapty for cross-platform subscription management, so your revenue analytics sit in one dashboard.
In-app purchases, freemium upgrades, and ad-supported models all work natively through Flutter's platform channel architecture. We build dynamic paywalls that let you test pricing strategies in real time.
We test Flutter apps at every layer. Static analysis with the Dart analyzer catches type errors and null safety issues before code review. Widget tests verify individual components render and behave correctly, while integration tests with patrol run full user flows on real iOS and Android phones. Golden tests catch unintended visual regressions pixel by pixel.
For performance, we profile with Flutter DevTools and Flutter's frame timing API to keep rendering at a smooth 60fps. We've refined this process over more than 50 apps since 2017, many of them in Flutter.
Maintaining a Flutter app in the UK typically costs less than maintaining equivalent native apps, because one codebase covers both iOS and Android. Ongoing costs range from £675 to £1,495/month depending on backend complexity, user volume, and SLA requirements. The Flutter-specific maintenance work includes pub dependency updates (especially for breaking changes in packages like go_router and riverpod), Impeller renderer compatibility testing on each new iOS and Android release, and Dart SDK migrations. Flutter's single codebase means OS compatibility updates are tested and deployed once rather than twice, which cuts engineering time.
Yes, with Server-Driven UI (SDUI) architecture. With SDUI, your app receives UI definitions from your server, so you can update layouts, content and styling straight away without submitting a new binary to the App Store or Play Store.
How it works: Your app becomes a rendering engine that interprets JSON-based UI definitions from your backend. Change the banner text, reorder the homepage or launch a promotion, and every user sees the change straight away.
Best for: E-commerce apps needing frequent promotional updates, media apps with dynamic content, and any app requiring rapid A/B testing. SDUI helps most in marketing-heavy apps that can't wait for each change to pass App Store review. Changes to business logic still need a normal app update.
The store fees are small: Google Play charges a one-time $25 fee and the Apple Developer Program costs $99 a year. Preparing the listing costs more than the fees: store copy, screenshots and preview videos, translation if you sell abroad, and the privacy details both stores ask for.
Commission is the bigger ongoing cost. On Google Play, since 30 June 2026 the service fee in the UK, US and EEA is 10% on your first $1M of annual earnings and on auto-renewing subscriptions, with a 5% billing fee added if you use Google Play's own billing. Above $1M, one-off purchases are charged at 20% for users who installed from 30 June 2026, and 25% (20% through an external web link) for earlier installs, plus the billing fee where it applies. Apple charges 15% to members of its App Store Small Business Program (up to $1M in proceeds the previous year) and 30% otherwise, dropping to 15% on a subscription once the subscriber has paid for a year. The CMA consulted in summer 2026 on what Apple and Google may charge UK apps that link out to other payment options, and had not published a decision when we checked in November 2026. Our guide to app store fees covers what it means for your margins.
Budget for ongoing costs too: app store optimisation tools, replying to reviews, update submissions and seasonal marketing campaigns. We can handle publishing for you, including store listing optimisation, screenshot creation and submission management.
Most Flutter builds take between 3 and 20 weeks of development. Simple apps built from standard UI components take 3-6 weeks. Medium complexity apps with custom animations, API integrations and state management take 6-12 weeks, and complex applications with real-time features, offline sync and advanced functionality need 12-20 weeks.
Hot reload, a large widget library and one codebase for every platform keep Flutter quick to build with. Design complexity, backend development, third-party integrations and testing move the timeline most, and you should allow a few days for App Store and Google Play review. We work in two-week sprints, so you see a working build every fortnight.
You'll always know where your project stands.
Building a mobile app that people actually use takes more than good code. It takes a clear scope, decisions made with the right data, and a team that tells you what's going wrong before it's a problem. That's how we've delivered 50+ apps across Flutter, Swift, Kotlin, and React Native, from lean MVPs to enterprise-grade platforms.
Ready to talk through your idea?
We map your user journeys, define the core feature set, and agree on a technical architecture before a line of code is written. You get a written scope document, a prioritised backlog, and a fixed-price proposal. We use Miro for journey mapping and Figma for early wireframes, so you can review everything before committing to a sprint.
Our designers work in Figma, producing high-fidelity screens tested against real platform guidelines: Apple's Human Interface Guidelines for iOS and Material Design 3 for Android. You test the prototype on your own device, gather feedback from real users if you choose, and sign off each screen. Changes at this stage cost hours, not sprints.
Development runs in two-week sprints with a working build available on TestFlight (iOS) or Firebase App Distribution (Android) at the end of each one. Every release goes through automated unit and integration tests, manual QA on physical devices across the current and previous major versions of iOS and Android, and accessibility checks against WCAG 2.2. You see progress every fortnight.
We handle App Store Connect and Google Play submission, including metadata, screenshots, and privacy questionnaires. After launch, your app moves to our App Care programme: OS update monitoring, crash triage via Crashlytics, and a dedicated Slack channel for critical issues.
Your app, your way. Here's how we make it happen
Fixed price agreed upfront, scoped against the actual Flutter widget tree we'll build, not a hand-wavy estimate. You'll see working builds via Codemagic CI/CD or Firebase App Distribution every two weeks, on real iOS and Android devices. No scope creep, no shock invoices.
From first build through to maintenance, we offer Flutter App Care retainers from £675/month. We track pub.dev package version updates, Impeller renderer compatibility on each new iOS and Android release, and Dart SDK migrations so your Flutter codebase stays buildable for years.
Real users test your Flutter app on both iOS and Android devices throughout development, not just at the end. Cross-platform user behaviour diverges in subtle ways: iOS users expect Cupertino patterns, Android users expect Material 3. Flutter lets you give them both from the same codebase, and we test that's actually working before launch, not after.
You know your business. We know how to build Flutter apps that succeed. Over 50 shipped apps tells us what works and what doesn't. That hard-won knowledge is yours to use.
We've built Flutter apps since Flutter 1.0 in 2018, and many of the more than 50 apps we've shipped for healthcare, legal, logistics and consumer businesses use it. The current Flutter stable release and Dart 3 are what we work in every day, and we track every release.
We publish Flutter packages on pub.dev. When Google's Flutter team discontinued flutter_markdown, it named our flutter_markdown_plus as its replacement on pub.dev, and we've maintained it since. The team building your app also fixes bugs in a package downloaded more than 200,000 times a week. We're based in Manchester with offices in London and Birmingham.

The app has genuinely changed how our advocates work in the field. Having real-time case updates and court hearing information at their fingertips has made an enormous difference to how efficiently they can manage their caseload.
“They’re more thoughtful than any other development team I’ve worked with..... I’m not sure what they could improve."
"The team has delivered exactly what we asked for but is able to use their own skill and judgment to make improvements"
"Foresight Mobile effectively and promptly met our needs. They were a candid, reliable, and collaborative partner."