Finding a spot to dock your boat hasn’t changed much in decades. You reach out to a marina or a private dock owner, cross your fingers someone replies, and hope you can secure a space. But that’s just the beginning. Managing logistics, communication, and payments—whether you’re staying put for the season or moving to a new spot—can quickly become stressful and time-consuming for both boaters and dock owners.
At the same time, dock space is getting harder to come by. New marinas face tough zoning laws and space constraints, while private docks at homes, hotels, and restaurants often sit unused.
Enter PierShare
We view PierShare as the "Airbnb for boat slips," helping thousands of boat and dock owners connect, primarily through our web platform and cross-platform mobile app.
As we expand upon our mission to create a real-time, global network of dock spaces—where boats can seamlessly move between locations for any length of stay—we knew our technology needed an upgrade.
We want our platform accessible everywhere: boaters on-the-go using phones, and marinas with dedicated desktops or tablets. With FlutterFlow, we can quickly deliver new features across mobile and web – ensuring faster performance, real-time updates, and a smooth user experience.
Scaling with Development Environments
PierShare is a complex app that serves a wide range of stakeholders—vessel owners, captains, crews, yacht management companies, private dock owners, and more. As we grow, it’s super important to create great user experiences and make sure we’re meeting the needs of each group by testing our ideas.
But rolling out new features for beta testers isn’t exactly easy. We need to deploy features in a way that’s simple for testers to access, while also keeping their activity separate from production users to avoid any disruptions.
If you’ve ever built or tested an app, you know the hoops you have to jump through—like dealing with TestFlight approvals or other annoying administrative steps just to get the app in testers’ hands. For developers, managing test environments in code can be tricky because it adds complexity to both the app’s logic and release process. And if you’re using a legacy low-code platform, testing gets even harder—especially when it comes to running the app on physical devices where real feedback matters most.
FlutterFlow Development Environments offer a flexible solution for building, testing, and deploying new features. With support for creating multiple environments, defining variables unique to each, connecting to different Firebase projects, and deploying to separate URLs or app packages, they simplify the process. This makes it easy to provide testers with access to isolated features without introducing unnecessary complexity or overhead.
How PierShare Uses Development Environments
Piershare has two distinct groups of testers:
- Friends and family that test and provide feedback on new features we’re working on
- Real-life boat owners who want to test the app to consider if they should dock their boats in real-life
So, we created three different environments within FlutterFlow - one for each group above, and the product environment that is the default on all FlutterFlow projects.
Keeping Separate Firebase Environments
The key here is ensuring both testers and production users can use the app without impacting each other. For example, if a friend tests booking a dock, it shouldn’t reserve that dock for actual customers in production.
To achieve this, we set up separate Firebase projects, each with its own isolated Firestore database. This ensures that any actions taken by testers are routed to the test Firebase project, keeping production data untouched and customer interactions uninterrupted.
In FlutterFlow, development environments make it super easy to connect to different Firebase projects - you simply select the Firebase Project for each environment.
Surfacing Features in Specific Environments
The next important piece is surfacing different views to these testers - real-life boat owners want to test specific functionality like adding the details of their boat, while friends and family want to bypass some of the logistical pieces to get right over to the features that need testing.
This is where having access to environment variables comes into play. In FlutterFlow, I can check to see what environment is being used, and choose to bypass or display certain parts of the app. So, when a boat-owner comes in to test the app, we prompt them to add their boat details immediately so that we can show dock spaces that fit his/her particular boat. When a family or friend tester comes in, we show all of the dock spaces by default, and then ask them to pick a boat from the boat catalog instead.
Deploying with Different Environments
Finally, we need to deploy the app to make it accessible for each group of users - production users, family and friend testers and marine professionals demoing the app.
Recently, FlutterFlow launched the ability to modify web deployment, mobile deployment and app package settings for each environment. This means in just one click, we can make the PierShare app - with specific features and backend connections - accessible within an isolated environment.
On web, we can simply deploy to a different URL. On iOS, changing the package and the mobile deployment settings allow us to publish the demo and test app as an unlisted app on the app store. For Android, we can still deploy as a separate package and even specify the track. For testers and demo-ers, we can use the “Closed Testing” track and add their account information to the Play Store.
Altogether, this architecture gives us the benefit of setting up a robust testing pipeline, without the traditional overhead for both the users and developers.
The Future of PierShare
FlutterFlow empowers us to push the boundaries of what's possible in maritime technology, enabling us to develop solutions that didn’t exist until now.
For PierShare, this infrastructure allows us to not only dream big but also deliver innovative answers to pivotal questions like: What if boaters could instantly access real-time intelligence on available dock spaces tailored to their vessel's unique specifications—such as length, beam, draft, bridge clearance, and power requirements—within a specific range of their location?
This is just one of many challenges we’re tackling head-on, as we aim to transform the maritime industry through cutting-edge technology. With FlutterFlow and Firebase as our trusted partners, we’re confident we have the momentum to achieve our ultimate goal: making the world’s waterways more accessible and inclusive, and in doing so, democratizing maritime transportation for all.
Ready to explore what PierShare has to offer? Visit us at piershare.com!