Skip to content

iliyasone/sheetlife-app

Repository files navigation

SheetLife

A personal productivity system that treats your files as the source of truth. Build personal systems over transparent, human-readable files.

Features

Habit Tracker

  • Week-based grid: Track daily habits with OK/FAIL status
  • GitHub-style heatmaps: 365-day and monthly visualizations
  • Streak tracking: Current and longest streak display
  • Status bar: Pin habits to see streak info at a glance
  • Notification triggers: Configure alerts based on habit performance

Age View

  • Real-time age display: See your age in decimal format, ticking in real-time
  • Birthday countdown: Days remaining until your next birthday

Integrations

  • Telegram: Send notifications to a Telegram channel
  • ChatGPT: Generate AI-powered messages for notifications

File Explorer

  • Browse storages and files when authenticated
  • View file metadata, sync status, and versions

Settings

  • Dark/light theme toggle (dark by default)
  • Export/import habit data as JSON
  • Account management

Tech Stack

  • Framework: Next.js 16 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS v4
  • State Management: Zustand
  • Icons: Lucide React
  • Fonts: Geist (Sans & Mono)

Project Structure

app/
  habits/           # Habit tracking view
  age/              # Age display view
  files/            # File explorer
  integrations/     # Integration management
  settings/         # App settings
  login/            # Authentication
  api/views/habits/ # Cron tick endpoint
components/         # Shared UI components
domain/habits/      # Habit domain logic
integrations/       # Telegram, OpenAI integrations
lib/                # Utilities, API client, store

Getting Started

npm install
npm run dev

Open http://localhost:3000 to view the app.

Backend API

The app connects to https://api.sheetlife.app for:

  • Email-based authentication (request code, verify code)
  • Storage and file management
  • File sync across devices

Deployment

Configured for Vercel with cron job support:

  • /api/views/habits/tick runs every 5 minutes to evaluate notification triggers

Architecture

SheetLife follows a "files as source of truth" philosophy:

  • Backend: Generic file sync protocol (no domain logic)
  • Frontend: Views interpret files and provide domain semantics
  • Integrations: Server-side modules for external services

See /docs for detailed architecture documentation.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors