CHISH
  • blogs/
  • guides/
  • projects/
    • Hackatime-TUI/
~ $ whoami chish -- compsci ug ./about rss

    #Devlog 01: Shared Types First

    Okay so, first real day on the Hackatime TUI. 3 person team, Bubbletea for the TUI part, one guy on backend wiring, one guy on widgets, and me doing dashboard/nav stuff.

    ###Unblocking the Team First

    First thing I did was just... define the shared types. Dashboard, Filters, the whole shape of the panel data. Didn't touch any actual logic before this, cuz both backend guy and widget guy are kinda stuck until they know what the data even looks like. Felt like the responsible thing to do lmao, be the guy who unblocks everyone instead of just diving into my own corner.

    ###The Fixed Header & Wireframe Slots

    After that I built out the fixed header, renders username, streak, the whole filter row (Date Range / Project / Language / OS / Editor / Category)... I basically just referenced the real Hackatime dashboard for this. It looks right now, which is nice, but it doesn't DO anything yet lol. Next up is making it actually usable, dropdowns opening/closing, moving the cursor around, filters actually triggering a refetch.

    Also threw together the card and panel grid, just wireframes with empty slots for now (Project Durations, Languages, Timeline, etc) so widget guy has something concrete to build into whenever he starts.

    Getting started is always the hardest part for me, every single time. But once the first commit was up everything just kinda... flowed after that.

    ###The Planned Layout

    This is our planned layout for the dashboard:

    ┌──────────────────┬──────────────────────────────────────────────────────────────────────────────────┐
    │ [●] Chish 🇮🇳     │ Keep Track of Your Coding Time                                                   │
    │ [🔥 3 day streak]│ Today: 43m 27s logged (Python, JS, Rust, etc.) using Neovim & VSCode             │
    │                  ├──────────────────────────────────────────────────────────────────────────────────┤
    │ > [Home]         │ [Date: All Time ▾] [Project: All ▾] [Lang: All ▾] [OS: All ▾] [Editor: All ▾]    │
    │   Projects       ├──────────────┬──────────────┬──────────────┬──────────────┬──────────────────────┤
    │   Settings       │ TOTAL TIME   │ TOP PROJECT  │ TOP LANGUAGE │ TOP OS       │ TOP EDITOR           │
    │                  │ 520h 34m     │ kasumi       │ Rust         │ Linux        │ VSCode               │
    │                  └──────────────┴──────────────┴──────────────┴──────────────┴──────────────────────┤
    │                                                                                                     │
    │ ┌─ Project Durations ────────────────────────────┐ ┌─ Languages ──────────────────────────────────┐ │
    │ │ kasumi            ██████████████████ 31h 28m   │ │ Rust       ████████████░░░░░░░░░  38%        │ │
    │ │ skora-backend     ██████████████████ 31h 27m   │ │ Python     ████████░░░░░░░░░░░░░  22%        │ │
    │ │ stacksense        █████████████░░░░░ 22h 25m   │ │ Svelte     ████░░░░░░░░░░░░░░░░░  12%        │ │
    │ │ the-verse-...     ██████████░░░░░░░░ 19h 54m   │ │ C / Go     ███░░░░░░░░░░░░░░░░░░   8%        │ │
    │ │ desktop-editor    ████████░░░░░░░░░░ 16h 44m   │ │ Other      ██████░░░░░░░░░░░░░░░  20%        │ │
    │ └────────────────────────────────────────────────┘ └──────────────────────────────────────────────┘ │
    │                                                                                                     │
    │ ┌─ Editors ──────────────────────────────────────┐ ┌─ Operating Systems ──────────────────────────┐ │
    │ │ VSCode            ██████████████████  48%      │ │ Linux      ████████████████████  100%        │ │
    │ │ Neovim            ██████████░░░░░░░░  28%      │ │                                              │ │
    │ │ Zed / CLion       ████░░░░░░░░░░░░░░  14%      │ │                                              │ │
    │ │ Godot / Other     ███░░░░░░░░░░░░░░░  10%      │ │                                              │ │
    │ └────────────────────────────────────────────────┘ └──────────────────────────────────────────────┘ │
    │                                                                                                     │
    │ ┌─ Project Timeline (Stacked Weekly Activity) ────────────────────────────────────────────────────┐ │
    │ │ 22h ┤  █                                                                                        │ │
    │ │ 16h ┤  █                                                                                        │ │
    │ │ 11h ┤  █    █         █                                                                         │ │
    │ │  5h ┤  █    █    █    █    █    █    █                                      █                   │ │
    │ │  0h ┴──┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴───────────  │ │
    │ │       Jun15 Jun22 Jun29 Jul6 Jul13 Jul20 Jul27 Aug3 Aug10 Aug17 Aug24 Aug31                     │ │
    │ └─────────────────────────────────────────────────────────────────────────────────────────────────┘ │
    │                                                                                                     │
    │ ┌─ Coding Rhythm (Activity Heatmap) ──────────────────────────────────────────────────────────────┐ │
    │ │      12AM    3AM    6AM    9AM   12PM    3PM    6PM    9PM                                      │ │
    │ │ Mon  [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][■][■][■][■]                               │ │
    │ │ Tue  [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][■][■][■]                               │ │
    │ │ Wed  [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][■][■][■][■][■][■][■][■]                               │ │
    │ │ Thu  [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][■][■][■]                               │ │
    │ │ Fri  [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][■][■][■][■][■][■][■][■]                               │ │
    │ │ Sat  [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][■][■][■][■][■][■][■][■][■][■]                               │ │
    │ │ Sun  [■][■][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][■][■][■][■][■][■]                               │ │
    │ └─────────────────────────────────────────────────────────────────────────────────────────────────┘ │
    │                                                                                                     │
    │ ┌─ Today's Goal ─────────────────────────────────┐ ┌─ AI vs Human Coding ─────────────────────────┐ │
    │ │               ╭─────────╮                      │ │ [AI 7%]                [Human Coding 93%]    │ │
    │ │               │   73%   │                      │ │ ███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    │ │
    │ │               ╰─────────╯                      │ │                                              │ │
    │ │ 27% below usual  |  Today: 43m / Usual: 59m    │ │ AI: 32h 15m (7%)   |   Human: 450h 58m (93%) │ │
    │ └────────────────────────────────────────────────┘ └──────────────────────────────────────────────┘ │
    └─────────────────────────────────────────────────────────────────────────────────────────────────────┘

    ###Current Progress

    Here is how the wireframe looks right now in the terminal:

    Image