Social Platform for Celestial Observers

14 Nov 2023 Oleksii Svitlychnyi

In this project, we tackled a complex technical challenge of determining the location of a celestial event based on data captured from user devices that are recording this phenomenon. Imagine a community of celestial observers, a group deeply engrossed in the mysteries above us – from meteor showers to atmospheric phenomena that defy scientific explanation. Their passion? To capture and share these moments, but with a twist.
This community faced a unique challenge. While any app allows for recording and sharing, they needed a way to pinpoint the exact location of a distant atmospheric event while capturing it on their smartphones. It’s not just about recording a meteor shower; it’s about understanding where it happened in the sky, giving depth and context to each capture. This requirement, while specific to their niche, is pivotal to their discussions and curiosity.
So, how does one cater to such specialized needs while also providing the foundational tools of any social network? Our solution was to blend the general with the specific. Users, upon witnessing an event, could instantly record it via the app. As they marveled at the sky’s spectacle, the app quietly collected data – time, device orientation, and crucial geolocation specifics. This data then powered an automatic calculation of the event’s coordinates, enriching the recording with contextual depth.


While this feature addresses the community’s unique requirement, the platform doesn’t forget the essentials: fostering discussions, sharing experiences, and community bonding. Dive into our project, crafted precisely for this unique community.

Core Functionality: Capturing and Sharing

At the heart of this niche social platform is a distinctive feature: the ability for users to capture notable moments in a specific context and then share them within their community. It’s not about merely recording a video; it’s about creating comprehensive documentation of an event.
When users stumble upon something worth sharing, they naturally want to record it. While video remains the primary medium, our platform delves deeper by integrating with the device’s sensors. As users record, the app doesn’t just capture the visual; it diligently collects data like the exact time, the device’s orientation, and crucial geolocation metrics. These metrics, especially geolocation, play a pivotal role in providing context and enhancing the data’s richness for our community. For instance, recording a meteor shower isn’t just about the visuals but understanding when, where, and under what conditions it was captured.

This leads us to one of our platform’s standout features: triangulation. For those unfamiliar, triangulation is a technique used to determine the location of a specific point by measuring angles from known points.
In our platform’s context, it’s not just about pinpointing the user’s location, but rather focusing on deducing the event’s origin or trajectory. Imagine two users, situated miles apart, capturing the same meteor shower on their devices. As they record, their devices also log specific data, such as the exact time, orientation, crucial geolocation, and importantly, the device’s angle of inclination relative to the horizon. With these data points in hand and using the principle of triangulation, the platform processes the angles of observation relative to the meteor event. This analysis allows it to estimate the meteor shower’s trajectory or even its point of entry into the atmosphere, offering viewers not just a visual but an enriched, data-driven context to the spectacle.
By seamlessly merging the technical expertise of our team with an intuitive user experience, we’ve ensured that every user, irrespective of their tech proficiency, can leverage the platform’s capabilities to the fullest.

The Architecture of Our Niche Social Platform

Every robust application stands on the foundation of a well-thought-out architecture, which serves as the linchpin for functionality, adaptability, resilience, and scalability. Let’s peel back the layers of our platform’s architecture, examining everything from the mobile interface to the formidable backend powered by Firebase.

Mobile Interface

The platform’s frontline is the mobile interface. Given the nature of our application, immediate and responsive interaction is crucial. To achieve this, we developed native applications using Kotlin for Android and Swift for iOS, ensuring that users can efficiently capture and share moments without performance hiccups.

Backend Components with Firebase

Firebase, a versatile development platform from Google, offers a suite of tools designed to streamline both mobile and web application creation. Let’s delve into the specific components we’ve harnessed and the purposes they serve in our platform.

User Authentication: Firebase Authentication provides a robust and secure mechanism for user sign-up and login. With support for multiple sign-in methods, we could cater to a broader audience and ensure data security.

Firebase Cloud Storage: This is where our media files, be it images, videos, or audio, find their home. Firebase Cloud Storage excels in managing and transferring these files efficiently. It boasts seamless file uploads and downloads, structured references to files, and error management. This ensures our users can quickly share or view content without hiccups.

Cloud Firestore: As a flexible and scalable NoSQL database, Cloud Firestore is instrumental in our architecture. It provides real-time data syncing across client apps and offers offline support, ensuring our app remains responsive even in fluctuating network conditions. Notably, it’s the cornerstone for storing all app data, excluding media files. Its integration with other Firebase and Google Cloud products, such as Cloud Functions, further amplifies its utility in our platform.

Cloud Functions for Firebase: Instead of using traditional server setups, Cloud Functions for Firebase operates by listening to changes in our Cloud Firestore database. When specific changes or events occur, it springs into action, executing predefined operations on the data. When a new event object, filled with data from device sensors during video recording, lands in Cloud Firestore, Cloud Functions for Firebase retrieves the required data for the triangulation process. Following this, it calculates the coordinates of the phenomenon or object captured in the video, rather than the user’s location. This enriched information is then added to the event object. Consequently, on the client side, users can view the precise coordinates of the phenomenon or object captured in the event’s video.

Crafting Social Interactions

The app’s distinctive edge lies in its unique blend of features, tailored for a community passionate about capturing and sharing exceptional moments.

The chat functionality in the app, which we implemented using the PubNub SDK, offers more than just instant messaging. PubNub stands out for its low-latency communication and robust infrastructure, ensuring users can chat smoothly even during high-traffic periods. Beyond individual chats, the platform empowers users to create or join groups, providing spaces for shared interests and discussions, be it around a specific event type or broader topics.

Following the initial plan set by the client, we integrated AdMob for advertisements. We’ve ensured these ads are non-intrusive and contextually relevant, striking a balance. This way, users enjoy an uninterrupted experience, while the platform gains a consistent revenue stream.

Preparing for an App Launch

Launching an app into the market requires meticulous attention to detail. High-resolution graphics, like an app icon and promotional screenshots, are essential for visibility. Descriptive elements, such as a catchy title and a detailed feature summary, give potential users a clear snapshot.

It’s crucial to have transparent user policies and specify app permissions—like camera access for video capturing. Before the full launch, a beta testing phase helps to refine the app, ensuring it operates smoothly across various devices and OS versions. Decisions on monetization, whether free, paid, or offering in-app purchases, shape the app’s market identity.

Additionally, catering to diverse user bases with localization and providing channels for feedback can elevate the user experience. Every step in this deployment journey reflects the depth of expertise and thoughtful planning invested in the project.

Ready to start the conversation?