DEV Community

Cover image for Why I Keep My Apps Private and My Libraries Public
IamAdhitya
IamAdhitya

Posted on

Why I Keep My Apps Private and My Libraries Public

Every project I build falls into one of two buckets.

Apps go private. Libraries go public.

This isn't an accident. It's the most important strategic decision I've made as a solo builder, and I want to explain exactly why.

Apps are IP

When you build a product people pay for, the code is the least valuable part.

The valuable parts are the distribution, the brand, the user trust, and the specific decisions you made that nobody else can see. Putting the source code on GitHub doesn't help you — it just hands your architecture to anyone who wants to copy it before you've had a chance to build a moat.

My apps under Rewrite Labs are all closed source. No one can fork them, no one can inspect the payment flow, no one can see how I structured the AI logic. That's intentional.

Open sourcing an app you're trying to monetize is like publishing your playbook before the game starts.

Libraries are reputation

Every library I've shipped started as code I pulled out of an app because it was useful enough to stand alone.

When I built a Razorpay paywall component for one of my apps, I extracted it into react-premium-gate and published it on npm. When I got tired of LangChain for simple LLM chaining, I wrote groq-chain and put it on PyPI. When I needed LLM calls routed by cost and complexity, I built llm-router and open sourced it.

None of these hurt my apps by being public. They're infrastructure, not product.

What they do is build a public record of how I think about problems. Any developer who finds one of my libraries on GitHub gets a real signal — not a portfolio project, not a tutorial clone, but something I built because I needed it and decided to share.

That's the kind of proof of work that actually matters.

The separation is the strategy

Here's the thing most builders miss: your apps and your libraries serve completely different audiences.

Your apps serve your users. They don't care about the code. They care about whether the product solves their problem.

Your libraries serve other developers. They don't care about your product. They care about whether the code solves their problem.

Mixing these up — open sourcing apps for clout, or keeping libraries private to protect them — gets you the worst of both worlds. You give away your product edge and build no developer reputation.

Keep them separate and each one compounds on its own terms.

What this looks like in practice

I currently have 7 live apps under Rewrite Labs — all private, all on Vercel, all monetized. None of them are on my GitHub.

I also have 7 open source libraries — all MIT, all on GitHub at github.com/iamadhitya1, all published on npm or PyPI. None of them are products by themselves.

The apps pay for the time I spend on the libraries. The libraries build the credibility that makes people trust the apps. They feed each other without competing with each other.

The rule

If it makes money, keep it private.

If it makes you credible, make it public.

That's it. Everything else is just execution.

Here is the URL to Rewrite Labs and the tools we offer - https://rewritelabs.vercel.app/

You can find all of the apps I built here - https://github.com/iamadhitya1

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.