CASE STUDY: PERSONAL PROJECT
HobbyLog
HobbyLog is a dedicated backlog tracker designed specifically for tabletop miniature painters, acting as a customized Trello board to manage painting workflows, labels, and collection metrics. The platform is actively used by members of the local Warhammer community to organize, paint, and track their miniature collections.
Core Technology Stack
Board & Pipeline UX
7-Stage Backlog Pipeline
Tracks miniatures systematically through: Boxed -> Building -> Built -> Primed -> Painting -> Completed This Year / Abandoned.
Pragmatic Drag and Drop
Implemented sub-second drag-and-drop reordering on desktop using @atlaskit/pragmatic-drag-and-drop, with action-based fallback menus on mobile devices.
Dynamic Backlog Collections
Separates collection archives from the active paint board, letting users onboard items, manage color-coded armies, and restore items back to the board.
Monorepo Architecture
Turborepo Monorepo Layout
Organized using Turborepo and pnpm workspaces to separate the React 19 SPA (apps/web), Hono Node.js API (apps/api), and shared zod schemas (packages/shared).
Relational Drizzle Schema
Utilizes PostgreSQL and Drizzle ORM to manage custom user profiles, army color labels, task nodes, and backlog history.
Secure Clerk Auth
Wired with Clerk auth middleware, supporting Google OAuth login flows in production while falling back to mock user fixtures in local dev.
Gemini AI Assistant Integration
Automated Pull Request Review
Integrated a custom Gemini AI action that scans new pull requests and provides immediate code review feedback on security and performance.
Intelligent Issue Triage
Enables automatic label categorization and issue triaging by parsing bug reports and feature requests.
GitHub Chat Co-Developer
Supports summoning `@gemini-cli` in issues or PR comments to request automated refactoring plans, test generation, or code explanations.
Live Project Link
Visit the live HobbyLog application to manage backlog columns, drag painting tasks, and view army stats.
