<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: SundeepShrestha</title>
    <description>The latest articles on DEV Community by SundeepShrestha (@sundeepshrestha).</description>
    <link>https://dev.to/sundeepshrestha</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3810706%2F01392b35-8bb7-4825-a080-2c9ec8d2a1e9.png</url>
      <title>DEV Community: SundeepShrestha</title>
      <link>https://dev.to/sundeepshrestha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sundeepshrestha"/>
    <language>en</language>
    <item>
      <title>Week 5: Improving Session Persistence and Planning Cross-Platform Support</title>
      <dc:creator>SundeepShrestha</dc:creator>
      <pubDate>Sat, 07 Mar 2026 00:39:33 +0000</pubDate>
      <link>https://dev.to/guslift/week-5-improving-session-persistence-and-planning-cross-platform-support-9ei</link>
      <guid>https://dev.to/guslift/week-5-improving-session-persistence-and-planning-cross-platform-support-9ei</guid>
      <description>&lt;p&gt;Last week, we introduced GusLift and focused on building the authentication system that allows users to log in using their Google accounts. This week, we continued working on improving how user sessions are handled within the app and started planning how the application will support multiple platforms.&lt;/p&gt;

&lt;p&gt;Our main focus was improving session persistence and thinking about how the platform will eventually run across iOS, Android, and web environments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Improving User Session Management
&lt;/h2&gt;

&lt;p&gt;One challenge that often appears in mobile applications is how to handle user sessions after authentication. Ideally, users should not have to log in every time they open the app, but at the same time, sessions should not remain active indefinitely for security reasons.&lt;/p&gt;

&lt;p&gt;To address this, we implemented Async Storage to store user session data locally on the device.&lt;/p&gt;

&lt;p&gt;When a user successfully signs in using Google authentication, key information about the session is saved locally. This allows the application to recognize returning users and automatically keep them logged in.&lt;/p&gt;

&lt;p&gt;Currently, sessions are configured to remain active for approximately seven days before requiring the user to authenticate again.&lt;/p&gt;

&lt;p&gt;This approach improves usability while still maintaining a reasonable level of account security.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Async Storage Matters
&lt;/h2&gt;

&lt;p&gt;Async Storage allows the app to persist small pieces of information locally on a user’s device.&lt;/p&gt;

&lt;p&gt;In the case of GusLift, it is used to store session-related information so that users can continue using the app without repeatedly signing in.&lt;/p&gt;

&lt;p&gt;Without this feature, every time a user closed and reopened the application, they would need to authenticate again, which would make the experience frustrating.&lt;/p&gt;

&lt;p&gt;By storing session data locally, the app can restore the user's session quickly when the application launches.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frymjuxmshebgb9ax9pkt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frymjuxmshebgb9ax9pkt.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Planning Cross-Platform Support
&lt;/h2&gt;

&lt;p&gt;Another goal for the GusLift project is ensuring that the application can run across multiple platforms.&lt;/p&gt;

&lt;p&gt;Since the project is being built using React Native with Expo, we have the flexibility to target several environments with a single codebase.&lt;/p&gt;

&lt;p&gt;Our long-term objective is to support:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;iOS devices&lt;/li&gt;
&lt;li&gt;Android devices&lt;/li&gt;
&lt;li&gt;Web browsers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Supporting multiple platforms increases accessibility and allows users to interact with the platform in whichever way is most convenient.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Cross-Platform Development Matters
&lt;/h2&gt;

&lt;p&gt;Building separate applications for each platform can significantly increase development time and maintenance complexity.&lt;/p&gt;

&lt;p&gt;Using React Native allows the team to reuse much of the same codebase across different environments, which simplifies development and makes future updates easier to manage.&lt;/p&gt;

&lt;p&gt;This approach also allows us to test features more quickly as the project continues to evolve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;p&gt;With authentication and session persistence in place, the next stage of development will focus on building the core functionality of the platform.&lt;/p&gt;

&lt;p&gt;Some of the next milestones include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designing the ride request workflow&lt;/li&gt;
&lt;li&gt;Implementing driver availability&lt;/li&gt;
&lt;li&gt;Building the ride matching logic&lt;/li&gt;
&lt;li&gt;Improving the user interface&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As the project progresses, we will continue documenting the development process and technical decisions in these weekly updates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The improvements made this week help create a smoother user experience by allowing users to remain logged in while also preparing the application for broader platform support.&lt;/p&gt;

&lt;p&gt;Although the project is still in the early stages, these foundational components will make it easier to build the core ride-sharing functionality in the coming weeks.&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>mobile</category>
      <category>security</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Week 4: Understanding what GusLift Is</title>
      <dc:creator>SundeepShrestha</dc:creator>
      <pubDate>Sat, 07 Mar 2026 00:09:31 +0000</pubDate>
      <link>https://dev.to/guslift/week-4-understanding-what-guslift-is-79d</link>
      <guid>https://dev.to/guslift/week-4-understanding-what-guslift-is-79d</guid>
      <description>&lt;p&gt;Many students at Universities or Colleges rely on friends, rideshare services, or campus transportation to get around. While services like Uber and Lyft exist, they are not always practical for short trips around campus or nearby areas.&lt;/p&gt;

&lt;p&gt;For example, a student might need a ride from their dorm to an academic building, a nearby apartment, or a grocery store. In situations like this, requesting a full rideshare service often feels unnecessary or expensive.&lt;/p&gt;

&lt;p&gt;GusLift started as an idea to solve this problem by creating a campus-focused ride-sharing platform designed &lt;strong&gt;specifically for students.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The goal is simple: &lt;strong&gt;Make it easier&lt;/strong&gt; for students to connect with others who are already driving somewhere nearby, while keeping the platform limited to trusted users within the college community.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Idea Behind GusLift
&lt;/h2&gt;

&lt;p&gt;Unlike traditional ride-sharing apps that are open to anyone, GusLift is designed to be restricted to verified users from the campus community.&lt;/p&gt;

&lt;p&gt;This approach helps create a safer and more trusted environment where students know they are interacting with other members of their school community.&lt;/p&gt;

&lt;p&gt;Instead of requesting rides from strangers, users can connect with other students who are already heading in the same direction.&lt;/p&gt;

&lt;p&gt;The long-term goal is to create a small, efficient transportation network within the campus ecosystem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5amc3yluehkszq6pj6uz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5amc3yluehkszq6pj6uz.png" alt=" " width="384" height="587"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7c7byz01mef2znevgwde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7c7byz01mef2znevgwde.png" alt="Early concept for the GusLift interface." width="371" height="675"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Early concept for the GusLift interface.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What We Built So Far
&lt;/h2&gt;

&lt;p&gt;This week, we focused on setting up the authentication system for the application.&lt;/p&gt;

&lt;p&gt;Authentication is an important part of GusLift because the platform needs to ensure that only approved users can access the app.&lt;/p&gt;

&lt;p&gt;To accomplish this, we implemented Google Sign-In.&lt;/p&gt;

&lt;p&gt;This allows users to log into the application using their Google accounts instead of creating new usernames and passwords. Using Google authentication simplifies the login process while also providing a reliable identity verification system.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7h6ss8hec47zbteurqyi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7h6ss8hec47zbteurqyi.png" alt=" " width="800" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9sa31hlbl9l5y3fukve4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9sa31hlbl9l5y3fukve4.png" alt="Google authentication is used to verify users during login." width="800" height="179"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Google authentication is used to verify users during login.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Keeping Users Logged In
&lt;/h2&gt;

&lt;p&gt;After implementing login functionality, the next step was making sure users do not have to sign in every time they open the app.&lt;/p&gt;

&lt;p&gt;To solve this, we implemented Async Storage, which allows the application to store small pieces of data directly on the user's device.&lt;/p&gt;

&lt;p&gt;Once a user logs in successfully, their session information is saved locally. This allows the app to recognize returning users and automatically keep them signed in.&lt;/p&gt;

&lt;p&gt;Currently, user sessions are stored for seven days, after which the user will be asked to authenticate again.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;await AsyncStorage.setItem(&lt;br&gt;
        "@user",&lt;br&gt;
        JSON.stringify({ ...data, savedAt: Date.now() })&lt;br&gt;
      );&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This approach improves usability while still maintaining basic security.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technologies Used
&lt;/h2&gt;

&lt;p&gt;The current version of GusLift is being built using the following tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React Native (Expo) for cross-platform mobile development&lt;/li&gt;
&lt;li&gt;Google Authentication for user login &lt;/li&gt;
&lt;li&gt;Async Storage for storing session information locally&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These tools allow us to rapidly prototype features while maintaining flexibility for future expansion.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Comes Next
&lt;/h2&gt;

&lt;p&gt;In the coming weeks, we plan to continue expanding the foundation of the app.&lt;/p&gt;

&lt;p&gt;Some of the next steps include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improving how user sessions are handled within the application&lt;/li&gt;
&lt;li&gt;Expanding support across multiple platforms&lt;/li&gt;
&lt;li&gt;Beginning development of the core ride-sharing functionality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the long-term goals for the project is to make GusLift available across iOS, Android, and web platforms, allowing users to access the system from different devices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;GusLift is still in the early stages of development, but the core authentication system now provides a starting point for building the rest of the platform.&lt;/p&gt;

&lt;p&gt;As development continues, the focus will shift toward building the features that actually enable users to request and offer rides.&lt;/p&gt;

&lt;p&gt;Future posts will document the progress of the project as we continue building and testing new components of the system.&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>sideprojects</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
