AI-Powered Developer Work Copilot
A unified engineering intelligence layer that aggregates your GitHub activity,
detects blockers, and tells you exactly what to work on next.
Features β’ Tech Stack β’ Getting Started β’ Architecture β’ Pages β’ Contributing
Modern development workflows are fragmented across multiple tools:
- GitHub β code, PRs, issues, gists
- Slack β discussions and incident communication
- CI/CD tools β build status and failures
Developers constantly context-switch between these tools, losing focus and time. Critical issues are often missed or discovered too late.
Stikkle solves this by acting as a unified engineering intelligence layer.
- π Aggregates data from GitHub (repos, issues, PRs, gists)
- π Correlates PRs, issues, and activity signals
- π§ Detects blockers, stale work, and failures
- π― Recommends what you should work on next β prioritized by urgency
Instead of checking multiple tools, developers get one intelligent dashboard.
An intelligent engine that analyzes your GitHub data and generates prioritized task suggestions:
| Signal | Detection |
|---|---|
| Stale PRs | Open PRs idle >7 days (high) or >30 days (critical) |
| Bug Issues | Issues labeled bug or critical |
| Untriaged Repos | Popular repos with 10+ open issues |
| Idle Repos | Repos with no push in 90+ days |
| Draft PRs | Work-in-progress PRs that need finishing |
| Assigned Issues | Issues assigned to you that are aging |
| Feature Requests | Enhancement-labeled issues from the community |
Each recommendation includes a priority level, category, AI-generated reason, and a direct link to GitHub.
A comprehensive overview of your engineering world:
- Profile card with GitHub stats
- Stats cards β total repos, open issues, open PRs
- Recent PRs and open issues in a side-by-side view
- Interactive area chart of repository activity over time
- Activity feed with real-time event stream
- Repos data table with sorting, filtering, and drag-and-drop column reordering
A unified timeline that merges:
- π Issues opened across your repos
- π Pull requests created and updated
- π€ Recent pushes to repositories
- β Trending repos (starred repos gaining traction)
A scroll-animated marketing page with four phases:
- Hero β Animated tagline with CTA
- Features β Three feature cards with hover effects
- Showcase β Dashboard preview mockup
- CTA β Final call-to-action with gradient effects
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Runtime | React 19 |
| Auth | NextAuth v4 β GitHub OAuth |
| Styling | Tailwind CSS v4 |
| UI Components | shadcn/ui + Radix UI |
| Animations | Framer Motion v12 + Lenis |
| Charts | Recharts |
| Tables | TanStack Table + dnd-kit |
| Database | PostgreSQL + Drizzle ORM |
| Validation | Zod v4 |
| Icons | Lucide + Iconify |
- Node.js β₯ 18.x
- npm β₯ 9.x
- PostgreSQL database
- GitHub OAuth App (for authentication)
git clone https://github.com/your-username/stikkle.git
cd stikklenpm installCreate a .env.local file in the project root:
# GitHub OAuth (create at https://github.com/settings/developers)
GITHUB_ID=your_github_client_id
GITHUB_SECRET=your_github_client_secret
# GitHub Personal Access Token (for API calls)
GITHUB_TOKEN=your_github_pat
# NextAuth
NEXTAUTH_SECRET=your_random_secret_string
NEXTAUTH_URL=http://localhost:3000
# PostgreSQL Database
DATABASE_URL=postgresql://user:password@localhost:5432/stikkle- Go to GitHub Developer Settings
- Click New OAuth App
- Set the homepage URL to
http://localhost:3000 - Set the callback URL to
http://localhost:3000/api/auth/callback/github - Copy the Client ID and Client Secret to your
.env.local
npx drizzle-kit pushnpm run devOpen http://localhost:3000 in your browser.
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β Browser β
β ββββββββββββββ ββββββββββββββ ββββββββββββββ β
β β Landing β β Dashboard β β Recs β β
β β Page β β Page β β Page β β
β ββββββββββββββ ββββββββββββββ ββββββββββββββ β
ββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ
β
ββββββββββΌβββββββββ
β Next.js Server β
β (App Router) β
ββββββββββ¬βββββββββ
β
βββββββββββββββΌββββββββββββββ
βΌ βΌ βΌ
ββββββββββββ ββββββββββββ ββββββββββββ
β NextAuth β β GitHub β β Drizzle β
β (OAuth) β β REST API β β (Postgres)β
ββββββββββββ ββββββββββββ ββββββββββββ
stikkle/
βββ app/
β βββ page.tsx # Landing page (scroll-animated)
β βββ layout.tsx # Root layout with auth & header
β βββ providers.tsx # Client providers (session, Lenis, noise bg)
β βββ globals.css # Global styles & Tailwind config
β βββ api/auth/[...nextauth]/ # NextAuth API route
β βββ dashboard/page.tsx # Main dashboard
β βββ recommendation/page.tsx # AI recommendations + engine
β βββ activity/page.tsx # Activity feed
β βββ gist/page.tsx # GitHub gists
β βββ publicrepo/page.tsx # Public repos browser
βββ components/
β βββ ui/ # shadcn/ui primitives
β βββ app-sidebar.tsx # Navigation sidebar
β βββ dashboard-sections.tsx # Dashboard card components
β βββ recommendations-content.tsx # Recommendations UI
β βββ activity-content.tsx # Activity feed UI
β βββ scroll-homepage.tsx # Animated landing page
β βββ shadcn-space/blocks/ # Hero & header blocks
βββ lib/
β βββ github.ts # Typed GitHub API wrapper
β βββ activity.ts # Activity event builder
β βββ utils.ts # Utilities (cn helper)
βββ config/
β βββ drizzle.ts # Database connection
βββ drizzle/ # Database migrations
| Route | Auth | Description |
|---|---|---|
/ |
β | Scroll-animated landing page |
/about |
β | About the product |
/docs |
β | Documentation |
/dashboard |
β | Main dashboard with stats, PRs, issues, charts |
/recommendation |
β | AI-powered task recommendations |
/activity |
β | Unified activity timeline |
/gist |
β | GitHub gists viewer |
/publicrepo |
β | Public repositories browser |
/capture |
β | Capture workflows |
/proposal |
β | Proposals management |
/prompts |
β | Prompts management |
/analytics |
β | Analytics dashboard |
/reports |
β | Reports |
/projects |
β | Projects overview |
/search |
β | Search functionality |
/settings |
β | User settings |
/team |
β | Team management |
/data-library |
β | Data library |
/lifecycle |
β | Project lifecycle |
/word-assistant |
β | Writing assistant |
/help |
β | Help & support |
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source. See the LICENSE file for details.
Built with β€οΈ by the Stikkle team