GSoC organizations for Android and Flutter build end-user software in health, education, communication, finance, science and community infrastructure. Mobile projects combine application code with device behavior, backend contracts, accessibility, offline state and release constraints.
Our September 3, 2026 union finds 31 matching profiles among 183 live organizations, or 16.9 percent. It combines Android, Flutter, Dart and Kotlin profile tags. The result supports discovery, not a claim that 31 current projects are mobile.
GSoC organizations for Android use a four-tag union
The method lowercases exact accumulated profile tags and unions android, flutter, dart and kotlin. It selects organizations live in 2026 after two known withdrawals.
31 of 183
Live 2026 profiles matching the Android and Flutter technology union
Matching profiles have a median of 10 appearances across the 11-year covered window. This suggests deep program archives for many profiles, not continuous use of each mobile technology.
The union overlaps native and cross-platform ecosystems. Report the aliases so readers can reproduce or narrow it.
Separate native Android and Flutter work
Native Android projects may use Kotlin, Java, Jetpack libraries, Gradle and platform APIs. Flutter projects use Dart and a cross-platform rendering and plugin ecosystem.
A community can maintain both or be migrating between them. Determine whether the idea changes shared business logic, platform integrations, UI, build tooling or backend services.
Choose based on the current artifact, not a generic mobile label. Use Android and Flutter filters to discover candidates.
Verify the current app and ownership
Open the official profile, idea page, app repository and any linked backend. Record maintained platforms, primary language, architecture, release status and relevant module.
An umbrella tag can describe an old client or separate subproject. Check recent commits, store links and issue ownership. Confirm the project has a current mentor and review path.
Use the ideas-page audit to trace outcomes and dependencies.
Build a platform matrix
A platform matrix prevents “mobile” from becoming an undefined compatibility promise.
| Field | Questions |
|---|---|
| Operating systems | Which Android versions, iOS versions or desktop targets? |
| Devices | Phone, tablet, foldable, low-memory or sensor hardware? |
| Architecture | Native modules, Flutter plugins or shared backend? |
| Distribution | Store, direct package, managed deployment or development only? |
| Tests | JVM, widget, emulator, device lab or manual accessibility? |
Mark the minimum core matrix and optional coverage. Do not promise every platform without build and review access.
Reproduce the build from clean state
Use documented JDK, Android SDK, Flutter and dependency versions. Run repository wrappers and avoid global version assumptions.
Record build variant, environment variables, emulator image, native toolchains and generated files. Never publish signing keys, service credentials or private configuration.
Measure clean build, incremental build and focused-test time. Mobile dependency and asset downloads can make setup a real project cost.
Create a device and cost budget
List behaviors that work on an emulator and those that require physical hardware. Sensors, Bluetooth, cameras, background limits and performance can differ.
Record devices you can access, operating versions, storage and network conditions. Ask whether the project provides a lab or remote path. Set a spending ceiling before buying hardware or cloud device time.
A missing mandatory device is a hard gate. A supported emulator is a valid baseline when maintainers agree.
Trace state across offline and online paths
Mobile users lose connectivity, repeat actions and resume applications after process death. Trace one feature through local state, network request, persistence, retry and conflict handling.
Identify the source of truth and idempotency key. Test airplane mode, slow response, duplicate action and stale cache when relevant.
A visually correct screen can still corrupt data. Include state and recovery outcomes in the project scope.
Map backend and API dependencies
Many mobile ideas depend on server schemas, authentication, notifications or file storage. Record the owning team, versioning policy, test environment and fallback.
Check whether the API change can land independently. Use fixtures or contract tests so client work remains reviewable when a backend is delayed.
Do not embed production endpoints or tokens in examples. Follow the repository's environment and secret handling.
Test accessibility as functional behavior
Accessibility belongs in acceptance criteria. Check semantic labels, focus order, keyboard or switch access, text scaling, contrast, touch targets and motion settings.
Run the platform's automated checks and perform focused assistive-technology testing. Record device, version and scenario. Screenshots alone cannot prove focus or announcements.
Include accessibility in each UI milestone rather than postponing it to final polish.
Inspect internationalization and layout resilience
Text length, scripts, right-to-left layout and locale formats can expose assumptions. Check the project's supported locales and translation workflow.
Test long strings, large text, empty states and narrow screens. Avoid hardcoded display text and locale-sensitive parsing. Do not promise translation into languages you cannot review.
Use pseudo-localization or existing fixtures when provided. Treat translation updates as community-owned content with their own review path.
Evaluate performance on constrained devices
Mobile performance includes startup, frame stability, memory, battery, network and package size. Choose measures tied to the proposed change.
Record device class, build mode, repetitions and baseline. Debug builds can misrepresent release performance. Keep correctness constant when comparing.
Do not advertise one emulator result as universal. A useful benchmark states its environment and limitation.
Understand privacy and permission boundaries
Mobile apps can access sensitive sensors, identifiers and user content. Identify every permission and data flow affected by the idea.
Request the minimum permission, explain the user benefit and handle denial. Avoid collecting data merely for analytics. Check retention, logging and deletion practices.
Security and privacy changes require maintainer review early. Never test with another person's private data.
Map the mobile test stack
Separate unit, widget or view, integration, emulator and physical-device tests. Map every outcome to the smallest reliable layer.
Check screenshot-test stability, asynchronous waiting, accessibility assertions and CI device availability. Schedule broader matrix tests at milestones because they may be slower.
A proposal should include test fixtures and cleanup, not only feature screens.
Use a mobile readiness scorecard
Rate app comprehension, platform fit, clean build, device access, offline reasoning, accessibility, test access and mentor coverage from 0 to 5.
Treat signing secrets, mandatory devices and private backend access as hard gates. Attach evidence and confidence to every rating.
The organization comparison guide supplies weighting and uncertainty testing.
Avoid misleading mobile shortlists
Do not call every matching profile a current Android or Flutter organization. Do not treat app-store presence as mentor capacity. Do not rank by all-language project totals. Do not assume UI work is easier than infrastructure.
Google's Choosing an Organization guide directs applicants to match interests and abilities with real ideas, then learn through community interaction. Verify each factor at project level.
Run a 12-hour mobile evidence sprint
Spend two hours verifying ownership, three on clean build, two mapping state and APIs, two running tests, one auditing accessibility and privacy, and two documenting risks.
Produce a platform matrix, device budget, state diagram, command log and focused question. Stop when mandatory hardware or private access has no supported route. Continue when core behavior can be reproduced locally.
GSoC organizations for Android and Flutter offer visible user impact, but mobile feasibility lives below the screen. Use the 31-profile union to discover options, then verify platform, state, devices, accessibility and review ownership.
Inspect background-work constraints
Mobile operating systems restrict background execution, network activity and battery use. Trace whether the idea uses jobs, services, notifications or background isolates.
Test process termination, delayed execution and device restart under supported platform versions. Do not rely on a permanently running development process as evidence.
Record user controls and failure communication. Background work that silently consumes data or battery can harm the people the feature intends to help.
Verify deep links and navigation state
External links, notifications and restored tasks can enter the application away from its home screen. Map the navigation state required for one target route.
Test cold start, warm start, unauthenticated state, invalid parameters and expired content. Confirm that back navigation remains predictable.
For Flutter, include platform routing and plugin behavior. For native Android, inspect intent filters and task configuration under local conventions.
Audit dependency and plugin maintenance
Mobile projects can depend on plugins that wrap rapidly changing platform APIs. Record maintainer activity, supported platform versions, licenses and fallback options.
Do not add a plugin only to reduce a few lines of code. Compare binary size, transitive dependencies and whether the required capability already exists in the project.
Run the repository's dependency and security checks. Plan upgrades separately from feature work when they create broad unrelated changes.
Review release and migration responsibility
Determine whether the project includes store release, beta distribution, data migration or only merge-ready code. Those outcomes require different access and timelines.
Check versioning, release notes, backward compatibility and staged rollout practices. A schema or local-storage change needs upgrade and rollback tests.
Never assume a contributor will receive production signing or store credentials. Design deliverables that maintainers can release through existing controls.
Preserve a user-scenario ledger
Write scenarios as user, starting state, action, observable outcome and recovery. Include offline, permission denied, large text, interrupted action and outdated client cases where relevant.
Map each scenario to a test layer and milestone. The ledger prevents a UI checklist from ignoring state and accessibility.
Update it after review and user feedback. Keep scenarios representative without storing real people's private data.
Review the ledger on the slowest supported device and smallest screen you can legitimately test. Record unavailable coverage rather than treating one modern phone as the full platform matrix. This final constraint check often reveals performance, layout and offline assumptions that desktop development misses.