Manage projects. Collaborate better.
A lightweight project management platform for startups, college teams, and small companies — built with React, TypeScript, and a design system that prioritizes clarity over complexity.
Most project management tools fall into two camps: enterprise suites that require a week of onboarding, or spreadsheet hacks that collapse under real team load. FlowPilot exists in the middle — opinionated enough to keep teams aligned, flexible enough to adapt to how small groups actually work.
We started FlowPilot after watching three early-stage teams abandon Jira within a month and outgrow Notion boards within a quarter. The goal was never to replace every PM tool; it was to ship a focused frontend experience that teams could run locally, fork freely, and extend without fighting the codebase.
What makes it different:
- Frontend-only architecture — no backend required for development or demos; data persists via
localStoragewith simulated API delays - Modern Soft Brutalism UI — thick borders, offset shadows, and bright accents that feel handcrafted, not templated
- Modular codebase — feature-separated folders, strict TypeScript, and reusable primitives designed for contributors
FlowPilot is actively developed. v1.0 established the core workspace; v1.1 added authentication and a marketing landing page. See CHANGELOG.md for the full history.
| Landing | Dashboard | Kanban |
|---|---|---|
![]() |
![]() |
![]() |
| Module | Description |
|---|---|
| Dashboard | Personalized greeting, animated stat cards, weekly velocity chart, spotlight project, due-soon tasks, and team activity pulse |
| Projects | Full CRUD with search, status/priority filters, sorting, progress tracking, and member avatars |
| Tasks | Rich task model — priorities, labels, checklists, comments, attachments, assignees, and due dates |
| Kanban | Four-column drag-and-drop board (@dnd-kit) with per-project filtering |
| Calendar | Monthly deadline view with day-level task drawer |
| Analytics | Completion trends, priority breakdown, and per-project performance charts |
| Module | Description |
|---|---|
| Team | Member cards with roles, skills, workload indicators, and contact info |
| Activity | Filterable timeline of task, project, file, and team events |
| Files | Grid/list file manager with upload simulation and preview |
| Notifications | Categorized inbox with read/unread state and bulk actions |
| Module | Description |
|---|---|
| Auth | Register, login, forgot/reset password — session persisted in localStorage |
| Landing | Marketing page with hero, features, testimonials, FAQ, and CTA sections |
| Settings | General, notifications, appearance, security, and preference tabs |
| Profile | Editable personal details, skills, bio, and recent activity |
- Node.js 18 or later
- npm 9 or later
git clone https://github.com/tushaar-05/flowpilot.git
cd flowpilot
npm install
npm run devOpen http://localhost:5173. Register an account on the landing page, then explore the workspace at /dashboard.
npm run build # type-check + Vite production bundle
npm run preview # serve the dist/ output locally
npm run lint # run oxlint┌─────────────────────────────────────────────────────────┐
│ Browser (SPA) │
├──────────────┬──────────────────┬───────────────────────┤
│ Pages │ Components │ Context Providers │
│ (routes) │ layouts / ui │ Auth · App · Toast │
├──────────────┴──────────────────┴───────────────────────┤
│ Services (simulated async APIs) │
├─────────────────────────────────────────────────────────┤
│ JSON seed data ↔ localStorage persistence │
└─────────────────────────────────────────────────────────┘
FlowPilot deliberately keeps all state on the client. Service modules return Promise-based responses with configurable delays (500–1000 ms) to mimic network latency. AppContext hydrates from JSON seed files on first load, then reads/writes localStorage on subsequent visits.
For the full breakdown — routing guards, context boundaries, data flow, and folder conventions — see ARCHITECTURE.md.
FlowPilot follows a Modern Soft Brutalism aesthetic: roughly 70% polished SaaS, 30% playful brutalist accents.
| Principle | Implementation |
|---|---|
| Strong hierarchy | Manrope type scale, extrabold headings, generous whitespace |
| Tactile surfaces | 2.5px #111827 borders, offset shadow-brutal boxes |
| Energetic palette | Blue, orange, yellow, emerald, pink, purple on #FFFDF7 |
| Motion with purpose | Framer Motion for page transitions, counters, and modals — not decoration |
| Accessible contrast | High-contrast ink-on-cream; interactive elements always bordered |
Component-level rules live in STYLEGUIDE.md.
flowpilot/
├── .github/ # CI, issue templates, Dependabot, metadata
├── docs/screenshots/ # README and marketing captures
├── public/ # Static assets (favicon, etc.)
├── src/
│ ├── components/
│ │ ├── auth/ # Route guards, auth layout
│ │ ├── landing/ # Marketing page sections
│ │ ├── layouts/ # Sidebar, navbar, main shell
│ │ ├── projects/ # Project cards, forms
│ │ ├── tasks/ # Task forms
│ │ └── ui/ # Design-system primitives
│ ├── context/ # Auth, App, Toast providers
│ ├── data/ # JSON seed files
│ ├── hooks/ # useDebounce, usePagination, selectors
│ ├── pages/ # Route-level views
│ ├── services/ # Simulated API layer
│ ├── types/ # Shared TypeScript interfaces
│ ├── constants/ # Routes, enums, defaults
│ └── utils/ # Helpers, storage, validation schemas
├── ARCHITECTURE.md
├── CHANGELOG.md
├── CONTRIBUTING.md
├── ROADMAP.md
├── SECURITY.md
└── STYLEGUIDE.md
FlowPilot targets a snappy client-side experience on mid-range hardware:
| Metric | Target | Notes |
|---|---|---|
| First Contentful Paint | < 1.2 s | Vite code-splitting planned for v1.2 |
| Time to Interactive | < 2.5 s | On 4G, uncached |
| Production JS bundle | < 400 KB gzip | Currently ~326 KB — tracked in CI |
| Lighthouse Performance | ≥ 90 | Landing and dashboard pages |
| Route transition | < 200 ms | Framer Motion page fade |
See ROADMAP.md for bundle-splitting and lazy-loading milestones.
High-level milestones (detailed timeline in ROADMAP.md):
- v1.0 — Core workspace, simulated APIs, localStorage persistence
- v1.1 — Landing page, client-side auth, dashboard redesign
- v1.2 — Route-level code splitting, E2E test suite (Playwright)
- v2.0 — Optional REST/GraphQL backend adapter layer
- v2.1 — Real-time sync (WebSockets), OAuth providers
| Document | Purpose |
|---|---|
| ARCHITECTURE.md | System design, data flow, context boundaries |
| CONTRIBUTING.md | Development setup, PR process, commit conventions |
| STYLEGUIDE.md | UI patterns, naming, component conventions |
| ROADMAP.md | Release timeline and feature priorities |
| CHANGELOG.md | Version history |
| SECURITY.md | Vulnerability reporting |
| CODE_OF_CONDUCT.md | Community standards |
We welcome bug fixes, documentation improvements, UI polish, and feature proposals. Please read CONTRIBUTING.md before opening a PR.
Good first issues are tagged good first issue in our label taxonomy. If you're unsure where to start, open a Question issue and we'll point you in the right direction.
Found a vulnerability? Please do not open a public issue. Follow the process in SECURITY.md.
FlowPilot is MIT licensed. Copyright © 2024–2026 FlowPilot Contributors.
Built with React, Vite, Tailwind CSS, Recharts, @dnd-kit, Framer Motion, and Lucide. Avatar art via DiceBear.


