Indie Release Notes #3
MudQuest: Address search, Location selector, Current location, Fly to location, Create party on the map.
This release took a long time to deliver because of the significant amount of coding I had to do, but a lot of things were accomplished:
✅ Map address search: Fully functional address search bar with Mapbox API. This feature allows users to start searching locations for the best meet-up locations;
✅ Select location on tap: This feature allows users to select an address by dropping a pin on the map;
✅ Create party at selected location: At any time a location is selected, the offroad party can be created.
✅ Offroad party markers: Offroad parties are now visible on the map;
✅ Create a party flow: 4 easy steps to create an offroad party:
Plan your party: Users can decide if the meet-up location is correct or change it if needed.
Description: Users can add a description to their parties, detailing the meet-up location, the place, and other details.
Add a picture: Users can upload a picture.
Party settings: Users can adjust the settings for the offroad party.
✅ Map general actions include flying to a location, geo-translation, geocoding, annotations, map padding, visual UX features, and responsive map design.
This release took almost a month to complete, involving 49 commits across 49 files, with 3,624 lines of code and about 110 hours of focused coding. Mapbox was the biggest challenge since it was entirely new to me. However, with the help of various resources, I managed to learn it in a month. The total development time so far is 3 months.
Map view
Map view is at the heart of the main features, including party search and party creation, with more to come in the future. In this release, it took most of my time to complete several challenging tasks.
Reverse and forward geocode searching
Users can search for addresses by using the search field at the top of the screen or by dropping a pin to select an exact location on the map. If the drop location doesn't have an address, MudQuest will use coordinates instead. Addresses are only for display purposes, meaning that some places might have a large physical object with multiple coordinates. The app will show the address if possible, but the chosen location will always be accurate to specific coordinates.
You can search for an address in two places: on the main map screen using the top search field and on the "Plan your party" screen. Both locations support geocoding and will display a marker on the map for visual feedback.
Location can also be selected by dropping a pin on the map at any time. The reverse geocoding will convert coordinates to an address if possible, or it will just use the coordinates if the address is missing.
By combining these two methods—address search and dropping a pin—users can easily find parties or create new ones anywhere they want, quickly. The system is designed so that all search tools are synchronized, meaning changing one will update all the others.
The map will continue to improve with future updates, including features like clustering, debounce fetches, and spatial querying, which will be part of another release. I also plan to replace the custom search with the default Material Design 3 search field.
Mapbox responsive design
One of the biggest challenges was making the map responsive and ensuring it works consistently across all the devices that Flutter supports. I added the Mapbox logo, user location, create-party FABs, and slider with dynamic padding adjustments, aiming to minimize re-renders as much as possible.
Marker designs
I am still not completely satisfied with the party annotation icon I am currently using. My plan was to style the app at the very end, but I still took some time to explore possible icon options. I needed something that represents rugged off-road terrain with a group of people or a group of vehicles on it. I don't think I've found the right one yet, but here are some icon designs I've tried so far:
Plan your party flow
I decided to include party creation in the release because it logically connects with the map functions. The map alone doesn't offer much value to the end user. I already had a basic party creation form that worked but wasn't optimized. So, I changed the user experience from a single page with all fields to a series of more manageable steps.
Plan your party: Location and time step: Here, users can choose the meet-up location, set the start date and time, and specify the duration.
Add description: Description step with tags. The tags are currently hardcoded but will be replaced with a fully functional tag search, which will later be shown in the party list view.
Upload image: Currently, only one main image is allowed, but I plan to extend this to four images. This will be a separate task since it requires some back-end work for resizing the images.
Party settings: Difficulty, travel distance, and party size are set here. This screen will be expanded in the future to include more party settings.
Marketing
Have a simple marketing campaign with Reddit and Facebook Ads. I was pretty happy with the results I got however, I definitely need to go out to the niche meet-ups. I was so busy with coding that I totally missed the day :). Next time, I will make sure I won’t miss it. Here are some results of running the ads.
11418 Impressions;
50 clicks;
2 signups;
-$25;
~ 10$ per lead for an app that is not yet available I find this pretty good;
What Next?
I need to take smaller, incremental steps; 49-file PRs are too large. So, I will be careful with the next release and will include only the following two items:
Party-list view
Show party on tap
MudQuest offroad real-time finder
MudQuest is an innovative offroad adventure app currently in development, designed to connect offroad enthusiasts and facilitate group adventures.
Key Features:
Offroad Party Finder: Connect with active offroad groups or create your own, simplifying the process of finding and exploring trails with others in real time.
Heat Map: View the general areas where offroaders are currently active, with options to share your location publicly or keep it private.
Social Tracker: Earn points by participating in activities, completing tasks, and engaging with the community, with all actions recorded on your profile.
Offroad Feed: Share photos, ask questions, and connect with local offroaders about trails and available parties through a location-specific social feed.
Copilot: Navigate trails with real-time updates on active members, locations, and shared destinations, featuring live chat and voice messages that function without internet access.
MudQuest is actively seeking support and feedback from the offroad community. Interested individuals can subscribe for updates on their website.
Please visit https://www.mud-quest.com/ to learn more or sign up below.