Project start: ASAP, part-term
Project period: initially 2 months, but VERY good opportunity to get this to a long-term position
Required experience: 5+ years
Consulting fee:
30 EUR / hour (for part-time)
35 EUR / hour (for full-time)
Project overview
• Develop a cross-platform mobile app using .NET MAUI (iOS and Android).
• The app will communicate with the IoT devices via Bluetooth Low Energy (BLE).
• This is a proof of concept, but the code and architecture must support a possible transition to an MVP.
• The consultant is expected to take an advisory role, providing technical input along the way.
Technology and Architecture
• Use .NET MAUI with a shared codebase for both platforms.
• The UI must be implemented using XAML, following MVVM with Community Toolkit MVVM.
• Any platform-specific logic should be abstracted into separate services.
• Code should be written with general code hygiene and architectural clarity in mind, including:
• Modularity, testability, and clear separation of concerns
• Principles such as SOLID
• Consistent structure and naming for ease of handoff or future development
Functionality
• The app must be able to:
• Scan for and connect to BLE devices
• Discover GATT services and characteristics
• Write and read data (bytes, integers, floats, UTF-8 text)
• Receive data via Notify or Indicate
• BLE message parsing must be modular and extendable.
Test Server and Tools
• The consultant must set up a simple GATT server for testing, e.g. on Android or PC.
• BLE communication must be testable without access to physical IoT hardware.
Build and Distribution
• Set up a CI/CD pipeline using GitHub Actions:
• Build for both iOS and Android
• Support TestFlight (Apple) and Google Play (closed/internal testing tracks)
• Use secrets and signing keys
• Document how to add test users and manage build configuration
Testing and Quality
• Critical logic (BLE protocol handling, parsing, etc.) must be unit testable and partially covered by tests.
• Use NUnit for tests, which must be executed in the GitHub Actions pipeline.
• No UI tests are required at this stage.
Deliverables
• All source code, pipelines, test code, and documentation must be delivered in a GitHub repository under the client’s organization.
• Documentation must include:
• How to build and run the app locally on both Android and iOS
• How to set up and use the test GATT server
• How BLE communication works
• How the CI/CD pipeline is configured
Selection Criteria
• Relevant competence
• Availability
• Price (hourly rate)
Methodologies: Agile / Scrum
Level of English: Good; Talking, Reading, and Writing
Place of work: remote home office, for the client in Norway
Apply on: office@volito.digital