You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A production-grade Kanban board built with Next.js, demonstrating technical decision-making, quality engineering, and AI-assisted development practices. This is the monolithic origin — see below for how it evolved into a multi-platform monorepo.
9
9
10
-
A production-grade Kanban board application. Showcases engineering practices, decision-making and AI-assisted optimization for senior full-stack roles.
This project was strategically re-architected through three stages, each driven by a clear engineering rationale:
19
+
20
+
| Stage | Architecture | Key Decision |
21
+
| :---- | :----------- | :----------- |
22
+
|**1. Monolith**| Next.js full-stack (this repo) | Ship fast, validate product-market fit with a single deployable unit |
23
+
|**2. Decoupled**| Next.js frontend + Nest.js backend | Separate concerns for independent team scaling and deployment cycles |
24
+
|**3. Multi-Platform**|[Turborepo monorepo](https://github.com/john-data-chen/turborepo-starter-kit)| Share business logic (state, types, i18n, validation) across Web and Mobile |
25
+
26
+
The monorepo evolution introduces shared packages (`@repo/store`, `@repo/i18n`, `@repo/ui`) that enable a write-once approach for state management, validation, and types — while each platform (Next.js web, Expo mobile, Nest.js API) maintains full control over its UI and deployment. This mirrors the architectural pattern used by teams scaling from a single product to a platform.
-**MANDATORY**: Check for `karpathy-guidelines` skill for ANY coding task.
6
-
-**Check MCP/skills before execution**:
7
-
- Verify available and enabled tools
8
-
- Suggest and confirm with the user which MCP/skill to use
9
-
- Recommend missing ones if useful
10
-
-**Convention First**: Always analyze existing patterns, libraries, and code style before making changes
11
-
-**Verify, Then Act**: Never assume dependencies or commands exist - always verify through package.json or config files
12
-
-**Test-Driven Changes**: Look for existing tests, run them to understand behavior, write tests before implementing features
13
-
-**Incremental Verification**: Run lint, type-check, test, and build commands after every significant change
3
+
## Before Every Task
4
+
5
+
1.**Load `karpathy-guidelines` skill** — mandatory for any coding task.
6
+
2.**Identify applicable skills** from the Skill Dispatch Guide below. Load them before writing code.
7
+
3.**Check available MCP servers** — use them when they save time (e.g., `context7-mcp` for package docs, `nextjs-mcp` for dev server diagnostics).
8
+
4.**Read before writing** — analyze existing patterns, libraries, and code style. Never assume a dependency or command exists without verifying via `package.json` or config files.
14
9
15
10
> [!TIP]
16
11
> If need to check package info, use `context7-mcp` if installed and enabled.
@@ -20,43 +15,57 @@
20
15
21
16
When a task matches conditions below, load the corresponding skill **before writing code**.
22
17
23
-
### Universal Optimization Skills (CHECK FIRST, in `ai_docs/skills/ai-optimization/`)
| State |`src/lib/stores/`| Zustand stores (auth, board, project) |
56
+
| Styles |`src/styles/`| Global css |
56
57
57
58
Shadcn UI components are in `src/components/ui`. Modify `src/styles/globals.css` and `src/components` first; only modify Shadcn UI components as a last resort.
0 commit comments