pathfinder__5712n7-bore
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data ā all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v78View latest version
A personal dashboard for tracking tasks, habits, and media consumption with offline support and syncing capabilities.
- Weekly grid view showing completion status
- Support for multiple completions per week
- Visual indicators with color coding
- Notes for each completion
- Organize by status: inbox, upcoming, in progress, on hold, completed
- Group by social context: solo, with wife, with friends, etc.
- Support for books, movies, TV shows, podcasts, games, articles, courses
- Progress tracking and ratings
- PWA with offline functionality
- CRDT-based conflict resolution
- Audit logging for data integrity
- Background sync when online
- Responsive design for iPhone use
- Touch-friendly interface
- PWA installable on home screen
- Smooth animations and interactions
āāā backend/
ā āāā database/
ā ā āāā migrations.ts # Database schema
ā ā āāā queries.ts # Database operations
ā āāā index.ts # Hono API server
āāā frontend/
ā āāā components/ # React components
ā ā āāā App.tsx # Main app component
ā ā āāā TaskGrid.tsx # Task tracking grid
ā ā āāā MediaGrid.tsx # Media tracking grid
ā ā āāā *.tsx # Modal components
ā āāā index.html # PWA manifest
ā āāā index.tsx # React entry point
ā āāā manifest.json # PWA manifest
ā āāā sw.js # Service worker
āāā shared/
ā āāā types.ts # Shared TypeScript types
āāā main.tsx # Val Town entry point
GET /api/tasks
- Get all tasksPOST /api/tasks
- Create new taskGET /api/completions
- Get task completionsPOST /api/completions
- Mark task as completeGET /api/media
- Get all media itemsPOST /api/media
- Create new media itemPUT /api/media/:id
- Update media itemPOST /api/sync
- CRDT sync endpointPOST /api/devices/register
- Register device
- Backend: Hono + SQLite (Val Town)
- Frontend: React 18 + TypeScript
- Styling: Tailwind CSS
- PWA: Service Worker + Manifest
- Sync: CRDT with vector clocks
- Storage: SQLite with audit logging
- Add Tasks/Habits: Click "+ Task" to add new recurring tasks
- Track Completion: Tap circles in current week to mark complete
- Add Media: Click "+ Media" to track books, shows, etc.
- Organize Media: Drag items between status columns
- Offline Use: App works offline and syncs when back online
- Support for weekly frequency (1x, 2x, 3x per week)
- Color coding and categorization
- Completion tracking with notes
- Type: book, movie, TV show, podcast, game, article, course
- Status: inbox ā upcoming ā in progress ā on hold ā completed/abandoned
- Social groups: solo, with wife, with friends, with family
- Metadata: author, director, genre, progress, ratings
- CRDT operations for conflict-free replication
- Vector clocks for ordering
- Audit logs for debugging
- Device registration and management
The app is designed to be information-dense yet beautiful, perfect for quick daily check-ins on your life status.