Comprehensive technical reference for developers working with the Bitwork codebase.
bitwork/
|-- apps/
| `-- web/ # Next.js 16 web application
| |-- app/ # Next.js app router
| |-- components/ # Application-specific components
| |-- lib/ # Utilities and helpers
| `-- public/ # Static assets
|-- packages/
| |-- ui/ # Shared UI component library
| | |-- src/components/ # Reusable UI components (40+)
| | |-- src/hooks/ # Custom React hooks
| | `-- src/lib/ # Utilities and styling
| |-- db/ # Database package with Drizzle ORM
| | |-- src/schema.ts # Database schema definitions
| | `-- src/index.ts # Database exports
| `-- configs/ # Shared configuration files
|-- scripts/ # Build and setup scripts
|-- turbo.json # Turborepo configuration
`-- bun.lockb # Bun lockfile
| Category | Technologies |
|---|---|
| Framework | Next.js 16.1 |
| UI Library | React 19 |
| Language | TypeScript 5.9 |
| Styling | Tailwind CSS v4 |
| Runtime | Bun 1.3 |
| Tool | Purpose | Version |
|---|---|---|
| Turborepo | Monorepo task runner | 2.8.9 |
| Biome | Linting & formatting | 2.3.14 |
| Ultracite | Zero-config code quality | 7.2.2 |
| Lefthook | Git hooks | 2.1.1 |
| Technology | Purpose |
|---|---|
| Drizzle ORM | Type-safe SQL ORM |
| Drizzle Kit | Database migrations & studio |
| Zod | Schema validation |
| @t3-oss/env-core | Environment validation |
The @bitwork/ui package includes 40+ reusable UI components:
Button, Input, Textarea, Select, Checkbox, Radio Group, Switch, Slider
Dialog, Drawer, Sheet, Popover, Tooltip, Hover Card, Alert Dialog
Tabs, Breadcrumb, Pagination, Navigation Menu, Command, Menubar
Table, Card, Badge, Avatar, Accordion, Collapsible, Calendar
Alert, Progress, Skeleton, Spinner, Sonner (toasts)
Separator, Resizable Panels, Scroll Area, Sidebar
Carousel, Chart (Recharts), Data Table
- Base UI - Unstyled, accessible components
- Lenis - Smooth scrolling
- Lucide React - Icon library
- Next Themes - Dark/light mode
- Vaul - Drawer component
- Recharts - Data visualization
- Embla Carousel - Carousel functionality
The primary Next.js 16 application featuring:
- Landing Page: Hero section, features, testimonials, workflow, CTA
- Authentication: Login/signup with modern auth forms
- Job Management: Post jobs, view listings, apply to positions
- Dashboard: Application tracking and management
- Responsive Design: Mobile-first approach with Tailwind CSS
- Smooth Animations: Lenis smooth scrolling and transition effects
A comprehensive component library with:
- 40+ reusable UI components
- Consistent theming with Tailwind CSS v4
- Full TypeScript support
- Accessibility-first design
- Dark mode support via next-themes
Usage Example:
import { Button } from '@bitwork/ui/components/button';
import { Card } from '@bitwork/ui/components/card';
export default function MyComponent() {
return (
<Card>
<Button>Click me</Button>
</Card>
);
}Type-safe database operations with Drizzle ORM:
- Schema definitions with TypeScript
- Environment validation with Zod
- Migration management
- Drizzle Studio for database inspection
Usage Example:
import { db } from '@bitwork/db';
import { users } from '@bitwork/db/schema';
const allUsers = await db.select().from(users);Centralized configuration files for:
- TypeScript configurations
- Tailwind configurations
- Build settings
Bitwork uses a custom design system built on:
- Typography: Inter & Instrument Sans fonts
- Colors: Custom color palette with dark mode support
- Spacing: Consistent spacing scale
- Animations: Smooth transitions and micro-interactions
- Icons: Lucide React for consistent iconography
This project uses Ultracite (powered by Biome) for code quality:
- Automatic formatting on save
- Linting with strict rules
- Type safety enforcement
- Pre-commit hooks via Lefthook
Lefthook is configured to run:
- Code formatting on staged files
- Lint checks before commits
- Type checking on pre-push
The monorepo is optimized with Turborepo for:
- Parallel task execution
- Intelligent caching
- Incremental builds
- Remote caching support
bitwork (root)
|-- apps/web
| |-- @bitwork/ui (workspace:*)
| |-- @bitwork/db (workspace:*)
| `-- @bitwork/configs (workspace:*)
|-- packages/ui
| `-- (peer dependencies: react, react-dom)
|-- packages/db
| `-- @bitwork/configs (workspace:*)
`-- packages/configs
Bitwork features a comprehensive, role-based dashboard system that provides distinct experiences for Service Seekers and Skill Providers.
- Adaptive Interface: Automatically adjusts based on user role (seeker/provider)
- Real-time Notifications: Live updates on applications, messages, and job activity
- Smart Job Matching: Visual indicators for job compatibility
- Quick Actions: Streamlined workflows for common tasks
- Analytics: Performance insights for providers
- Responsive Design: Optimized for desktop, tablet, and mobile
- User authentication with OAuth providers
- Real-time notifications with WebSockets
- Advanced job search with filters
- Resume parsing and analysis
- Email notifications
- Admin dashboard
- API documentation
- Mobile app (React Native)
- Architecture Overview - System architecture and patterns
- Database Schema - Database structure and queries