Spotlight is a modern mobile app built using React Native with Expo, designed to let users share, comment, and bookmark posts. It combines a smooth user experience with real-time updates, secure authentication, and a clean visual style. (aka an instagram clone)
This project is where I learned how to apply my React skills in a mobile environmentβbuilding everything from UI components to backend integration.
- React Native (Expo) β For building the mobile UI
- Clerk β For user authentication and session management
- Convex β As the real-time backend and database
- π User Auth β Sign up, sign in, and session management with Clerk
- πΌοΈ Post β Upload and view image-based posts
- π¬ Comment β Engage with content through a comment system
- π Bookmark β Save posts for later viewing
- π Share β Ability to share posts
- π Timestamps β Human-readable time (e.g. β2 hours agoβ)
- π± Responsive Design β Optimized for mobile UX
- πΎ Local caching β Via
expo-image
for faster image loading - π§Ό Safe Area Layouts β With
react-native-safe-area-context
- π¨ Custom Fonts β Clean aesthetic with JetBrains Mono
I built Spotlight as a self-learning project to dive into mobile app development using React Native. Through this app, I learned:
- How to structure and style mobile UIs
- How to manage authenticated users with Clerk
- How to store and retrieve data in real time using Convex
- How to design mobile-friendly interaction flows like bookmarking and commenting
-
Clone the repo
git clone https://github.com/your-username/spotlight-app.git cd spotlight-app
-
Install dependencies
npm install
-
Set up environment Create a
.env
file with your Clerk and Convex project credentials. -
Start the app
npx expo