Welcome to My Project Page
I'm excited to share a project I’ve been working on: an anonymous chat app built with React Native for iOS and Android, designed for secure, simple, and engaging messaging. Users sign up with just a name, receive a shareable number to connect with friends, and a private number for account recovery. The app features real-time text and image chats, push notifications, and a moderation system to remove inappropriate users (e.g., auto-bans for spamming). As a solo developer, this project has been an intense journey of coding and problem-solving, with a goal to deliver a working MVP in 8 weeks, documented through weekly blog posts.
Why I'm Doing This
- Real-World Coding Challenge: Developing a chat app from scratch tests my React Native and backend skills, from real-time messaging to GDPR compliance. Each challenge I overcome strengthens my expertise.
- Showcasing My Work: My blog posts document my process, offering transparency for potential employers, peers, or my own reflection, demonstrating how I build and iterate.
- Exploring Blockchain: I’m laying the foundation for Solana smart contracts to handle moderation (e.g., on-chain bans), a post-MVP goal to integrate cutting-edge tech.
- Tight Timeline: I aim to launch a polished MVP by May 31, 2025, with core features like text, images, notifications, and moderation, thriving under the pressure of an 8-week sprint.
What I've Tried So Far
- Kicking Off with Expo and Node.js:
- Set up React Native with Expo for rapid iOS/Android development, ideal for solo work.
- Deployed a Node.js + Express server on Heroku’s free tier, connected to MongoDB Atlas for user and message storage.
- Blogged about it: “Why Expo is my go-to and how I got MongoDB running in a day.”
- Nailing the Signup Flow:
- Created a signup screen where users enter a name and receive a 6-digit shareable number (e.g., 123456) for contacts and a private UUID for recovery.
- Used react-native-uuid for the private number, hashed with bcrypt for security.
- Captured IPs via request headers for moderation, resolving Heroku logging issues.
- Shared a code snippet in my Week 1 post: “How I generated unique numbers for anon chat.”
- Contact System Done:
- Built a “chat list” screen and “add contact” feature, where users input a shareable number to connect.
- MongoDB stores contact relationships, with React Navigation for smooth screen transitions.
- Blogged about schema design: “Keeping MongoDB lean for contacts.”
- Real-Time Messaging (In Progress):
- Integrating Socket.IO for instant text chats, using React Native Gifted Chat for the UI.
- Debugging WebSocket connection drops, nearly resolved.
- Testing on emulators to ensure seamless message delivery.
Where Things Stand
- Core Features Live: Signup and contact adding are functional. Users can register, receive numbers, and connect with friends. Account recovery is robust.
- Messaging Almost There: Real-time text chats are halfway done, with Socket.IO and Gifted Chat in place, addressing an Android lag issue.
- Data Ready: MongoDB stores users ({ name, shareableNumber, privateNumber, ipAddress }), contacts, and messages, with IPs logged for bans.
- Blogging on Track: Two posts published (Week 1: Setup, Week 2: Contacts), with Week 3 drafting on Socket.IO progress.
What's Next
- Finish Text Messaging: Complete Socket.IO and Gifted Chat in Week 3 for seamless chats.
- Add Image Sharing: Integrate Cloudinary and Image Picker in Week 4 for photo sharing.
- Push Notifications: Implement Firebase FCM in Week 5 for message alerts.
- Moderation and Compliance: Add server-side bans in Week 6 for spammers and a GDPR/CCPA consent popup, drafting a privacy policy in Week 7.
- Polish and Launch: Fix bugs, refine UI, and submit to App Store/Google Play by Week 8 (May 31, 2025).
- Blog Weekly: Share updates with code snippets and lessons (e.g., “How I debugged Firebase notifications”).
- Post-MVP Goals: Explore Solana smart contracts for on-chain moderation and IP-based bans (with legal review).
Future Plans
- Smarter Moderation: Test Solana Testnet contracts for transparent, decentralized bans.
- Enhanced UX: Add animations or custom UI post-MVP for a polished feel.
- Scalability: Move from Heroku to AWS if user base exceeds 500.
- Legal Compliance: Consult a lawyer for GDPR/CCPA adherence, especially for IP bans.
- Blog Finale: Write “How I Built AnonChat in 8 Weeks,” linking to the live app and blockchain plans.
Relevant Links
I'm excited to build a project that combines real-time technology, privacy, and blockchain potential. This app is my chance to demonstrate my ability to deliver under pressure while sharing my journey. Thank you for visiting!
For more details, code samples, and weekly updates, check my blog or connect on LinkedIn
!