▲ 0 r/rust

keylight - for licensing layer, a sync, runtime-free Rust SDK

Disclosure: this is the MIT client SDK for a commercial licensing backend I run. The crate and the offline verification path are free/open.

crates.io/crates/keylight

docs.rs/keylight

github.com/keylight-dev/keylight-rust

keylight.dev

What it does: online activation returns a signed lease; the SDK verifies it with Ed25519 (ed25519-dalek) against the tenant's keyset, then feature-gating runs offline from the cached lease.

Implementation notes:

- Synchronous, no Tokio. It's a few calls on launch and on events, so it's blocking (ureq) rather than pulling in a runtime.

- Cached lease is stored device-bound, encrypted with ChaCha20-Poly1305, behind a LicenseStore trait. Transport is a trait too.

- There are Swift and JS SDKs as well; all three verify against the same shared JSON conformance vectors so a lease is interpreted identically across languages.

- First-party Tauri v2 plugin (tauri-plugin-keylight + tauri-plugin-keylight-api).

Feedback on the API and the runtime-free choice welcome...

reddit.com
u/nicolas1410 — 12 days ago

Launching alone. Marketing it alone.

The hard part was the building they said. No one ever mentioned how much of the truth that was.

I am a solo founder. I built keylight.dev, a licensing layer for desktop apps focused on macOS. I built it because I was suffering from my own problem: shipping Mac apps, having my licensing across different services-license keys, and all payments in one dashboard.

It took months to go from 1 user (me) to 10 users.

It's never been easier to build, and with AI tooling I can do in a week what would take a month. This also means anyone else can do in a week what would take them a month. The product is no longer the big thing; the product is no longer the bottleneck. Marketing is.

The grim reality of solo marketing:

\- No one is waiting for your product. Launch day was just a normal day.

\- "Build it and they will come" is dead, and "push it everywhere" is also dead. I've had things with over 20k views and zero signups, and then a single halfway-decent comparison page quietly keeps churning customers.

\- SEO is compounding but agonizingly slow. I ship content since 3 months until this day, and it's only starting to pick up.

\- Things that work feel agonizingly slow while doing them. Things that feel fast (launch platforms, viral splashes) generally don't work.

\- As a developer, writing blog posts feels like procrastination, while fixing a bug feels like progress. The bug only affects ten users, the post can affect ten thousand.

I tried Threads, which works for some type of apps, not for this one, I experimented cold emails they were opened at by 25-30% of people, but reply rate of 10-12% and close to 1% of conversion over 2 months and about 600 emails sent.

I changed my strategy now: I'm treating content like infrastructure, like something I schedule like code. I'm doing two blog posts per week, non-negotiably. Product updates goes in the changelog, and the narrative goes public. And I'm banking on people finding me where they actually search now – and that seems to be primarily within AI responses that people ask to their LLM, rather than on the first page of Google. The goal is that all licensing questions, leads to AI agents suggesting my web app.

No huge revenue screenshots or "0 to $10k in 30 days" proclamations here. Just a good product, and the hard, unsexy part nobody talks about.

If you are a solo marketer too: what's the one channel that has genuinely moved the needle? Not the one you like using. The one that worked. And what kind of content worked for you?

reddit.com
u/nicolas1410 — 24 days ago

Launching alone. Marketing it alone.

The hard part was the building. No one ever mentioned how much of the truth that was.

I am a solo founder. I built Keylight (keylight.dev), a licensing layer for desktop apps focused on macOS. I built it because I was suffering from my own problem: shipping Mac apps, having my licensing sprawled across different services-license keys in Paddle, payments all in one dashboard, activations in a bunch of crap I hacked together at 3am, customers complaining their key stopped working after a reinstall-each new app was a new instance of the same flaky setup.

So I built the tool I wished I had: one dashboard for keys, device activations, offline validation, trials, and subscription status, with a payment provider plugging into the backend and a single SDK that my app used. It's been working, customers are signing up, migrations from custom solutions are happening smoothly. I am genuinely very happy with the product.

Which is exactly the trap.

It's never been easier to build, and with AI tooling I can do in a week what would take a month. This also means anyone else can do in a week what would take them a month. The product is no longer the moat; the product is no longer the bottleneck. Marketing is.

The grim reality of solo marketing:

- No one is waiting for your product. Launch day was just a Tuesday.

- "Build it and they will come" is dead, and "push it everywhere" is also dead. I've had things with over 20k views and zero signups, and then a single halfway-decent comparison page quietly keeps churning customers.

- SEO is compounding but agonizingly slow. I ship content since 3 months until this day, and it's only starting to pick up.

- Things that work feel agonizingly slow while doing them. Things that feel fast (launch platforms, viral splashes) generally don't work.

- As a developer, writing blog posts feels like procrastination, while fixing a bug feels like progress. The bug only affects ten users, the post can affect ten thousand.

I'm changing my strategy now: I'm treating content like infrastructure, like something I schedule like code. I'm doing two blog posts per week, non-negotiably. Product updates goes in the changelog, and the narrative goes public. And I'm banking on people finding me where they actually search now – and that seems to be primarily within AI responses rather than on the first page of Google.

No huge revenue screenshots or "0 to $10k in 30 days" proclamations here. Just a good product, and the hard, unsexy part nobody talks about.

If you are a solo marketer too: what's the one channel that has genuinely moved the needle? Not the one you like using. The one that worked. And what kind of content worked for you?

reddit.com
u/nicolas1410 — 25 days ago

Launched it alone, marketing it alone.

The hard part was the building. No one ever mentioned how much of the truth that was.

I am a solo founder. I built Keylight (keylight.dev), a licensing layer for desktop apps focused on macOS. I built it because I was suffering from my own problem: shipping Mac apps, having my licensing sprawled across different services-license keys in Paddle, payments all in one dashboard, activations in a bunch of crap I hacked together at 3am, customers complaining their key stopped working after a reinstall-each new app was a new instance of the same flaky setup.

So I built the tool I wished I had: one dashboard for keys, device activations, offline validation, trials, and subscription status, with a payment provider plugging into the backend and a single SDK that my app used. It's been working, customers are signing up, migrations from custom solutions are happening smoothly. I am genuinely very happy with the product.

Which is exactly the trap.

It's never been easier to build, and with AI tooling I can do in a week what would take a month. This also means anyone else can do in a week what would take them a month. The product is no longer the moat; the product is no longer the bottleneck. Marketing is.

The grim reality of solo marketing:

- No one is waiting for your product. Launch day was just a Tuesday.

- "Build it and they will come" is dead, and "push it everywhere" is also dead. I've had things with over 20k views and zero signups, and then a single halfway-decent comparison page quietly keeps churning customers.

- SEO is compounding but agonizingly slow. I ship content since 3 months until this day, and it's only starting to pick up.

- Things that work feel agonizingly slow while doing them. Things that feel fast (launch platforms, viral splashes) generally don't work.

- As a developer, writing blog posts feels like procrastination, while fixing a bug feels like progress. The bug only affects ten users, the post can affect ten thousand.

I'm changing my strategy now: I'm treating content like infrastructure, like something I schedule like code. I'm doing two blog posts per week, non-negotiably. Product updates goes in the changelog, and the narrative goes public. And I'm banking on people finding me where they actually search now – and that seems to be primarily within AI responses rather than on the first page of Google.

No huge revenue screenshots or "0 to $10k in 30 days" proclamations here. Just a good product, and the hard, unsexy part nobody talks about.

If you are a solo marketer too: what's the one channel that has genuinely moved the needle? Not the one you like using. The one that worked. And what kind of content worked for you?

reddit.com
u/nicolas1410 — 26 days ago

If you're shipping a desktop app / macOS app.

Hey-Nico here, I build Keylight (keylight.dev). In short, it's my product, but it solves a very real problem regardless.

You've probably shipped a web app. You know auth. Session, JWT-done. Then you ship it, and start trying to monetize it, however, desktop licensing is a totally different game:

* App must work offline. No, you can't ping your session server every time the app is opened.

* You need device limits, but users will wipe their machine and reinstall and email you when their activation "doesn't work."

* Trials, free tiers, refunds, failed renewals-these all have to translate to "can this app run right now" somehow.

* Payment providers just gives you a "customer paid" status; everything else is on you.

I ended up building that backend 3 different times for my own apps before realizing I just wanted to turn it into an infrastructure service.

Keylight sits between your payment provider and your app. Webhooks from Stripe, Paddle, Lemon Squeezy, Polar, or Gumroad flow in; your app gets a single SDK (supports Swift now. Soon to come, Rust, C#, C++, JS/TS) from us call in response: is this device licensed? What tier? What features? It's got signed offline leases so your app continues to work when offline, and device management that customers can handle on their own instead of bugging your support.

The pitch is basically just time. Your licensing backend is time you can't anticipate + the hours of support, fixing bugs. Keylight is one day.

Free tier to get you started, no card required. If you've solved this in another way I'm actually curious to hear it. Building this has made me appreciate literally every solution out there that holds up to actual customer use.

reddit.com
u/nicolas1410 — 26 days ago
▲ 1 r/foss

Create awesome DMG for your apps with Lutin. Free CLI and Open-Source. + GUI Freemium and also Open-Source.

Hi team,

I created Lutin. Specific app for dev who ships their apps outside the appstore and need beautiful DMGs and easily automated.

https://preview.redd.it/6rbbl8nep15h1.png?width=2515&format=png&auto=webp&s=f3f9e9be8d33ac5d165b864b7fd3708aec002977

It's a CLI that handles the whole DMG creation process and release. Easily manageable from your AI Agents, all lives in a .yml file.

While the CLI is totally free. There's a GUI for humans to use as well, with up to 10 projects, then need to buy a lifetime license for support (high limit, as if you have more than 10 projects, you're making a bit of money I hope and you can afford to give 8$ for a lifetime license 👀 ).

An AI agent can work in the CLI and create a beautiful looking .dmg in a few minutes only. All you need to give is your .app.

The GUI works using the free CLI in the background, and the steps are:

- Import a .app

- Edit your .dmg look (background, other images, move the app icons, their size etc)

- Click release and it notarizes, signs, staples it all by itself, ready to be SHIPPED!

Have a look at it here and tell me what you think about it:
https://github.com/halloweedev/lutin

reddit.com
u/nicolas1410 — 29 days ago
▲ 1 r/Appstore+1 crossposts

Ship outside App Store

Hi guys!

I have been shipping a few apps out of the App Store.

And I was using Stripe for one, Paddle for the other…

After a while it became annoying to handle 2 platforms and if you think about migrating, it’s a headache, you have old versions of your app you can’t update anymore, … …

Which took me on the journey to build Keylight. That wasn’t easy and took a few months.

But there it is, the perfect licensing layer for macOS apps.

I’d love to know what you guys use, what are your pains, what are your feedbacks on Keylight!

I’d really appreciate your help. Find it here keylight.dev

Thank you all,

Nico

reddit.com
u/nicolas1410 — 1 month ago
▲ 7 r/Appstore+1 crossposts

Create awesome DMG for your apps with Lutin. Free CLI and Open-Source. + GUI Freemium and also Open-Source.

Hi team,

I created Lutin. Specific app for dev who ships their apps outside the appstore and need beautiful DMGs and easily automated.

https://preview.redd.it/6rbbl8nep15h1.png?width=2515&format=png&auto=webp&s=f3f9e9be8d33ac5d165b864b7fd3708aec002977

It's a CLI that handles the whole DMG creation process and release. Easily manageable from your AI Agents, all lives in a .yml file.

While the CLI is totally free. There's a GUI for humans to use as well, with up to 10 projects, then need to buy a lifetime license for support (high limit, as if you have more than 10 projects, you're making a bit of money I hope and you can afford to give 8$ for a lifetime license 👀 ).

An AI agent can work in the CLI and create a beautiful looking .dmg in a few minutes only. All you need to give is your .app.

The GUI works using the free CLI in the background, and the steps are:

- Import a .app

- Edit your .dmg look (background, other images, move the app icons, their size etc)

- Click release and it notarizes, signs, staples it all by itself, ready to be SHIPPED!

Have a look at it here and tell me what you think about it:
https://github.com/halloweedev/lutin

reddit.com
u/nicolas1410 — 1 month ago
▲ 27 r/rust_gamedev+9 crossposts

Keylight for MacOS Apps licensing

Hello! I'm Nico. Founder of and building Keylight, a licensing layer for macOS apps.

The idea came from a simple frustration: if you want to sell a macOS app outside the App Store, licensing quickly becomes messy.

You either use a full payment platform where license keys are just an extra feature, or you build your own system with keys, activations, renewals, offline access, analytics, customer portals, etc.

Keylight is trying to be the focused middle layer:

  • Issue and manage license keys
  • Support subscriptions, renewals, upgrades, and onetime purchases
  • Add offline license checks for macOS apps
  • See useful analytics around activations and usage
  • Work with providers like Stripe, Paddle, Lemon Squeezy, Polar, Gumroad, etc
  • Use a Swift SDK to integrate into your app

The goal is not to replace every payment provider.

It’s to give devs and small teams a proper licensing system without taking a big cut or forcing them into one specific checkout stack.

I’d love feedback from SaaS builders here:

Would you prefer a licensing tool to be tied directly to payments, or kept separate as its own layer?

And if you sell downloadable software, what’s the most annoying part of licensing for you right now?

Site: keylight.dev

u/nicolas1410 — 12 days ago