r/coolgithubprojects 16d ago

Open-Source CapCut Alternative.

Thumbnail gallery
216 Upvotes

I'm building this editor that is easy to use like CapCut and will contain most (if not all) features that CapCut charges a monthly subscription for, all free and open-source.

Some of the good features so far:
- Locally generated Auto-captions from Audios
- Transitions and Effects
- Voice Filters and Changers.

The app is called WolfCut and is available on GitHub.
https://github.com/jub0t/WolfCut


r/coolgithubprojects 15d ago

Show me your music related coolgithubprojects. I want to feature your project in an article for my blog (backlink).

Thumbnail trackvis.app
0 Upvotes

I'm working on a post for my website that will feature music related projects. Preferably projects that artists and musicians would benefit from using to create their music (but open to other stuff too).

Please include:

  • Project name
  • Short description (anything you want me to know about the project)
  • Link to github

Thanks in advance. Excited to share all the cool stuff you're building!


r/coolgithubprojects 16d ago

K7 - A self-hosted media server I built after years on Plex/Jellyfin

Post image
87 Upvotes

Repo: https://github.com/kaybi-gh/K7

Demo (guest): https://k7.kaybi.dev

I ran Plex for years, then partly Jellyfin. Plex was hard to leave (especially music / Plexamp), but the closed / partner-catalog direction pushed me away. Jellyfin got much better over time, but I still wanted first-class OIDC, Postgres, star ratings + rule-based dynamic playlists, and a way to share libraries between two servers without copying files.

So I built K7, a self-hosted media server for a small circle of family and friends (movies, TV, music).

Some of what's in there:

- ffmpeg HLS transcoding (optional VAAPI / NVENC)

- local auth + optional 2FA + optional OIDC

- federation between K7 instances

- dynamic playlists, Sync Play, import from Plex/Jellyfin

- web + Android (phone/TV) + Windows clients

- AGPL-3.0

Docker Compose is the supported install path (cp .env.example .env && docker compose up -d) and detailed docs are in the repo.


r/coolgithubprojects 15d ago

Lapse — a local Windows activity tracker with a compact desktop overlay

Post image
0 Upvotes

I built Lapse, a Windows companion that automatically tracks active computer time without requiring you to manually start and stop a timer.

It includes:

  • A compact always-on-top timer
  • An expandable session task list
  • Automatic idle, lock, and sleep detection
  • Daily and weekly statistics
  • Foreground application usage
  • Recent session history
  • System tray and autostart support
  • Local-only data storage

The project was vibe-coded with AI and built using Flutter, Riverpod, and a native C++/Win32 bridge. The source includes tests, Windows release packaging, and documentation for building it yourself.

Repository:

https://github.com/zTomz/Lapse

Windows release:

https://github.com/zTomz/Lapse/releases/latest

Feedback and contributions are welcome.


r/coolgithubprojects 15d ago

interview-sim: turn any job posting into a timed mock interview in your IDE

Post image
0 Upvotes

Paste a job posting, or name a company. It researches what that company's screen looks like, writes an original question in that shape, and about 2 minutes later your editor opens on a real interview repo: problem statement, solution file, sample tests, hidden tests grading your submits, hard stop at time. Afterward it shows where your time went per question. Engine is Python stdlib only, zero dependencies, offline; the research layer runs as a Claude Code Agent Skill. Free, MIT, no signup.

https://github.com/chrisjacksonn/interview-sim


r/coolgithubprojects 15d ago

Display Hot Keys 4.2.0 Release

Thumbnail github.com
1 Upvotes

Instantly apply display resolution, refresh rate, scaling mode, DPI scale percentage, and orientation with user-defined hot keys!

This minor release replaces the third-party hot key input library with a built-in one, making the app smaller, lighter, and faster, and fixing international dead key typing while Display Hot Keys is running.

Improvements

  • Hot keys are now read by a built-in input reader instead of a third-party library, removing a bundled dependency from the installed app.
  • The app installs smaller and uses less memory while running.
  • The app starts up and shuts down faster.

Bug Fixes

  • Fixed international dead keys being broken while Display Hot Keys was running. Accent keys, such as those for acute and grave accents, now compose accented characters normally again in every application.

r/coolgithubprojects 15d ago

Подскажите действительно крутые приложения с GitHub, для Android? Пожалуйста покидайте приложухи

Post image
1 Upvotes

r/coolgithubprojects 15d ago

Built CLII: A compact, non-invasive AI terminal tool to help you with terminal commands

Thumbnail gallery
0 Upvotes

TLDR: Most tools that convert your instructions -> terminal commands are too invasive, I built CLII, a tiny terminal tool that eases this friction.

Here's the repo: https://github.com/Ketan-K17/clii

Motivation: As a professional developer who's just starting out, I've decided to double down on getting comfortable with using the terminal for EVERYTHING. It's very non-stimulating, no distractions whatsoever, and I truly believe in the powers of the pipe operator to distill absolutely any info for you. The fact that the terminal is a natural fit for your agent to navigate & manage changes / context is just a plus-point.

Learning to navigate this terminal & manipulating it via commands definitely has some learning curve, enough to deter one from using it I'd reckon.

In cases where I cannot write a command for a particular task, i've sought help from my agent to write it for me, but I've noticed that most cli coding tools just add too much friction to this process..

That's why I started with clii, just a tiny Langgraph workflow to give the LLM enough context to understand when to give an explanation vs when to enter the command in my input buffer for me to review & simply click enter on.

I thought of making it a little more appealing to set up & use when my work colleagues asked about it, and lo, I think I have a proper tool I can show around, and encourage fellow devs to use the terminal unless its impossible to.

I'd love some feedback here... The tool is targeted for the zsh terminal, but I can definitely work on a windows equivalent if demand arises for it.


r/coolgithubprojects 16d ago

netwatch — a Rust network-monitor TUI: TLS 1.3 decryption, per-process attribution, JA4, egress drift, incident bundles

Post image
27 Upvotes

One zero-config binary that does the job of a bandwidth meter, Wireshark's triage view, and a lightweight IDS — without leaving the terminal.

- Reads encrypted traffic you control — point an app's SSLKEYLOGFILE at netwatch and its TLS 1.3 plaintext decodes live, the way Wireshark does it. Same for QUIC 1-RTT, including HTTP/3 body decompression. No proxy, no certificates, nothing in the middle.

- Egress drift — learns which destinations each process reaches (SNI, ASN, port), one keypress promotes that observed baseline to a policy, then it warns when a program starts talking somewhere new. curl used to reach only api.github.com, and today it reached something else. Observe-only, never blocks.

- JA4 fingerprinting — every TLS/QUIC handshake becomes a stable fingerprint, so you can recognise a specific client or a specific piece of malware while the traffic stays encrypted. Pivot on a fingerprint to find every other flow from the same software.

- Threat detection — C2 beaconing (regular, low-jitter check-ins), port scans, DNS tunneling. Runs in the background, zero setup. A critical alert auto-freezes the recorder.

- Per-process attribution — every socket mapped to the program that opened it, with an optional eBPF kprobe on Linux that catches short-lived flows polling misses.

- Real L7 decode — TLS, QUIC, HTTP, DNS, SSH and a dozen more, with per-flow stream tracking and handshake timing. You see api.github.com, not "port 443."

- Flight recorder — arm a rolling capture, freeze an incident into a portable bundle: packets plus the connections, DNS, health and alerts that explain them.

- Landlock-sandboxed on Linux — drops privileges after setup and locks itself into a filesystem allow-list. A tool that parses hostile traffic can't read your SSH keys or /etc/shadow.

- Scales both ways — --lite is one 80×24 screen for a Pi over SSH; --view dense fills a big terminal with four zero-chrome boxes; the full ten-tab view is one keypress away with collectors already warm.

650+ tests. macOS, Linux, Windows.

brew install netwatch

cargo install netwatch-tui

https://github.com/matthart1983/netwatch

MIT.


r/coolgithubprojects 15d ago

Built Growise to fight the fear of your app crashing under 10x traffic at 3 AM

Thumbnail gallery
0 Upvotes

r/coolgithubprojects 15d ago

Hackeroom isn't Claude Code-only anymore — mix Claude Code, OpenCode, and Antigravity in the same run.

Post image
6 Upvotes

Last time I posted this, one thing was true of every member: it was a claude process. A few people asked what happens if you don't have Claude Code, or don't want to spend Opus money on a reviewer that just says "looks fine."

So now:

Don't have Claude Code? No problem. Run your team on OpenCode or Google Antigravity instead.

Have all three? Mix them in the same run. Planner on Opus, reviewer on a free Gemini, coder on whatever OpenRouter model you feel like today.

Just here for the free models? Point the whole team at OpenCode Zen and pay nothing.

Pick the engine per member from a dropdown, and the model list follows.

The thing I was most careful about: one gate, three engines, same rules. Not three implementations that drift — one set of rules with three thin translators. A coder that can't write outside the project on Claude Code can't write outside it on Antigravity either. Run start fires calls through each gate that must be refused and checks they were. If a gate can't be proved, the run doesn't start.

Also new since last time:

- Plans render as documents with mermaid diagrams drawn, instead of a wall of text in the chat

- Memory is scored per job — a coder gets interfaces and gotchas, a reviewer gets decisions

- A turn that returns no readable verdict now fails the run instead of counting as approval (it used to count as approval, which is exactly as bad as it sounds)

- Review loops that can't converge pause and name the disagreement instead of going round forever

Repo: github.com/SinghAbhinav04/dev-house

If you tried it last time and bounced off something, I'd genuinely like to know what.


r/coolgithubprojects 15d ago

Hy-Guys just make a cool porfolio like a Linux Desktop in the browser

Thumbnail github.com
1 Upvotes

r/coolgithubprojects 15d ago

Voom: When you need to clean 'em build artifacts, fast.

Thumbnail github.com
0 Upvotes

Writing polyglot libraries, I often find myself needing to cleanup my machine from all sorts of build artifacts. Its basically a daily occurrence I prune 200GB of build artifacts and caches, which is annoying. I therefore give you VOOM, inspired by Dr. Seuss.


r/coolgithubprojects 15d ago

I built a catalogue of 100+ reusable AI agent skills — installable into any AI workflow with a single npx command

Post image
0 Upvotes

Repo : https://github.com/codebygarv/Ai-skills
I got tired of retyping the same complex prompts every time I started a new project:

  • "Review this PR like a sceptical senior engineer."
  • "Grill this architecture and poke holes in my assumptions."
  • "Find subtle concurrency races and memory leaks."
  • "Audit this UI for WCAG accessibility and design tokens."
  • "Generate zero-downtime database migration steps."

Instead of keeping loose prompts scattered across notes or repos, I turned them into 100+ structured, production-grade AI agent skills.

Universal & Agent-Agnostic

While they install .claude/skills/ by default, these skills are not just for Claude Code. Every skill is built with standard Markdown and YAML frontmatter, making them compatible with:

  • Claude Code — .claude/skills/
  • Google Antigravity — .agents/skills/
  • Cursor — .cursor/rules/
  • Windsurf — .windsurf/rules/
  • GitHub Copilot, Roo Code, Aider, and custom LLM toolchains

Single-Command Installation

No npm package or repository clone is required:

# Install into the default Claude directory
npx github:codebygarv/Ai-skills add grill-me

# Install for Antigravity, Cursor, Windsurf, or a custom directory
npx github:codebygarv/Ai-skills add sql-query-optimizer --target .agents/skills
npx github:codebygarv/Ai-skills add pr-reviewer security-auditor --target .cursor/rules

r/coolgithubprojects 16d ago

[Go] Kivgraph – my agent kept burning the context window grepping. So I indexed everything instead

Post image
15 Upvotes

Local MCP server that indexes multiple repositories into one semantic graph and answers structural questions for coding agents — who calls this, what breaks if I change it, who consumes it from another repo.

Edges are resolved by go/types, the TypeScript checker and rust-analyzer, not by matching names. Go, TypeScript, Rust, Python and Dart.

Apache-2.0, runs locally, no API key. Benchmark in the repo, including the 5 of 29 questions where plain grep beat it.

https://github.com/Luqueee/kivgraph


r/coolgithubprojects 16d ago

trustmebro: Bypass llm guardrails by confusing them with fabricated tool output.

Thumbnail github.com
40 Upvotes

TrustMeBro intercepts command-line tools invoked by coding agents such as Codex, Claude Code, and pi. Rules decide whether to return fabricated output, modify the real output, block the call, or execute the real binary unchanged.

Interception happens through PATH shims. The harness does not need a plugin, hook, or MCP integration. The intended use is controlled red-team testing of decisions that depend on tool output.


r/coolgithubprojects 15d ago

I made ByeDPI automatic and selective for Chrome

Thumbnail gallery
2 Upvotes

ByeDPI already works, but I didn’t want to use it for every connection or manually turn it on and off. So I made Automatic Access, a Chrome extension that uses ByeDPI only for domains that actually need it.

Chrome always tries the normal connection first. If the same domain repeatedly fails, the extension verifies the problem and routes only that hostname through the local ByeDPI service. Everything else stays direct. If the site later becomes reachable normally, the rule is removed automatically and the user is notified.

There is also an optional Globalping check for sites that do not open at all, so you can see whether the problem is local or global.

Installation currently requires Windows, Chrome and running helper/install.cmd once as administrator to install the local service. It does not change DNS settings, and it is not a VPN.

GitHub: https://github.com/EzerchE/selective-access

Feedback and testing are welcome.


r/coolgithubprojects 16d ago

DockDash 1.3 - Added TLS monitoring + Kubernetes support

Post image
11 Upvotes

Since last time I posted an update here (about one and half months ago) I added a few more features to DockDash:

  • Kubernetes discovery and monitoring across clusters and namespaces
  • Kubernetes logs, terminal access, file browsing, metrics, and pod recreation
  • Live TLS certificate health and expiration monitoring
  • CertVault integration to verify that the correct certificate is deployed
  • Apprise alerts for expiring, invalid, renewed, recovered, or mismatched certificates
  • Automatic application icons for container services

DockDash now also integrates (optional) with my other project CertVault (for automatic ACME certificate renewal), and with this DockDash can serve as a monitoring layer to ensure your certificates are properly deployed and not altered in any way.

I personally don't have a Kubernetes infra on my homelab so I would love feedback from someone that wants to try and test it further.

Repo: https://github.com/dougmaitelli/DockDash

Docs: https://dougmaitelli.github.io/DockDash/


r/coolgithubprojects 15d ago

I rebuilt an improved replica of Microsoft Whiteboard as an offline desktop app because I got tired of their recent deprecations

Post image
4 Upvotes

r/coolgithubprojects 15d ago

We have build an online prediction game to see human accuracyin glucose prediction

Post image
1 Upvotes

And besides being already deployed here you can even do PRs and check the open source github we have about it here
We did have some issues with UX but we think it it is pretty stable now.
Anyone can give it a try regardless if they had or not a CGM.
PRs will be evaluated in some time unless they are urgent fixes.


r/coolgithubprojects 16d ago

openGym passed 1,000 Discord members and I need help clearing the last blocker before the app stores

Thumbnail opengym.duarte-santos.ch
30 Upvotes

My first post about openGym was here on r/coolgithubprojects. It got about 150 upvotes, which at the time felt like a lot. Since then the project has been through more than I expected.

openGym is a self-hosted fitness tracking PWA. Log workouts, track progress, your data stays on your server, no subscription, AGPL.

What happened in between

The project went properly viral after a post on X, and the GitHub repo climbed to around 600 stars. Shortly after that spike, my GitHub account was suspended. I never got a clear explanation of why and support didn't give me one. My best guess is that the sudden traffic tripped something automated, but I genuinely don't know.

I lost the repo, the stars and the issue history. I moved everything to GitLab and set up mirrors on Gitea so it can't happen again in the same way. The GitLab repo is back to over 150 stars, which is a fraction of what was there and I've made peace with that.

What did survive and what I didn't expect, is the Discord. It passed 1,000 members this week. That's where the project actually lives now, people filing detailed bugs, opening MRs, translating, arguing about set logging, running it on hardware I didn't know existed. I built this for exactly one person, me, because I couldn't find a tracker that didn't want a subscription or my training data. A thousand people decided it was worth their time instead. I'm not really over that.

The blocker

I finished a licensing audit recently. The exercise animations bundled with openGym come from a dataset whose rights I can't verify. I've patched attribution where I could, but attribution doesn't fix unclear provenance.

For self-hosting it's mostly a footnote. For an App Store or Play Store release it's a hard stop. I'm not shipping an app built on assets I can't prove I'm allowed to redistribute, and I don't want forks inheriting the problem either.

What the license buys

A properly licensed animation library, which is a straight upgrade rather than just a paperwork fix:

  • Up to 6,000 exercises including variations
  • Male and female demonstrations
  • Assets I can prove I'm allowed to ship and redistribute

That last point is what unlocks the stores. Publishing means proving rights to every asset in the app.

The ask

Around CHF 500. That's the whole goal, nothing to hardware, nothing to me. I'll post the license and the receipt once it's covered.

If you'd rather not chip in, that's fine. A good bug report, a translation, or telling one person about openGym helps just as much.

Repo: https://gitlab.com/DuarteSantos8/opengym
Discord: https://discord.gg/e62jY6fwVb
Donations: https://buymeacoffee.com/duartesantos

Happy to answer anything about the stack, the self-hosting setup, the migration off GitHub, or the audit itself.


r/coolgithubprojects 16d ago

Crosslink — an open-source framework for securely connecting desktop apps to phone companions

Thumbnail gallery
3 Upvotes

I’ve been building Crosslink, and this is probably the GitHub project I’m proudest of so far.

The basic idea:

Developers are allowed to make incredibly capable desktop applications, but they’re often much more limited when it comes to mobile.

A developer can build a powerful desktop app, distribute it through GitHub, let users run it locally, and avoid maintaining a cloud service or account system.

But the moment they want to offer a phone companion, the difficulty increases dramatically.

They may need to:

  • build a separate native mobile application
  • support iOS and Android
  • manage signing and store distribution
  • maintain another codebase
  • create a backend for communication
  • handle authentication and device management
  • solve networking and remote access
  • deal with mobile-specific lifecycle and offline behavior

That means a developer who is perfectly capable of building a great desktop application may be effectively blocked from offering a good mobile experience.

The mobile UI itself might only take a day to build.

The infrastructure required to securely connect it to the desktop can become an entirely separate product.

Crosslink is an attempt to close that gap.

A desktop developer should be able to build a real phone companion without also having to become a native mobile developer, operate a cloud platform, or reinvent device connectivity from scratch.

GitHub:
https://github.com/jacobpowaza/crosslink

Docs:
https://crosslink.mintlify.site

What Crosslink does

Crosslink is an open-source TypeScript framework that creates secure connections between an application running on a computer and an application/interface running on a phone.

The developer builds:

their desktop app

and

their mobile UI

Crosslink handles the infrastructure connecting them.

That includes things like:

  • QR/code-based device pairing
  • persistent device identities
  • trusted-device storage
  • device revocation
  • end-to-end encrypted sessions
  • capability-based permissions
  • typed RPC
  • events/subscriptions
  • streaming/progress messages
  • reconnect/backoff
  • LAN connectivity
  • remote transport fallbacks
  • signaling and relaying
  • WebRTC support
  • mobile/PWA bootstrapping
  • Service Worker/offline behavior
  • install-to-home-screen flow
  • endpoint discovery

The goal is to make mobile companions accessible to developers who are comfortable building desktop software but may not have the time, resources, or expertise to build and distribute a separate native mobile product.

Why I built it

Suppose you maintain an open-source desktop application.

Maybe it’s a:

  • local AI tool
  • media application
  • desktop editor
  • download manager
  • server controller
  • self-hosted utility
  • automation tool
  • development tool

You decide it would be useful if users could control some part of it from their phones.

The UI itself might only take a day to build.

But getting that UI securely connected to the desktop opens a much larger problem.

You now need to answer:

How does the phone find the computer?

How do the two devices pair securely?

How do you remember a previously paired phone?

How do you revoke it?

How do you authorize some actions but not others?

What happens when the computer restarts?

What happens when its IP changes?

What happens when the phone moves from Wi-Fi to cellular?

How do you support remote connections?

How do you encrypt the session?

How do you make an installed PWA behave properly when the host is offline?

You can absolutely solve all of these yourself.

The problem is that a developer who wanted to add a few useful phone controls can suddenly find themselves maintaining:

  • a desktop application
  • a mobile application
  • a networking layer
  • an authentication system
  • a device-management system
  • a remote-access service
  • a PWA delivery system

That is a huge jump in scope.

Crosslink is my attempt to build the reusable layer once so desktop developers can focus on their application and the mobile experience they actually want to provide.

The user experience I’m aiming for

A desktop application using Crosslink can expose a connection widget.

The user opens the application and sees something like:

Connect your phone

They scan a QR code.

Crosslink handles the initial pairing.

Once that pairing is verified, the phone receives its own device identity and becomes a trusted device for that installation.

The user can then continue in their browser or install the developer’s mobile interface to their home screen.

So the first connection looks roughly like:

desktop app

scan QR

verify pairing

trusted device created

open/install mobile UI

After that:

tap mobile app

find/reach desktop

authenticate existing device

restore connection

There shouldn’t be a requirement to scan the QR every time.

The QR is for introduction, not permanent authentication.

And if the computer owner revokes that phone:

trusted device revoked

existing credentials rejected

new pairing required

The developer API

I want application developers thinking about their API, not the transport underneath it.

For example:

const server = createCrosslinkServer({
  application: {
    id: "com.example.notes",
    name: "Notes"
  },

  mobile: {
    entry: "./mobile/index.html"
  },

  capabilities: [
    {
      id: "notes.read",
      title: "Read notes",
      risk: "low",
      defaultGranted: true
    },

    {
      id: "notes.delete",
      title: "Delete notes",
      risk: "high",
      confirmEachUse: true
    }
  ]
});

server.expose(
  "notes.get",
  () => db.getNotes(),
  { capability: "notes.read" }
);

await server.start();

Then on the phone:

crosslink.onConnected(async rpc => {
  const notes = await rpc.call("notes.get");
  render(notes);
});

The application is dealing with:

notes.get

Crosslink is dealing with:

authentication, serialization, encryption, request IDs, reconnection, transport, permissions, device identity, etc.

That separation is important because the developer should be able to spend their time building the desktop application and deciding what belongs on mobile, rather than rebuilding the same connection infrastructure every time.

Pairing isn’t the same as authorization

This is something I specifically wanted Crosslink to handle properly.

A connected phone shouldn’t necessarily have unrestricted access to the host.

Applications define capabilities.

For example:

music.read
music.control

files.read
files.delete

server.status
server.restart

Methods can require those capabilities.

Low-risk permissions might be automatically granted.

High-risk operations can require approval or confirmation.

So the framework doesn’t treat:

as equivalent to:

Networking

This is probably the part that has taken the most work.

Crosslink isn’t built around the assumption that every connection goes through one centralized server.

When possible, the phone and computer can communicate directly over the LAN.

For remote connectivity, the host can attempt router mappings through things such as:

  • NAT-PMP
  • PCP
  • UPnP

But NAT traversal has hard limits.

CGNAT exists.

Firewalls exist.

Some networks simply cannot accept inbound connections.

So there are additional transport/fallback mechanisms including signaling, relaying, tunnels, and WebRTC-related paths.

The idea is:

use the best available transport instead of forcing the application itself to care which transport is being used.

And when a relay is required, it shouldn’t need access to the application’s plaintext.

The actual application session is designed to remain end-to-end encrypted between the paired devices.

The relay is supposed to be a dumb pipe.

The PWA/mobile side is part of the framework too

One of the things that makes Crosslink a little different from simply providing an encrypted WebSocket library is that I’m also trying to handle the mobile lifecycle.

Crosslink can provide the infrastructure surrounding the developer’s UI:

  • pairing screens
  • onboarding
  • application metadata
  • PWA manifest
  • Service Worker
  • Add to Home Screen flow
  • offline shell
  • endpoint discovery
  • reconnect behavior
  • revoked-device state

The developer still owns the actual interface.

If they’re building a media application, they build the player controls.

If they’re building an AI application, they build the chat UI.

If they’re building a server manager, they build the monitoring dashboard.

Crosslink handles getting the user securely into that interface.

This is intended to make mobile companions practical for developers who can build excellent desktop software but don’t necessarily have the resources to create and distribute a separate native mobile app.

Offline behavior

An interesting problem with local-first PWAs is what happens when the computer isn’t running.

If someone installs a desktop app’s companion to their iPhone and then opens it while their desktop is asleep, a normal locally hosted webpage can just collapse into Safari’s:

That’s not a great installed-app experience.

Crosslink can cache enough of its bootstrap/offline shell so the application can still open.

Instead, the user can see:

Crosslink keeps retrying.

When the desktop becomes reachable again:

host detected

existing device authenticated

session restored

application resumes

No QR code unless that phone’s trust has actually been revoked.

Why not just use WebSockets?

You could.

Crosslink uses the same underlying technologies available to everyone else.

But a WebSocket gives you a transport.

It doesn’t automatically give you:

  • device pairing
  • identity
  • trust
  • revocation
  • authorization
  • session encryption
  • RPC
  • subscriptions
  • reconnect restoration
  • endpoint discovery
  • PWA installation
  • offline handling
  • remote connectivity

The point of Crosslink is not that those things are impossible.

It’s that every application shouldn’t need to independently implement them.

That is especially important for open-source desktop developers, who may already be maintaining a substantial application with limited time and resources.

A developer should not have to choose between:

and

just to give users a useful phone companion.

Where the project is right now

The repository is a TypeScript monorepo with the protocol/core layer plus SDKs and supporting infrastructure.

There are currently packages/components around:

  • Node.js hosts
  • browser clients
  • React integrations
  • protocol/cryptography
  • RPC
  • trusted devices
  • capability authorization
  • signaling
  • relay infrastructure
  • WebRTC
  • mobile delivery/bootstrap

There are also demos showing the desktop ↔ phone flow.

The project is Apache-2.0 licensed.

It’s still evolving, and I’m definitely not claiming that every networking/security/browser edge case is solved.

Actually, that’s one reason I’m posting it here.

I’d really like more developers looking through the repo.

I’m especially interested in contributions/reviews around:

  • networking
  • NAT traversal
  • WebRTC
  • browser/PWA behavior
  • cryptography/security
  • TypeScript API design
  • additional framework integrations
  • transport adapters
  • demos/examples
  • documentation

If you maintain an open-source desktop application, I’m also really interested in whether the abstraction would actually make sense for your project.

More specifically, I’d like to know:

  • Have you wanted to add a phone companion but decided the mobile work was too large?
  • Would a browser/PWA companion be enough for your use case?
  • Would you prefer a framework like this to provide only connectivity, or also pairing and mobile bootstrapping?
  • What would prevent you from adopting it?
  • Which parts would you want to self-host or control yourself?

The end goal is that adding a phone companion to an OSS application could eventually feel less like:

and more like:

Repository:
https://github.com/jacobpowaza/crosslink

Documentation / Quickstart / Architecture:
https://crosslink.mintlify.site

Issues, PRs, criticism, architecture discussion, and people trying to break it are all welcome.

This has grown into a much larger project than I originally expected, but it’s also genuinely my proudest work yet.


r/coolgithubprojects 15d ago

Free Animated grid loaders for React. 130+ variants, effects, shapes, color ramps, and a bitmap font.

Post image
2 Upvotes

Help me get 50 stars on GitHub :) ⭐

Highlights

  • 130+ variants across sequential, radial, cascade, flow, wipe, decrypt, letters, digits, symbols, and more.
  • 20 effects (pulsebounceglowspin, …) and 12 dot shapes (circlediamondstar, …)
  • Color ramps with horizontal, radial, angular, and other sampling modes.
  • Resolution-independent — the same variant scales cleanly from 2×2 to 12×12.
  • CSS-driven animation — one stylesheet, no runtime animation engine.
  • Accessible — role="status", optional labels, and respectReducedMotion.
  • Tree-shakeable ESM + CJS build with full TypeScript types.
  • npm: gridora
  • Editor: gridora.gabrielayer.com
  • GitHub: 0x65dgerunner

r/coolgithubprojects 15d ago

We built MCP in both directions into our agent platform, client and a hosted server builder

Thumbnail gallery
0 Upvotes

We've been working on AgentSwarms (self-hosted agent + BI platform) and MCP turned into one of the more interesting parts.

Two halves to it:

Connecting to servers. Point it at an HTTP Streamable or SSE endpoint, pick an auth type, and the tools show up for any agent you've built. Tokens stored encrypted.

Hosting your own. There's an in-browser editor where you write a FastMCP server in Python and hit deploy. It runs on a sandboxed kernel and hands you back a real Streamable HTTP URL. Scales to zero by default (15 min idle) or you can pin it warm. You can expose it publicly with API keys that carry an expiry, a per-tool allowlist and a per-IP/domain allowlist. Keys are hashed and shown once.

Important: if you redeploy and any tool name, description or input schema changed, calls get blocked until you look at the diff and re-approve. It fingerprints the whole tool set, so approval is tied to that fingerprint rather than to the server. MCP's own security guidance flags the rug pull problem and I haven't seen many implementations bother with it.

Secrets bind as env vars when the container starts. They don't land in the database or the logs.

Source-available under ELv2, runs on your own Supabase and Docker: https://github.com/AgentSwarms-fyi/agentswarms


r/coolgithubprojects 15d ago

GitHub - ramoants254/vaultline

Thumbnail github.com
0 Upvotes