Joshua Bliss - Built DesertTrails Using the MERN Stack

How Joshua Bliss Built DesertTrails Using the MERN Stack

Joshua Bliss, a Junior Software Developer based in Phoenix, Arizona, took his passion for hiking and turned it into a fully functional web application called DesertTrails. Frustrated by the lack of accurate, community-driven trail information for Arizona’s hikers, Joshua decided to build a platform where local outdoor enthusiasts could rate, review, and log their hikes.

What started as a weekend idea quickly turned into a full-stack project that showcased both his technical skills and his problem-solving mindset. For the development of DesertTrails, Joshua chose the MERN stack—a powerful combination of MongoDB, Express.js, React, and Node.js—which allowed him to manage both the front and back ends of the application using JavaScript.

Laying the Groundwork: Planning and Scope

Before writing a single line of code, Joshua outlined the app’s core features. He wanted users to:

  • Create accounts and log in securely

  • Post trail reviews with difficulty ratings and photos

  • Search and filter trails by location, difficulty, and user rating

  • Save favourite trails for future hikes

To manage this, Joshua broke the project into manageable parts—authentication, routing, frontend display, and backend integration. He used tools like Trello and GitHub Projects to manage sprints, ensuring steady progress even while working solo.

Backend Development: Node.js, Express, and MongoDB

Joshua began with the backend, setting up a Node.js environment and using Express.js to handle API requests and routing. He structured the application using RESTful principles and created endpoints for user registration, login, trail data, and reviews.

For the database, he chose MongoDB for its flexibility with JSON-like documents and ease of integration with Node. Using Mongoose, Joshua created schemas for users, trails, and reviews, enabling powerful querying and seamless relationship management between users and their contributions.

To protect user data, he implemented JWT (JSON Web Token) authentication and used bcrypt to hash passwords. This ensured that the app remained secure while allowing users to log in and interact with the platform.

Frontend Interface: Built with React

With the backend ready, Joshua shifted focus to building a dynamic and responsive frontend using React. His priority was user experience—he designed the interface to be simple and clean, allowing users to quickly view nearby trails, post reviews, and search for hikes by tags.

He used React Router for navigation between pages and Axios to handle HTTP requests to the backend API. State management was handled with React’s Context API, which kept global states—like user authentication and saved trails—easily accessible across components.

To make the app responsive, Joshua used Flexbox and CSS Grid, making sure it performed well on both desktops and mobile devices. He also added image upload functionality, allowing users to visually document the trails they loved.

Deployment and Hosting

Joshua deployed the frontend using Netlify and hosted the backend API on Render, with MongoDB Atlas handling cloud database services. He configured environment variables, tested CORS policies, and optimised request handling to ensure smooth performance.

The deployment process taught him valuable lessons in server configuration, continuous integration, and environment management. He also set up error logging and monitoring for ongoing improvements.

Lessons Learned During Development

Building DesertTrails gave Joshua real-world experience with the complete web development cycle—from database design to deployment. He learned how to:

  • Break complex problems into smaller, testable components

  • Debug asynchronous operations across the stack

  • Write cleaner, modular code for long-term maintenance

  • Use Git for version control and collaboration readiness

Joshua also realised the importance of user feedback. During beta testing with friends and fellow hikers, he gathered insights into usability and added features like review editing and dark mode.

Looking Ahead: What’s Next for DesertTrails?

The first version of DesertTrails is just the beginning. Joshua plans to add GPS integration, a mobile-friendly PWA version, and community features like hike challenges and leaderboards. He’s also exploring the use of WebSockets for real-time comment updates.

Long-term, he hopes DesertTrails will become a go-to hub for Arizona’s hiking community and a portfolio centerpiece that reflects his ability to solve real problems through code.

Final Thoughts

DesertTrails is more than a portfolio project—it’s a testament to Joshua Bliss’s ability to combine passion and technology. By using the MERN stack, he created an application that not only works well but delivers value to a real audience. From ideation to deployment, the project showcases his initiative, technical depth, and commitment to building meaningful tools.

For Joshua, DesertTrails represents what web development is all about: solving real problems, one line of code at a time.