Tools thatfeel likeobjects.

Independent studio crafting focused software with simple, durable interfaces.

Refined SoftwareBuilt with CareTools as ObjectsArchitecture of SimplicityRefined SoftwareBuilt with CareTools as ObjectsArchitecture of Simplicity
CopyHub
CopyHub
a clipboard that remembers, locally

A clipboard that remembers, locally.

Native macOS clipboard manager with a paired Chrome extension. On-device OCR, instant FTS5 search, secret items behind Touch ID. No cloud. No sync. No telemetry.

CopyHub macOS app
Native macOS implementation with local indexing
Specifications
Surgical focus,
refined depth.
Local OCR

On-device Vision framework reads text from screenshots and images, then indexes it for instant recall.

FTS5 search

Trigram tokenizer over text, file paths, OCR and tags. Sub-50 ms queries on 100k items.

Secret items

Sensitive captures gated by Touch ID. Never written to plain SQLite columns, never leave the device.

Experience CopyHub
a clipboard that remembers, locally
Stack
SwiftSwiftUISQLite FTS5Vision OCR
Design · Engineering
Habits, visibleYear at a glanceA grid that breathesHabits, visibleYear at a glanceA grid that breathes
HeatMap
HeatMap
track habits like you track commits

Track habits like you track commits.

A habit tracker built around a single visual everyone already understands, the contribution grid. Five intensity levels, deep stats, native widgets, full offline support.

Reading

Daily Goal

SepOctNovDec
MonTueWedThuFriSatSun

Workout

Counter

45
SepOctNovDec
MonTueWedThuFriSatSun
Specifications
Surgical focus,
refined depth.
Year-at-a-glance

Heatmap grid per habit. Five intensity levels, configurable target and unit, honest streaks.

Native widgets

WidgetKit widgets in three sizes for iOS and macOS. Tap-to-log without opening the app.

Offline-first

Local store, optional CloudKit sync. Works anywhere, syncs when you let it.

Experience HeatMap
track habits like you track commits
Stack
SwiftSwiftUICloudKitWidgetKit
Design · Engineering
Folders without the cloneOne link, one folderShip fasterFolders without the cloneOne link, one folderShip faster
GitHub DL
GitHub DL
download a folder, not a repo

Download folders from GitHub. No servers.

A surgical browser extension. Adds a download button next to any folder on github.com, streams files in your browser, zips locally. Supports private repos with your own token.

The Old Way
Clone the entire repo. Find the folder. Delete the rest.
~ 45s of friction
With 2kit DL
Click the folder. Download. Done.
~ 2s of action
15k+
Active Installs
Zero
Data Harvested
$0
Server Cost
+95%
Efficiency
Specifications
Surgical focus,
refined depth.
In-place button

Lives inside the GitHub UI itself. The download appears next to any folder row, exactly where you’d expect it.

Local zipping

Files stream into JSZip in your browser. No third-party server, no telemetry, no account. Install and use.

Private repos

Bring your own personal access token. Stored locally, scoped to the host you authorise.

Experience GitHub DL
download a folder, not a repo
Stack
TypeScriptChrome MV3JSZip
Design · Engineering
Math, one keystroke awayAlways on the sideQuiet utilityMath, one keystroke awayAlways on the sideQuiet utility
Sidebar Calc
Sidebar Calc
a calculator that doesn’t steal focus

A calculator that doesn’t steal focus.

A browser sidepanel calculator. Lives next to your work, CRM, spreadsheet, doc, never on top of it. Persistent history, scientific mode, keyboard-first.

Sidebar Calc supports both dark and light modes with seamless transitions
Specifications
Surgical focus,
refined depth.
Sidepanel-native

Built on Chrome’s native sidepanel. Doesn’t cover the page, doesn’t pop a window, never loses state.

Two modes

Simple for quick math, scientific for trig, logs and parentheses. Switch with one keystroke.

Keyboard-first

Numpad, arrow-key history scrubbing, copy result, theme toggle. Mouse never required.

Experience Sidebar Calc
a calculator that doesn’t steal focus
Stack
TypeScriptChrome Sidepanelmathjs
Design · Engineering
YouTube, on a dietHide the noiseOne toggle per thingYouTube, on a dietHide the noiseOne toggle per thing
yt-clean
yt-clean
YouTube, decluttered

YouTube, without the noise.

A surgical Manifest V3 extension. Hide Shorts, mixes, sponsored cards, trim the sidebar item-by-item, take a playback speed slider. Every toggle is opt-in, stored locally, master switch in the side panel.

Default YouTube
Shorts. Mixes. Sponsored. Endless scroll.
The noise you didn’t ask for
With yt-clean
Subscribe. Watch. Leave.
Just the videos you came for
20+
Features
Zero
Data Harvested
9
Languages
$0
Server Cost
Specifications
Surgical focus,
refined depth.
Granular hides

Shorts shelves, mixes, playlists, sponsored cards, masthead buttons, sidebar entries. Each one its own toggle, persisted locally.

Speed slider

A real range slider for playback speed, including a dedicated one for Shorts. No more clicking through 0.25 increments.

Declarative config

One config entry compiles into CSS, runtime behavior, and the side-panel UI. Adding a new feature is a 10-line diff.

Experience yt-clean
YouTube, decluttered
Stack
TypeScriptChrome MV3React 19Tailwind v4
Design · Engineering
Quota on a keySix providersNo terminal neededQuota on a keySix providersNo terminal needed
AI Limits
AI Limits
see the quota, not the bill

Quotas on your keys and dials.

A Stream Deck plugin that surfaces live AI coding-plan usage from Claude, Codex, Antigravity, Gemini CLI, MiniMax, and OpenRouter. Color-coded progress bars, reset countdowns, no terminal, no billing page.

Claude tile
Claude
Codex tile
Codex
Antigravity tile
Antigravity
Gemini CLI tile
Gemini CLI
MiniMax tile
MiniMax
OpenRouter tile
OpenRouter
Every action renders on a Keypad key with a brand-matched theme
Specifications
Surgical focus,
refined depth.
Six providers

Claude, Codex, Antigravity, Gemini CLI, MiniMax and OpenRouter. Each gets its own action and a brand-matched theme.

Keys & dials

Every action renders on standard Keypad keys and on Stream Deck+ encoders with a full dial layout.

Zero-friction auth

Reads credentials from the CLIs you already have installed. Only MiniMax and OpenRouter need a pasted key.

Experience AI Limits
see the quota, not the bill
Stack
TypeScriptStream Deck SDKRollup
Design · Engineering
Any URLAny valueOne pluginAny URLAny valueOne plugin
Fetcher
Fetcher
anything with a URL, on a key

Fetch any URL. Display any value.

A generic Stream Deck plugin. Point it at any HTTP endpoint, extract a value via JSON path or CSS selector, render it on a key or dial. Crypto prices, GitHub stars, CPU usage, service status — same plugin, different recipe.

BTC tile
BTC
ETH tile
ETH
Stars tile
Stars
CPU tile
CPU
Status tile
Status
ISS tile
ISS
Crypto · GitHub stats · System metrics · Service status · Live data
Specifications
Surgical focus,
refined depth.
JSON or HTML

Parse any JSON payload via path like `data.users[0].status`, or scrape any HTML page via CSS selector — even read attributes with `meta[name=price]@content`.

Keys & dials

Every action renders on standard 144×144 keys and on Stream Deck+ encoders with a full 200×100 dial layout. Push, rotate, or touch to refresh.

Polling with cache

Configurable interval, shared cache, manual refresh. Multiple keys pointing at the same endpoint share a single request — no API hammering.

Experience Fetcher
anything with a URL, on a key
Stack
TypeScriptStream Deck SDKRollup
Design · Engineering
Colophon, 06

Crafting
the next
standard.

We believe in software that feels like a physical object, weighted, intentional, and built to last.

© 2kit.app · 2026 · All Rights Reserved
Designed & Developed with Care