IncLink is a LinkedIn-esque platform designed to connect formerly incarcerated individuals with meaningful employment opportunities and build supportive professional networks for successful reentry.
- Simple signup with email, name, location, and skills
- Profile includes former facility information and years incarcerated (optional)
- Editable profile with job skills and personal information
- Curated job listings from "second chance" employers
- All jobs are flagged as "open to formerly incarcerated"
- One-click application process
- Job details include company, location, and description
- No resume uploads required
- Applications are sent to console/fake inbox for demo
- Track application status (pending, reviewed, accepted, rejected)
- View application history on profile page
- Connect with others from the same former facility
- View connections and network size
- Simple "Connect" button to build professional relationships
- Referral capabilities between connections
- Built with shadcn/ui components for modern design
- Responsive layout works on desktop and mobile
- Three main pages: Home, Dashboard, and Profile
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone <your-repo-url>
cd inclink
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open http://localhost:3000 in your browser
- Visit the home page
- Fill out the "Get Started" form with your information
- Submit to create your account and be redirected to the dashboard
- Use the "Sign In" form with your email
- Access the dashboard to browse jobs and connections
You can sign in with any of these emails to test existing user functionality:
marcus.johnson@email.com
sarah.williams@email.com
david.rodriguez@email.com
jennifer.davis@email.com
- Next.js 15 with App Router
- Server Actions for all data operations (no client-side fetching)
- TypeScript for type safety
- Tailwind CSS with shadcn/ui components
- In-memory storage for demo purposes (simulates database)
- Mock data includes users, jobs, applications, and connections
- Server actions handle all CRUD operations
app/
├── page.tsx # Home page with login/signup
├── dashboard/
│ └── page.tsx # Job listings and connections
├── profile/
│ └── page.tsx # Profile editing and applications
└── layout.tsx # Root layout
- Server Actions (
lib/actions.ts
) - Handle all backend operations - Mock Data (
lib/mock-data.ts
) - Simulate database records - Types (
types/index.ts
) - TypeScript interfaces - UI Components (
components/ui/
) - shadcn/ui components
- Job Listings: Browse second chance employer opportunities
- User Profile Summary: Quick view of skills and facility
- Network Section: View current connections
- Facility Connections: Find others from the same former facility
- One-click Apply: Apply to jobs without complex forms
- Edit Profile: Update personal information and skills
- Application Tracking: View all job applications and their status
- Network Stats: See connection count and application count
- Quick Actions: Easy navigation to browse jobs and find connections
- Sign Up: Create new account with profile information
- Sign In: Simple email-based login
- Server-side redirects: Proper navigation after auth actions
- All pages are server-rendered for better performance
- Server Actions eliminate the need for API endpoints
- Proper data fetching without client-side loading states
- Mobile-first approach with Tailwind CSS
- Clean, professional design suitable for job seekers
- Accessible UI components from shadcn/ui
- Full TypeScript implementation
- Defined interfaces for all data structures
- Type-safe server actions and form handling
The application comes pre-loaded with:
- 4 sample users from different facilities
- 5 job postings from second chance employers
- Sample applications and connections
- Realistic data for testing all features
- Define types in
types/index.ts
- Create server actions in
lib/actions.ts
- Build UI components using shadcn/ui
- Follow server-side rendering patterns
- Update
lib/mock-data.ts
to add more sample data - Server actions modify the in-memory arrays
- Console logging shows all user interactions
For a production version, you would need to:
- Replace in-memory storage with a real database (PostgreSQL, MongoDB, etc.)
- Implement proper user authentication and sessions
- Add email notifications for applications
- Implement file uploads for resumes/documents
- Add job search and filtering capabilities
- Implement real-time messaging between connections
- Add employer dashboard for posting jobs and reviewing applications
This project is created as an MVP demonstration for connecting formerly incarcerated individuals with employment opportunities and professional networks.