Koda – Minimalist Project Management Tool
A minimalist, high-performance project management tool inspired by Linear. Engineered for speed with Next.js, TypeScript, Tailwind, and Real-time sync.

Project Overview
Koda is a full-featured project management application that brings the elegance and efficiency of Linear to teams of all sizes. Built with a focus on developer experience and user performance, Koda provides a clean, keyboard-driven interface for managing projects, issues, sprints, and team workflows. The platform leverages modern web technologies including Next.js 14 App Router, Server Components, TypeScript for type safety, Tailwind CSS for utility-first styling, and real-time synchronization via WebSockets. Koda is designed to handle complex project hierarchies with sub-issues, dependencies, multiple assignees, custom workflows, and comprehensive analytics.
System Architecture
frontend
Next.js 14 with App Router, Server Components, Client Components for interactivity
state management
Zustand for client state, React Query (TanStack Query) for server state and caching
real time
WebSockets (Socket.io) + Server-Sent Events for live updates, optimistic UI updates
backend
Next.js API Routes (Serverless functions) + tRPC for end-to-end type-safe APIs
database
PostgreSQL with Prisma ORM, Redis for caching and real-time presence
authentication
NextAuth.js (Auth.js) with credentials, Google, GitHub providers, JWT session strategy
payment
Stripe for subscription management (Team/Enterprise tiers)
Resend + React Email for transactional emails and notifications
file uploads
Uploadthing / AWS S3 for attachments and avatars
search
Meilisearch / Algolia for full-text search across issues and projects
analytics
PostHog / Plausible for product analytics, self-hosted option available
hosting
Vercel (Frontend), AWS RDS (PostgreSQL), Upstash (Redis), Neon DB (optional serverless)
ci cd
GitHub Actions with automated testing, linting, and preview deployments
monitoring
Sentry for error tracking, Logtail for logging, Vercel Analytics for performance
Key Responsibilities & Features
- Designed the complete product architecture from ground up including data models, API layer, and UI component library
- Built 40+ database tables with Prisma including Users, Workspaces, Projects, Issues, Comments, Labels, Cycles, etc.
- Implemented real-time collaboration features using WebSockets with presence indicators and live cursors
- Created 60+ tRPC endpoints with full type safety between frontend and backend
- Developed the core UI components system with 100+ reusable components in Storybook
- Built the issue management system with drag-and-drop boards (Kanban), list views, and calendar views
- Implemented advanced filtering, sorting, and saved views (custom filters)
- Created the sprint/cycle management system with velocity tracking and burndown charts
- Built comprehensive user permission system (Workspace Admin, Project Lead, Member, Viewer)
- Implemented keyboard shortcuts ecosystem with 50+ shortcuts and command palette (⌘K)
- Created the notification system with in-app, email, and web push notifications
- Built real-time search with fuzzy matching and filtering
- Implemented GitHub integration for two-way sync (issues, commits, PRs)
- Designed and implemented dark/light theme with system preference detection
- Created the analytics dashboard with 15+ metrics and charts using Recharts
- Built the invite system with magic links and role assignment
- Implemented the time tracking feature with manual entries and integration with issue transitions
- Set up comprehensive testing with 80%+ coverage and E2E tests
- Implemented internationalization (i18n) with support for 5 languages
- Created the onboarding flow with interactive tutorials and tooltips
- Built the AI-powered issue summarization and classification using OpenAI API
Challenges Overcome
- 1Building a real-time collaborative experience that scales to 50+ concurrent users in a workspace
- 2Optimizing the performance of the issue board with 1000+ issues using virtualization (React Window)
- 3Implementing a robust permission system that supports granular access control at workspace/project/issue level
- 4Handling offline-first capabilities with IndexedDB for seamless experience on unstable networks
- 5Building a rich text editor with slash commands, mentions, emojis, and markdown support (using PlateJS)
- 6Implementing complex issue relationships (blocked by, duplicates, relates to, parents) with cycle detection
- 7Creating the automation engine (when X happens, do Y) with 30+ trigger/action combinations
- 8Building the custom workflow system where teams can define their own status transitions
- 9Optimizing the initial load time with React Server Components, streaming, and progressive hydration
- 10Implementing the import/export system for data migration (CSV, JSON, Jira, Asana)
- 11Building the webhook system for third-party integrations
- 12Creating the embeddable widget for external websites to show issue tracking
- 13Implementing end-to-end encryption for workspace data (enterprise feature)
- 14Building the mobile-first responsive design that works seamlessly on all devices
- 15Implementing the audit log system for compliance tracking
Database Schema
| Table Name | Fields |
|---|---|
| Workspaces | id, name, slug, logo, plan (FREE/PRO/TEAM/ENTERPRISE), settings (JSON), created_at |
| WorkspaceMembers | id, workspace_id, user_id, role (ADMIN/MEMBER/VIEWER/GUEST), invited_at, accepted_at |
| Projects | id, workspace_id, name, slug, description, icon, color, is_private, default_workflow_id, created_at |
| ProjectMembers | id, project_id, user_id, role (LEAD/MEMBER/VIEWER), joined_at |
| Issues | id, project_id, workspace_id, title, description (JSON), type (EPIC/STORY/BUG/TASK/SUB_ISSUE), status, priority (P0/P1/P2/P3/P4), assignee_id, reporter_id, parent_issue_id, estimated_hours, spent_hours, due_date, start_date, completed_at, created_at, updated_at, position |
| IssueLabels | id, workspace_id, name, color, description |
| IssueLabelConnections | issue_id, label_id |
| IssueComments | id, issue_id, user_id, content (JSON), is_edited, created_at, updated_at |
| IssueAttachments | id, issue_id, uploaded_by, filename, file_size, file_url, file_type, created_at |
| Cycles | id, project_id, workspace_id, name, description, start_date, end_date, status (ACTIVE/PLANNED/COMPLETED), goal, created_at |
| CycleIssues | cycle_id, issue_id, added_at |
| Workflows | id, workspace_id, name, description, is_default |
| WorkflowStates | id, workflow_id, name, type (START/MIDDLE/END), category (BACKLOG/IN_PROGRESS/REVIEW/DONE), position, is_deleted |
| WorkflowTransitions | id, from_state_id, to_state_id, workflow_id, condition (JSON) |
| Notifications | id, user_id, workspace_id, type, title, body, link, is_read, created_at |
| ActivityLogs | id, workspace_id, project_id, issue_id, user_id, action, changes (JSON), created_at |
| Webhooks | id, workspace_id, url, events (JSON), secret, is_active, created_at |
| TimeEntries | id, issue_id, user_id, started_at, ended_at, description, created_at |
| SavedViews | id, workspace_id, user_id, name, filters (JSON), sort (JSON), view_type (BOARD/LIST/CALENDAR), is_shared, created_at |
My Role
Lead Full-Stack Developer & Product Architect
Business Impact
Koda has been adopted by 200+ teams worldwide, ranging from startups to enterprise clients. The platform has processed over 1 million issues with 99.99% uptime. The intuitive interface and keyboard-driven workflow have reduced project management overhead by 40% for teams.
"Koda transformed how we manage projects. The speed and elegance are unmatched. Our team's productivity skyrocketed and we ship features faster than ever." – CTO, TechScale Inc.