Skip to content

Latest commit

 

History

History
136 lines (97 loc) · 4.02 KB

File metadata and controls

136 lines (97 loc) · 4.02 KB

Trail — Professional Achievement Tracker

License Version Platform Built with Tauri

Trail is a local-first desktop app for tracking your professional wins, big and small. Log achievements as they happen, tag them by skill or project, and surface them when it counts — performance reviews, promotion docs, portfolio updates, and job interviews.

Your achievements don't track themselves.


Screenshots

Screenshots will be added shortly. In the meantime, build from source and see for yourself.


Features

  • Today view — a focused daily log with your streak, recent activity heatmap, and quick-log shortcut (Cmd/Ctrl + N)
  • Achievements — full searchable, filterable list of everything you've logged, with impact ratings and rich-text notes
  • Tags — curated and custom tags (skills, projects, categories) with color coding
  • Summaries — stats, streaks, heatmap, and tag breakdowns across any time range
  • Export — copy or download your achievements as Markdown, ready to paste into a resume or doc
  • Settings — accent color themes, display density, daily/Friday nudge reminders, and quiet weekends
  • Onboarding — guided first-run setup to get your profile and preferences set up
  • Local-first — all data lives in SQLite on your machine. Nothing leaves your device.

Tech Stack

Layer Technology
UI React 18 + TypeScript
State Zustand + TanStack Query
Desktop shell Tauri v2
Backend Rust
Database SQLite (via Tauri's SQL plugin)
Build Vite 6

Requirements


Development

# Clone the repo
git clone https://github.com/YOUR_USERNAME/trail.git
cd trail

# Install JS dependencies
npm install

# Start the dev server (opens the Tauri window)
npm run tauri dev

The frontend alone (no Tauri window, runs in browser at http://localhost:5173):

npm run dev

Building

npm run tauri build

Compiled binaries and installers are output to src-tauri/target/release/bundle/.


Project Structure

trail/
├── src/                    # React frontend
│   ├── components/         # Shared UI components
│   ├── views/              # Full-page views (Today, Achievements, etc.)
│   ├── stores/             # Zustand state stores
│   ├── hooks/              # Custom React hooks
│   ├── lib/
│   │   ├── storage.ts      # Tauri IPC calls (the frontend/backend bridge)
│   │   └── types.ts        # Shared TypeScript types
│   └── onboarding/         # First-run onboarding flow
├── src-tauri/              # Rust backend
│   └── src/
│       ├── commands/       # Tauri IPC command handlers
│       │   ├── achievements.rs
│       │   ├── tags.rs
│       │   ├── settings.rs
│       │   └── summaries.rs
│       └── db/
│           ├── migrations.rs  # SQLite schema & migrations
│           └── models.rs      # Rust data models
└── .github/                # Issue templates & PR template

Roadmap

  • Export to PDF
  • Markdown import
  • Weekly email digest (opt-in)
  • iCloud / custom sync path
  • Windows & Linux packaging CI
  • Achievement templates

Contributing

Contributions are welcome! Please read CONTRIBUTING.md before opening a PR.

For bug reports and feature requests, use the issue templates.


License

MIT — © 2026 Trail Contributors