"Time is what we want most, but what we use worst."
TakaTime is a blazingly fast, privacy-focused coding time tracker for Neovim.
It works just like WakaTime, but with one major difference: You own your data. Instead of sending your coding activity to a third-party server, TakaTime stores everything in your own MongoDB database.
https://github.com/user-attachments/assets/a3c492d8-898c-497a-bc0c-c2f8ebc5d03b
https://github.com/user-attachments/assets/edf09531-ed66-4709-9b78-5edc90843510
Add this to your plugin configuration:
return {
"Rtarun3606k/TakaTime",
lazy = false,
config = function()
-- Optional: Enable debug mode if you run into issues
require("taka-time").setup({
debug = false
})
end,
}
Step 1: Get a Database
You need a MongoDB connection string. You have two free options:
(only if you keeping changing wifi)Step 2: Initialize the Plugin
Open Neovim.
Run the setup command: Vim Script
:TakaInit
Paste your MongoDB Connection String when prompted. (This is saved securely in your local data folder, ~/.local/share/nvim/taka_data.json).
Step 3: Verify
Run the status command to check if everything is working: Vim Script
:TakaStatus
If it says "✅ TakaTime is configured and running," you are good to go!
TakaTime comes with a report generator that works with GitHub Actions to update your Profile README automatically.
Prepare your Profile Repo
Go to your GitHub Profile Repository (the one named username/username).
Go to Settings > Secrets and variables > Actions.
Add a New Repository Secret named MONGO_URI with your connection string.
(Optional) Add GIST_TOKEN if you plan to use Gists (not required for direct README updates).
Add the Markers
<!--takatime-start-->
> [!NOTE]
> **TakaTime Dashboard**
> _Jan 19_ to _Jan 26_
> [!TIP]
> **Total Coding Time (7d):** 4h 19m
#### 📈 Trends
| Period | Duration | Period | Duration |
| :--- | :--- | :--- | :--- |
| Yesterday | **0m** | Last 7 Days | **4h 19m** |
| Last 30 Days | **11h 7m** | All Time | **11h 7m** |
#### 💻 Languages
| Language | Time | Percentage |
| :--- | :--- | :--- |
| **go** | 3h 2m | 🟦🟦🟦🟦🟦🟦🟦⬜⬜⬜ 70.3% |
| **html** | 31m | 🟦⬜⬜⬜⬜⬜⬜⬜⬜⬜ 12.0% |
| **plaintext** | 28m | 🟦⬜⬜⬜⬜⬜⬜⬜⬜⬜ 10.8% |
| **c** | 12m | ⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜ 4.6% |
| **Other** | 6m | ⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜ 2.3% |
#### 🔥 Projects
| Project | Time | Percentage |
| :--- | :--- | :--- |
| **taka-time.nvim** | 3h 2m | 🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜ 70.3% |
| **cd** | 46m | 🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜ 17.8% |
| **CC-Lab1** | 31m | 🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜ 12.0% |
<!--takatime-end-->
Create a file in your repo at .github/workflows/update-stats.yml and paste this content:
name: Update TakaTime Stats
on:
schedule:
- cron: "0 0 * * *" # Runs every midnight UTC
workflow_dispatch: # Allows manual trigger
jobs:
update-readme:
runs-on: ubuntu-latest
permissions:
contents: write # Needed to download releases
steps:
- name: Download Taka-Report Binary
env:
GH_TOKEN: ${{ github.token }}
run: |
# Downloads the latest stable binary
gh release download --repo Rtarun3606k/TakaTime --pattern "taka-report-linux-amd64" --output taka-report
chmod +x taka-report
- name: Generate Report & Update Profile
env:
MONGO_URI: ${{ secrets.MONGO_URI }}
GIST_TOKEN: ${{ github.token }}
TARGET_REPO: ${{ github.repository }}
run: ./taka-report -days=7
Note: This workflow downloads the taka-report tool and runs it against your database to generate stats.
"TakaTime is not configured"
Run :TakaInit again and ensure your URI is correct.
Check if the secret file exists: ~/.local/share/nvim/taka_data.json.
Upload Failed / Syncing Forever
Enable debug mode in your config:
require("taka-time").setup({ debug = true })
Run :messages in Neovim to see the logs.
Ensure your IP address is whitelisted in MongoDB Atlas.
For Changes Look for CHANGELOG.md
Active Beta: This project is currently in active development. We might introduce breaking changes in future updates as we refine the architecture. Use at your own risk.
Documentation: This documentation was generated with the assistance of AI. While we strive for accuracy, there may be minor errors or typos.
Feedback: If you encounter any bugs, have feature requests, or notice documentation errors, please feel free to open an issue or report it to Rtarun3606k.
New screenshots and visual updates will be added soon!
MIT License. See LICENSE for details.
[!NOTE] TakaTime Dashboard Jan 19 to Jan 26
[!TIP] Total Coding Time (7d): 4h 19m
| Period | Duration | Period | Duration |
|---|---|---|---|
| Yesterday | 0m | Last 7 Days | 4h 19m |
| Last 30 Days | 11h 7m | All Time | 11h 7m |
| Language | Time | Percentage |
|---|---|---|
| go | 3h 2m | 🟦🟦🟦🟦🟦🟦🟦⬜⬜⬜ 70.3% |
| html | 31m | 🟦⬜⬜⬜⬜⬜⬜⬜⬜⬜ 12.0% |
| plaintext | 28m | 🟦⬜⬜⬜⬜⬜⬜⬜⬜⬜ 10.8% |
| c | 12m | ⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜ 4.6% |
| Other | 6m | ⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜ 2.3% |
| Project | Time | Percentage |
|---|---|---|
| taka-time.nvim | 3h 2m | 🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜ 70.3% |
| cd | 46m | 🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜ 17.8% |
| CC-Lab1 | 31m | 🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜ 12.0% |