A hyperlocal anonymous community platform exclusively for Alaska residents.
- Anonymous by Default: All posts and comments are anonymous to encourage open discussion
- Alaska Residents Only: Verified by phone number (Alaska 907 area code preferred) and zip code
- Hyperlocal Communities: City-specific, industry-specific, and interest-based communities
- Minimal Moderation: Community-driven reporting with minimal censorship
- Modern UI: Clean, responsive design with Alaska-themed colors
- Real-time Engagement: Upvoting, downvoting, and threaded comments
- Anchorage - Alaska's largest city discussions
- Fairbanks - Golden Heart City community
- Juneau - Capital city and government discussions
- Oil & Gas - Energy industry discussions and job opportunities
- Fishing & Seafood - Commercial and sport fishing community
- Tourism & Hospitality - Alaska's tourism industry
- Outdoors Alaska - Hiking, hunting, camping, and adventures
- General Alaska - Statewide discussions and topics
- Frontend: Next.js 14, React 18, TypeScript
- Styling: Tailwind CSS with custom Alaska theme
- Database: SQLite with Prisma ORM
- Authentication: Phone verification with SMS (Twilio)
- Icons: Lucide React
- Animations: Framer Motion
- Node.js 18+
- npm or yarn
-
Clone the repository
git clone <repository-url> cd Forty9-App
-
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
-
Set up the database
npx prisma generate npx prisma db push
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
src/
├── app/ # Next.js 13+ app directory
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Home page
│ ├── create/ # Post creation page
│ └── communities/ # Communities listing
├── components/ # Reusable React components
│ ├── AuthProvider.tsx # Authentication context
│ ├── Navigation.tsx # Main navigation
│ ├── FeedContainer.tsx # Main feed display
│ ├── PostCard.tsx # Individual post component
│ ├── CommunityList.tsx # Community sidebar
│ └── WelcomeHero.tsx # Landing page hero
└── lib/ # Utility functions and configurations
- Users verify identity with phone number and SMS verification code
- Alaska phone numbers (907 area code) preferred for instant verification
- Non-Alaska numbers require Alaska zip code (99xxx format) for residency proof
- No personal information stored beyond phone verification
- Each user gets a random anonymous ID
- Karma system tracks community participation
- Cities: Location-based discussions (Anchorage, Fairbanks, Juneau)
- Industries: Professional discussions (Oil & Gas, Fishing, Tourism)
- Interests: Hobby and lifestyle communities (Outdoors, General)
- Community-Driven: Users report inappropriate content
- Minimal Censorship: Focus on illegal content removal only
- Anonymous Reporting: Safe reporting without fear of retaliation
- Transparent Process: Clear guidelines and appeal process
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
- Build the application:
npm run build - Start the production server:
npm start - Set up your database and environment variables
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes and commit:
git commit -m 'Add feature' - Push to your branch:
git push origin feature-name - Submit a pull request
- Be Respectful: Treat fellow Alaskans with respect
- Stay Local: Keep discussions relevant to Alaska
- No Doxxing: Never share personal information
- Report Issues: Help moderate by reporting inappropriate content
- Authentic Experiences: Share genuine Alaska experiences
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for the unique needs of Alaska's dispersed but connected communities
- Designed to handle Alaska's unique challenges: distance, weather, and industry-specific needs
Forty9 - Where Alaskans connect anonymously 🏔️❄️