I built a zero-dependency, standalone date range picker for Angular 17+ — ngxsmk-datepicker
Hey everyone 👋
I’ve been working on an open-source component called [**ngxsmk-datepicker**](https://github.com/toozuuu/ngxsmk-datepicker) — it’s a **zero-dependency, standalone date range picker for Angular 17+**.
Most Angular datepickers either depend on heavy UI frameworks or multiple external libraries. I wanted something lightweight, fully customizable, and easy to drop into modern Angular apps — so I built this as a standalone, framework-free solution.
🔹 **Key Features**
* 🪶 Zero dependencies — just Angular
* 🌍 Automatic i18n & locale detection
* 🎨 Light/Dark theme support
* 🗓️ Single & range modes with quick presets
* 💡 Works with reactive forms or ngModel
The goal is to keep it simple, modern, and extendable for real-world apps.
I’d love feedback from the open-source community — especially around accessibility, feature ideas, and performance improvements.
Repo: 👉 [https://github.com/toozuuu/ngxsmk-datepicker](https://github.com/toozuuu/ngxsmk-datepicker)
License: MIT
If you find it useful, a ⭐ on GitHub would mean a lot — but more importantly, I’d love **honest input** from other developers.
Thanks!
\#angular #opensource #typenoscript #frontend
https://redd.it/1o6qv0a
@r_opensource
Hey everyone 👋
I’ve been working on an open-source component called [**ngxsmk-datepicker**](https://github.com/toozuuu/ngxsmk-datepicker) — it’s a **zero-dependency, standalone date range picker for Angular 17+**.
Most Angular datepickers either depend on heavy UI frameworks or multiple external libraries. I wanted something lightweight, fully customizable, and easy to drop into modern Angular apps — so I built this as a standalone, framework-free solution.
🔹 **Key Features**
* 🪶 Zero dependencies — just Angular
* 🌍 Automatic i18n & locale detection
* 🎨 Light/Dark theme support
* 🗓️ Single & range modes with quick presets
* 💡 Works with reactive forms or ngModel
The goal is to keep it simple, modern, and extendable for real-world apps.
I’d love feedback from the open-source community — especially around accessibility, feature ideas, and performance improvements.
Repo: 👉 [https://github.com/toozuuu/ngxsmk-datepicker](https://github.com/toozuuu/ngxsmk-datepicker)
License: MIT
If you find it useful, a ⭐ on GitHub would mean a lot — but more importantly, I’d love **honest input** from other developers.
Thanks!
\#angular #opensource #typenoscript #frontend
https://redd.it/1o6qv0a
@r_opensource
GitHub
GitHub - toozuuu/ngxsmk-datepicker: A powerful, modern, and highly customizable Angular date range picker with built-in time selection.
A powerful, modern, and highly customizable Angular date range picker with built-in time selection. - toozuuu/ngxsmk-datepicker
Time-awareness for AI agents (autonomous behavior)
Hey guys
I was recently studying a little bit on how we could add time-awareness to AI agents. Basically all LLM-based agents are reactive by default, and have no notion of time. However, timing has a important meaning in human conversation. My idea was to incorporate that somehow into our agents.
I developed this open-source python lib called **ProactiveAgent**.
In short, it adds a time-layer context to agents, allowing it to self-engage in a conversation using patterns you define — rather than just reacting to prompts. For example, if it detects urgency or inactivity in a chat, it will try to autonomously engage in a conversation.
You can even control how “anxious” or eager the agent is to talk using natural language — like telling it “respond as if chatting with a friend” or “check in every few minutes when the user seems active.”
The library can be customized in many ways. You can define your own “sleep” logic — for instance, make the agent wake up at fixed intervals, under specific conditions, or simply let the AI decide.
Internally it has a scheduler that operates in loop thread:
wake -> calculate sleep time -> decide to respond -> respond (or not)
Feel free to give any feedbacks. =)
https://redd.it/1o6wed7
@r_opensource
Hey guys
I was recently studying a little bit on how we could add time-awareness to AI agents. Basically all LLM-based agents are reactive by default, and have no notion of time. However, timing has a important meaning in human conversation. My idea was to incorporate that somehow into our agents.
I developed this open-source python lib called **ProactiveAgent**.
In short, it adds a time-layer context to agents, allowing it to self-engage in a conversation using patterns you define — rather than just reacting to prompts. For example, if it detects urgency or inactivity in a chat, it will try to autonomously engage in a conversation.
You can even control how “anxious” or eager the agent is to talk using natural language — like telling it “respond as if chatting with a friend” or “check in every few minutes when the user seems active.”
The library can be customized in many ways. You can define your own “sleep” logic — for instance, make the agent wake up at fixed intervals, under specific conditions, or simply let the AI decide.
Internally it has a scheduler that operates in loop thread:
wake -> calculate sleep time -> decide to respond -> respond (or not)
Feel free to give any feedbacks. =)
https://redd.it/1o6wed7
@r_opensource
GitHub
GitHub - leomariga/ProactiveAgent: Transform your AI from reactive to proactive with intelligent timing and context-aware wake…
Transform your AI from reactive to proactive with intelligent timing and context-aware wake-up patterns. - leomariga/ProactiveAgent
I give you EZMark
Since asking you guys what Markdown was missing, I've been working on my own markup. It's not quite finished, but I'd love some feedback.
I give you, EZMark:
This is an alpha release. I'm looking for concerns and feedback at the moment.
https://redd.it/1o727e1
@r_opensource
Since asking you guys what Markdown was missing, I've been working on my own markup. It's not quite finished, but I'd love some feedback.
I give you, EZMark:
EZMark
======
This is a markup style for `.ezm`, meant to set a readability and post-
markup templating standard enabling text files to be easily exported across
multiple document formats.
This standard assumes:
- All lines start at column 0
- Trailing whitespace is ignored, since it isn't visible to the end
user.
- Post-markup processing, which renders the text into a more readable
format for the end user (like this text)
# Basic Formatting
- Document noscripts are underlined with `={4,}`
- New paragraphs start with `\t`
- Quoted text starts with `| `
- Line breaks are facilitated by newlines, modern text editors have
line-wrapping
This is a new paragraph. As you can see, it begins with a tab.
| Let us halt now for a space in our hurrying;
| Let us take time to look up and look out;
| Let us refuse for a spell to be worrying;
| Let us decline to both question and doubt.
| If one goes cavilling,
| Hair splitting, flaw hunting - ready for strife -
| All the best pleasure is missed in the travelling
| Onward through life.
|
| Just for to-day we will put away sorrowing -
| Just for to-day not a tear shall be shed;
| Nor will we fear anything, or go borrowing
| Pain from the future by profitless dread.
| Thought shall go frolicking,
| Pleasuring, treasuring everything bright -
| Tasting the joy that is found just in rollicking
| On through the light.
|
| Just for to-day all the ills that need bettering
| We will omit from our notebook of mind;
| All that is good we will mark by red-lettering; -
| Those things alone we are seeking to find.
| Things to be sad over,
| Pine over, whine over - pass them, I say!
| Nothing is noted save what we are glad over -
| This is Praise Day.
:~ Ella Wheeler Wilcox
# Text
## Text Alignment:
- 'Left justified'
- `:Right justified`
- `:Center justified:`
Since all lines start at 0, `:~ Ella Wheeler Wilcox` will render as right
justified when going through a post-processing noscript. The author would've
started the attribution on the left, and the processing noscript would've carried
it rightward.
## Text Formatting
- *Bold*
- **Italicized**
- ***Bold-Italicized***
- (link)[URL]
- [#anchor]
- `string literal`
- Bullets begin with `- `
- Numbered list items begin with `. `
Anchors may be referenced in place of URLs, and may include alphanumeric
characters and dashes.
String literals exist because of the grammatical practice of placing
punctuation inside quotations.
Numbered lists are generated on-the-fly. Items begin with `. ` and are
automatically numbered by post-processing.
Post-precessing noscripts allow for a huge range of aesthetics, depending upon
developer preferences. EZMark conveys convention, while post-processing
interprets said convention.
# Secioning
- Section headings begin with `#+ `
- EZMark allows for an infinite number of subheadings
- Page breaks are signaled with `//`
## Sub-heading
########## Sub-heading
//
# External Files and Templating
- Include file contents here `$(filename.ezm)`
- Include an image `$[filename.jpg]`
This is an alpha release. I'm looking for concerns and feedback at the moment.
https://redd.it/1o727e1
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
Great response last time! I've added Docker one-click deployment to PrivyDrop based on your feedback
Hey everyone! A month ago, I shared PrivyDrop, an open-source WebRTC file transfer tool, and received amazing feedback. Many of you mentioned wanting a simpler deployment solution.
Now I'm here to deliver on that promise!
New features based on community demand:
Docker One-Click Deployment - Deploy in 5 minutes, supports LAN/public IP/domains
Automatic HTTPS - Let's Encrypt auto-issuance and renewal
Built-in TURN Server - Solves connection issues in complex network environments
Of course, if you don't want to self-host, you can use my hosted version:
Core project benefits:
- Unlimited File Transfer - Support files of any size with Chrome's direct-to-disk streaming (tested with 100GB+ files)
- End-to-End Encryption - Files never touch servers, absolute privacy protection
- Multiple Content Types - Share files, folders, and rich text
- Resume Transfers - Resume from interruptions (exit room and join again)
- Fully Open-Source - MIT licensed, transparent code
This update addresses both the "deployment complexity" and "file size limitations" pain points mentioned by the community. Now you can easily and securely transfer everything from small sensitive documents to 100GB+ large files.
Huge thanks to everyone who provided suggestions! Welcome to try it out and keep the feedback coming!
https://redd.it/1o71jb9
@r_opensource
Hey everyone! A month ago, I shared PrivyDrop, an open-source WebRTC file transfer tool, and received amazing feedback. Many of you mentioned wanting a simpler deployment solution.
Now I'm here to deliver on that promise!
New features based on community demand:
Docker One-Click Deployment - Deploy in 5 minutes, supports LAN/public IP/domains
Automatic HTTPS - Let's Encrypt auto-issuance and renewal
Built-in TURN Server - Solves connection issues in complex network environments
Of course, if you don't want to self-host, you can use my hosted version:
Core project benefits:
- Unlimited File Transfer - Support files of any size with Chrome's direct-to-disk streaming (tested with 100GB+ files)
- End-to-End Encryption - Files never touch servers, absolute privacy protection
- Multiple Content Types - Share files, folders, and rich text
- Resume Transfers - Resume from interruptions (exit room and join again)
- Fully Open-Source - MIT licensed, transparent code
This update addresses both the "deployment complexity" and "file size limitations" pain points mentioned by the community. Now you can easily and securely transfer everything from small sensitive documents to 100GB+ large files.
Huge thanks to everyone who provided suggestions! Welcome to try it out and keep the feedback coming!
https://redd.it/1o71jb9
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
Imagor Studio: Self-hosted image gallery and live editing web application for creators
https://github.com/cshum/imagor-studio
https://redd.it/1o74hkj
@r_opensource
https://github.com/cshum/imagor-studio
https://redd.it/1o74hkj
@r_opensource
GitHub
GitHub - cshum/imagor-studio: Self-hosted image gallery and live editing web application for creators
Self-hosted image gallery and live editing web application for creators - cshum/imagor-studio
Need suggestions for team and shift management software
I am on the lookout for open source/self hosted software OR a free/near free web/desktop app which I can customise for my use.
I help a small group of freelancers (<10) to work on small office move projects. I get a job from a client and assign to these freelancers. Currently I am using WhatsApp for communication and Google Sheets for keeping track of jobs. But the work flow is very clunky and I want to make it smooth.
Below is what I have to achieve.
1- create a list of roles - each role has a fixed hourly/daily rate.
2 - create a list of freelancers who I have with basic details like name, phone number, email, address etc.
2- Create and track jobs -using details like date, client name, address, status as upcoming or completed and hours worked.
2-a A job could be for a single day or span multiple days so it will be nice have shifts under a job.
2-b Each shift requires variable number of personnel.
2-c each person assigned to a shift has a role from the list of roles which also dictates how much they will get paid. Example for a job I may assign Foreman x1, Driver x 1, Loaders x 3.
3- ability to generate summary reports to share with workers so they can see the jobs they worked and how much money they will receive
4- ability to generate summary reports for my client so I can use it to generate invoices.
I used to develop C# desktop apps long time ago and could give it a go, but wanted to see something already exists which can be used for my use case. I have used database like SQLite etc and also know a bit of python if needed to customise few things.
https://redd.it/1o72swf
@r_opensource
I am on the lookout for open source/self hosted software OR a free/near free web/desktop app which I can customise for my use.
I help a small group of freelancers (<10) to work on small office move projects. I get a job from a client and assign to these freelancers. Currently I am using WhatsApp for communication and Google Sheets for keeping track of jobs. But the work flow is very clunky and I want to make it smooth.
Below is what I have to achieve.
1- create a list of roles - each role has a fixed hourly/daily rate.
2 - create a list of freelancers who I have with basic details like name, phone number, email, address etc.
2- Create and track jobs -using details like date, client name, address, status as upcoming or completed and hours worked.
2-a A job could be for a single day or span multiple days so it will be nice have shifts under a job.
2-b Each shift requires variable number of personnel.
2-c each person assigned to a shift has a role from the list of roles which also dictates how much they will get paid. Example for a job I may assign Foreman x1, Driver x 1, Loaders x 3.
3- ability to generate summary reports to share with workers so they can see the jobs they worked and how much money they will receive
4- ability to generate summary reports for my client so I can use it to generate invoices.
I used to develop C# desktop apps long time ago and could give it a go, but wanted to see something already exists which can be used for my use case. I have used database like SQLite etc and also know a bit of python if needed to customise few things.
https://redd.it/1o72swf
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
Question: How safe is Micro G and Aurora Store?
I have installed Micro G and using Aurora Store to download/install apps on a Huawei phone. I wanted to know the Micro G and Aurora Store privacy policy. I'm afriad to download banking apps.
https://redd.it/1o78sco
@r_opensource
I have installed Micro G and using Aurora Store to download/install apps on a Huawei phone. I wanted to know the Micro G and Aurora Store privacy policy. I'm afriad to download banking apps.
https://redd.it/1o78sco
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
For those who want to contribute to a repo but have never done so
https://github.com/matvix90/ai-robo-advisor
https://redd.it/1o79k5g
@r_opensource
https://github.com/matvix90/ai-robo-advisor
https://redd.it/1o79k5g
@r_opensource
GitHub
GitHub - matvix90/ai-robo-advisor: AI Robo-Advisor
AI Robo-Advisor. Contribute to matvix90/ai-robo-advisor development by creating an account on GitHub.
Rachoon — Self-Hosted Invoicing Made Simple
Hey everyone, I’ve been working on a self-hosted invoicing app called Rachoon (the name comes from the Bosnian word račun, which means invoice). I built it because I wanted something lightweight, fully under my control.
It all started back in 2016 when I became self-employed where I needed something to create invoices. At first I used a proprietary SaaS product, which was a good product itself, but their support was miserable - to say the least. I looked at self-hosted alternatives which - at that time - looked to basic for my needs. So I took matters into my own hands, and started working on Rachoon.
I got it to a point where it served my needs more than well, and kept using it privately, hosted on my HomeLab. Now that I have more time, I decided to make it production ready for everyone else to use.
Here’s what it does:
- Create and manage invoices and quotes
- Keep track of clients and payments
- Highly customizable invoice templates with your branding using nunjucks
- Generate PDFs and previews
- Support for multiple currencies and taxes
It’s open source, so I’ve been able to tweak things to fit my workflow, and I can see how it would be useful for freelancers or small teams who want to keep everything local.
If you’re into self-hosting and want to avoid subnoscription invoicing tools, it might be worth checking out: https://github.com/ad-on-is/rachoon
I’m happy to answer questions about setup or how I’ve been using it in my own workflow.
https://redd.it/1o7bywg
@r_opensource
Hey everyone, I’ve been working on a self-hosted invoicing app called Rachoon (the name comes from the Bosnian word račun, which means invoice). I built it because I wanted something lightweight, fully under my control.
It all started back in 2016 when I became self-employed where I needed something to create invoices. At first I used a proprietary SaaS product, which was a good product itself, but their support was miserable - to say the least. I looked at self-hosted alternatives which - at that time - looked to basic for my needs. So I took matters into my own hands, and started working on Rachoon.
I got it to a point where it served my needs more than well, and kept using it privately, hosted on my HomeLab. Now that I have more time, I decided to make it production ready for everyone else to use.
Here’s what it does:
- Create and manage invoices and quotes
- Keep track of clients and payments
- Highly customizable invoice templates with your branding using nunjucks
- Generate PDFs and previews
- Support for multiple currencies and taxes
It’s open source, so I’ve been able to tweak things to fit my workflow, and I can see how it would be useful for freelancers or small teams who want to keep everything local.
If you’re into self-hosting and want to avoid subnoscription invoicing tools, it might be worth checking out: https://github.com/ad-on-is/rachoon
I’m happy to answer questions about setup or how I’ve been using it in my own workflow.
https://redd.it/1o7bywg
@r_opensource
GitHub
GitHub - ad-on-is/rachoon: 🦝 Rachoon — A self-hostable way to handle invoices
🦝 Rachoon — A self-hostable way to handle invoices - ad-on-is/rachoon
Open source Internet
I apologize for the funny noscript, but I'm genuinely curious about this.
Seems like there's an open-source solution available for almost everything, with enough effort, anyone can reclaim their digital sovereignty, with open-open source software or self-hosting. Except for one thing: Access to the internet.
We still rely on ISPs and telecom companies, which keeps us locked in to existing infrastructure and practices. Is there any ongoing discussion or theoretical exploration around creating a more liberated internet?
I know that internet access relies on infrastructure that requires maintenance, expansion and management. But much like roads or highways, which are funded by taxes and considered public goods, I believe the Internet could follow a similar path?
Where can I find discussions on this topic? I know it's related to open-source philosophies, but I feel the sentiment transcends that sphere. Any insights or directions would be greatly appreciated!
https://redd.it/1o7eyug
@r_opensource
I apologize for the funny noscript, but I'm genuinely curious about this.
Seems like there's an open-source solution available for almost everything, with enough effort, anyone can reclaim their digital sovereignty, with open-open source software or self-hosting. Except for one thing: Access to the internet.
We still rely on ISPs and telecom companies, which keeps us locked in to existing infrastructure and practices. Is there any ongoing discussion or theoretical exploration around creating a more liberated internet?
I know that internet access relies on infrastructure that requires maintenance, expansion and management. But much like roads or highways, which are funded by taxes and considered public goods, I believe the Internet could follow a similar path?
Where can I find discussions on this topic? I know it's related to open-source philosophies, but I feel the sentiment transcends that sphere. Any insights or directions would be greatly appreciated!
https://redd.it/1o7eyug
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
Gauging interest for a project.
Hey everyone,
Just exploring community interest in a system concept called BUS — short for Buildable Unique System.
BUS is a privacy-first, security-driven framework where everything you run — Drive integrations, Notion tools, inventory trackers, whatever — routes through a single Core that handles:
🔒 Authentication & token management (OAuth, API keys, SSO)
🧩 Permission enforcement — strict read/write/export rules per plugin
🧠 Centralized routing — no plugin talks directly to another; all data flows through BUS
🪪 Transparent encryption & audit — every byte logged, sealed, and verifiable
🧱 Optional DLP scanning before anything leaves your local system
Here’s the twist:
The Core is closed-source, to preserve security integrity and prevent tampering.
But all plugins are open-source and transparent, so you can audit exactly what’s being done with your data.
BUS itself never stores readable data — everything at rest is encrypted through a Storage + Encryption module.
Essentially, BUS is a local data governor: a closed, trust-neutral kernel surrounded by an open, verifiable plugin ecosystem.
It’s meant to be transparent, user-controlled, and privacy-driven — where the only way your data moves is if you explicitly permit it.
I’m wondering:
Would developers or privacy-minded users trust a closed but auditable Core if every plugin is open-source?
Would you actually run something like this as your personal or business “data bus”?
What would make it a must-use system for you?
Just trying to see if this kind of secure, hybrid-trust architecture resonates with anyone before taking it further.
https://redd.it/1o7dte4
@r_opensource
Hey everyone,
Just exploring community interest in a system concept called BUS — short for Buildable Unique System.
BUS is a privacy-first, security-driven framework where everything you run — Drive integrations, Notion tools, inventory trackers, whatever — routes through a single Core that handles:
🔒 Authentication & token management (OAuth, API keys, SSO)
🧩 Permission enforcement — strict read/write/export rules per plugin
🧠 Centralized routing — no plugin talks directly to another; all data flows through BUS
🪪 Transparent encryption & audit — every byte logged, sealed, and verifiable
🧱 Optional DLP scanning before anything leaves your local system
Here’s the twist:
The Core is closed-source, to preserve security integrity and prevent tampering.
But all plugins are open-source and transparent, so you can audit exactly what’s being done with your data.
BUS itself never stores readable data — everything at rest is encrypted through a Storage + Encryption module.
Essentially, BUS is a local data governor: a closed, trust-neutral kernel surrounded by an open, verifiable plugin ecosystem.
It’s meant to be transparent, user-controlled, and privacy-driven — where the only way your data moves is if you explicitly permit it.
I’m wondering:
Would developers or privacy-minded users trust a closed but auditable Core if every plugin is open-source?
Would you actually run something like this as your personal or business “data bus”?
What would make it a must-use system for you?
Just trying to see if this kind of secure, hybrid-trust architecture resonates with anyone before taking it further.
https://redd.it/1o7dte4
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
Multi-tenant architectures in Keycloak (realms vs clients vs new organizations)
I’ve been exploring different ways to handle multi-tenancy in Keycloak, since it’s a topic that comes up a lot (realms vs clients vs multiple deployments). Here’s a quick breakdown of the main models, what they do well, and where they tend to fall apart.
# Single-tenant (one Keycloak per customer/app)
In this setup, every customer has a completely isolated Keycloak instance.
* The main advantage is full separation: a bug or misconfiguration in one tenant cannot impact another.
* Troubleshooting is simpler since each stack is independent.
* But at scale, it becomes an operational nightmare. Every Keycloak release has to be applied to each tenant separately. With 3 tenants and 18 releases in a year, that’s 54 upgrades to handle.
# Multi-realm (one Keycloak, multiple realms)
Here, a single Keycloak instance hosts several realms, each dedicated to one tenant.
* This allows you to pool infrastructure and reduce costs while keeping a logical separation between tenants.
* However, identities can quickly get messy: the same user across multiple realms means multiple accounts and passwords.
* Performance also degrades beyond \~100 realms: slow startup, laggy admin console, and entity creation issues.
* Teams often need to build synchronization overlays to work around these limits.
# Multi-client (one realm, multiple clients)
In this model, all tenants live in the same realm, each represented as a client.
* It is much more scalable than multi-realm: you can host thousands of customers in a single realm.
* Costs and efforts are pooled, and maintenance is simplified.
* The trade-off is that access control shifts to the application. Roles and labels must be carefully interpreted to enforce tenant boundaries.
* This requires more customization and carries the risk of cross-tenant exposure if not done correctly.
# Organizations (introduced in v25, improved in v26)
Organizations provide a new abstraction layer within a realm to group tenants and their users.
Since v26, Organizations is officially supported in Keycloak, and early users report that many core operations (CRUD, membership management, etc.) work without issues. However, some edge cases, like linking existing realm users to organizations via the API, still show friction.
This feature could reduce the complexity of multi-realm setups and offer a middle ground between scalability and separation, but we don’t have enough production stories yet to know how it holds up at scale.
# Conclusion
There is no universal answer. Each model trades off between isolation, scalability, UX, and ops pain. The “right” choice really depends on your context: SaaS growth, enterprise compliance, or strict isolation.
# TL;DR
* Need isolation above all → single-tenant.
* Need lower cost with some trade-offs → multi-realm.
* Need scale and thousands of customers → multi-client.
* Curious about the future → organizations in v26 are officially supported and look promising, but large-scale production feedback is still limited.
If you’ve scaled multi-realm or multi-client setups, what worked (or broke) for you? And for those who already tested organizations in v26, did it change your approach to multi-tenancy?
(I also wrote a longer version with diagrams published on my company website. Happy to hear if you think I missed anything: [https://www.cloud-iam.com/post/keycloak-multi-tenancy/](https://www.cloud-iam.com/post/keycloak-multi-tenancy/))
https://redd.it/1o7mpn4
@r_opensource
I’ve been exploring different ways to handle multi-tenancy in Keycloak, since it’s a topic that comes up a lot (realms vs clients vs multiple deployments). Here’s a quick breakdown of the main models, what they do well, and where they tend to fall apart.
# Single-tenant (one Keycloak per customer/app)
In this setup, every customer has a completely isolated Keycloak instance.
* The main advantage is full separation: a bug or misconfiguration in one tenant cannot impact another.
* Troubleshooting is simpler since each stack is independent.
* But at scale, it becomes an operational nightmare. Every Keycloak release has to be applied to each tenant separately. With 3 tenants and 18 releases in a year, that’s 54 upgrades to handle.
# Multi-realm (one Keycloak, multiple realms)
Here, a single Keycloak instance hosts several realms, each dedicated to one tenant.
* This allows you to pool infrastructure and reduce costs while keeping a logical separation between tenants.
* However, identities can quickly get messy: the same user across multiple realms means multiple accounts and passwords.
* Performance also degrades beyond \~100 realms: slow startup, laggy admin console, and entity creation issues.
* Teams often need to build synchronization overlays to work around these limits.
# Multi-client (one realm, multiple clients)
In this model, all tenants live in the same realm, each represented as a client.
* It is much more scalable than multi-realm: you can host thousands of customers in a single realm.
* Costs and efforts are pooled, and maintenance is simplified.
* The trade-off is that access control shifts to the application. Roles and labels must be carefully interpreted to enforce tenant boundaries.
* This requires more customization and carries the risk of cross-tenant exposure if not done correctly.
# Organizations (introduced in v25, improved in v26)
Organizations provide a new abstraction layer within a realm to group tenants and their users.
Since v26, Organizations is officially supported in Keycloak, and early users report that many core operations (CRUD, membership management, etc.) work without issues. However, some edge cases, like linking existing realm users to organizations via the API, still show friction.
This feature could reduce the complexity of multi-realm setups and offer a middle ground between scalability and separation, but we don’t have enough production stories yet to know how it holds up at scale.
# Conclusion
There is no universal answer. Each model trades off between isolation, scalability, UX, and ops pain. The “right” choice really depends on your context: SaaS growth, enterprise compliance, or strict isolation.
# TL;DR
* Need isolation above all → single-tenant.
* Need lower cost with some trade-offs → multi-realm.
* Need scale and thousands of customers → multi-client.
* Curious about the future → organizations in v26 are officially supported and look promising, but large-scale production feedback is still limited.
If you’ve scaled multi-realm or multi-client setups, what worked (or broke) for you? And for those who already tested organizations in v26, did it change your approach to multi-tenancy?
(I also wrote a longer version with diagrams published on my company website. Happy to hear if you think I missed anything: [https://www.cloud-iam.com/post/keycloak-multi-tenancy/](https://www.cloud-iam.com/post/keycloak-multi-tenancy/))
https://redd.it/1o7mpn4
@r_opensource
absurder-sql
# AbsurderSQL: Taking SQLite on the Web Even Further
What if SQLite on the web could be even more absurd?
A while back, James Long blew minds with absurd-sql — a crazy hack that made SQLite persist in the browser using IndexedDB as a virtual filesystem. It proved you could actually run real databases on the web.
But it came with a huge flaw: your data was stuck. Once it went into IndexedDB, there was no exporting, no importing, no backups—no way out.
So I built AbsurderSQL — a ground-up Rust + WebAssembly reimplementation that fixes that problem completely. It’s absurd-sql, but absurder.
Written in Rust, it uses a custom VFS that treats IndexedDB like a disk with 4KB blocks, intelligent caching, and optional observability. It runs both in-browser and natively. And your data? 100% portable.
# Why I Built It
I was modernizing a legacy VBA app into a Next.js SPA with one constraint: no server-side persistence. It had to be fully offline. IndexedDB was the only option, but it’s anything but relational.
Then I found absurd-sql. It got me 80% there—but the last 20% involved painful lock-in and portability issues. That frustration led to this rewrite.
# Your Data, Anywhere.
AbsurderSQL lets you export to and import from standard SQLite files, not proprietary blobs.
import init, { Database } from '@npiesco/absurder-sql';
await init();
const db = await Database.newDatabase('myapp.db');
await db.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)");
await db.execute("INSERT INTO users VALUES (1, 'Alice')");
// Export the real SQLite file
const bytes = await db.exportToFile();
That file works everywhere—CLI, Python, Rust, DB Browser, etc.
You can back it up, commit it, share it, or reimport it in any browser.
# Dual-Mode Architecture
One codebase, two modes.
Browser (WASM): IndexedDB-backed SQLite database with caching, tabs coordination, and export/import.
Native (Rust): Same API, but uses the filesystem—handy for servers or CLI utilities.
Perfect for offline-first apps that occasionally sync to a backend.
# Multi-Tab Coordination That Just Works
AbsurderSQL ships with built‑in leader election and write coordination:
One leader tab handles writes
Followers queue writes to the leader
BroadcastChannel notifies all tabs of data changes No data races, no corruption.
# Performance
IndexedDB is slow, sure—but caching, batching, and async Rust I/O make a huge difference:
|Operation|absurd‑sql|AbsurderSQL|
|:-|:-|:-|
|100k row read|\~2.5s|\~0.8s (cold) / \~0.05s (warm)|
|10k row write|\~3.2s|\~0.6s|
# Rust From Ground Up
absurd-sql patched C++/JS internals; AbsurderSQL is idiomatic Rust:
Safe and fast async I/O (no Asyncify bloat)
Full ACID transactions
Block-level CRC checksums
Optional Prometheus/OpenTelemetry support (\~660 KB gzipped WASM build)
# What’s Next
Mobile support (same Rust core compiled for iOS/Android)
WASM Component Model integration
Pluggable storage backends for future browser APIs
GitHub: npiesco/absurder-sql
License: AGPL‑3.0
James Long showed that SQLite in the browser was possible.
AbsurderSQL shows it can be production‑grade.
https://redd.it/1o7tepx
@r_opensource
# AbsurderSQL: Taking SQLite on the Web Even Further
What if SQLite on the web could be even more absurd?
A while back, James Long blew minds with absurd-sql — a crazy hack that made SQLite persist in the browser using IndexedDB as a virtual filesystem. It proved you could actually run real databases on the web.
But it came with a huge flaw: your data was stuck. Once it went into IndexedDB, there was no exporting, no importing, no backups—no way out.
So I built AbsurderSQL — a ground-up Rust + WebAssembly reimplementation that fixes that problem completely. It’s absurd-sql, but absurder.
Written in Rust, it uses a custom VFS that treats IndexedDB like a disk with 4KB blocks, intelligent caching, and optional observability. It runs both in-browser and natively. And your data? 100% portable.
# Why I Built It
I was modernizing a legacy VBA app into a Next.js SPA with one constraint: no server-side persistence. It had to be fully offline. IndexedDB was the only option, but it’s anything but relational.
Then I found absurd-sql. It got me 80% there—but the last 20% involved painful lock-in and portability issues. That frustration led to this rewrite.
# Your Data, Anywhere.
AbsurderSQL lets you export to and import from standard SQLite files, not proprietary blobs.
import init, { Database } from '@npiesco/absurder-sql';
await init();
const db = await Database.newDatabase('myapp.db');
await db.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)");
await db.execute("INSERT INTO users VALUES (1, 'Alice')");
// Export the real SQLite file
const bytes = await db.exportToFile();
That file works everywhere—CLI, Python, Rust, DB Browser, etc.
You can back it up, commit it, share it, or reimport it in any browser.
# Dual-Mode Architecture
One codebase, two modes.
Browser (WASM): IndexedDB-backed SQLite database with caching, tabs coordination, and export/import.
Native (Rust): Same API, but uses the filesystem—handy for servers or CLI utilities.
Perfect for offline-first apps that occasionally sync to a backend.
# Multi-Tab Coordination That Just Works
AbsurderSQL ships with built‑in leader election and write coordination:
One leader tab handles writes
Followers queue writes to the leader
BroadcastChannel notifies all tabs of data changes No data races, no corruption.
# Performance
IndexedDB is slow, sure—but caching, batching, and async Rust I/O make a huge difference:
|Operation|absurd‑sql|AbsurderSQL|
|:-|:-|:-|
|100k row read|\~2.5s|\~0.8s (cold) / \~0.05s (warm)|
|10k row write|\~3.2s|\~0.6s|
# Rust From Ground Up
absurd-sql patched C++/JS internals; AbsurderSQL is idiomatic Rust:
Safe and fast async I/O (no Asyncify bloat)
Full ACID transactions
Block-level CRC checksums
Optional Prometheus/OpenTelemetry support (\~660 KB gzipped WASM build)
# What’s Next
Mobile support (same Rust core compiled for iOS/Android)
WASM Component Model integration
Pluggable storage backends for future browser APIs
GitHub: npiesco/absurder-sql
License: AGPL‑3.0
James Long showed that SQLite in the browser was possible.
AbsurderSQL shows it can be production‑grade.
https://redd.it/1o7tepx
@r_opensource
Jlongster
A future for SQL on the web
Found an Open WebUI clone with a NextJS stack
https://github.com/openchatui/openchat
I've been using Open WebUI for a while now and wanted to develop a feature, but found it painfully annoying. I was unfamiliar with the stack and the community was condescending when I asking a question about the tech stack. I personally use NextJS, Open WebUI uses svelte. So I ran into this Open Source NextJS Open Web UI clone, and I love it. It's still new so it only has like 20%, if even, of the features, but thought I should give it a shoutout. It only has one dev working on it and I think it should have more attention.
https://redd.it/1o7vog6
@r_opensource
https://github.com/openchatui/openchat
I've been using Open WebUI for a while now and wanted to develop a feature, but found it painfully annoying. I was unfamiliar with the stack and the community was condescending when I asking a question about the tech stack. I personally use NextJS, Open WebUI uses svelte. So I ran into this Open Source NextJS Open Web UI clone, and I love it. It's still new so it only has like 20%, if even, of the features, but thought I should give it a shoutout. It only has one dev working on it and I think it should have more attention.
https://redd.it/1o7vog6
@r_opensource
GitHub
GitHub - openchatui/openchat: OpenChat's goal is to become the most feature rich AI user interface on the open source market.
OpenChat's goal is to become the most feature rich AI user interface on the open source market. - GitHub - openchatui/openchat: OpenChat's goal is to become the most feature rich A...
Introducing the Massive Legal Embedding Benchmark (MLEB)
https://isaacus.com/blog/introducing-mleb
MLEB contains 10 datasets spanning multiple document types, jurisdictions, areas of law, and tasks.
The datasets are all open source and there is a github repo to help you benchmark on it:
https://github.com/isaacus-dev/mleb
https://redd.it/1o81cmr
@r_opensource
https://isaacus.com/blog/introducing-mleb
MLEB contains 10 datasets spanning multiple document types, jurisdictions, areas of law, and tasks.
The datasets are all open source and there is a github repo to help you benchmark on it:
https://github.com/isaacus-dev/mleb
https://redd.it/1o81cmr
@r_opensource
Isaacus
Introducing the Massive Legal Embedding Benchmark (MLEB)
We’re introducing MLEB, the largest, most diverse, and most comprehensive benchmark for legal embeddings.
Is LanguageTool privacy respecting?
I thought it was open source but their website has doesnt advertise for being "private" or "open source". Also chrome extension seem to collecting data. It is open source but safe to use?
https://redd.it/1o81yp7
@r_opensource
I thought it was open source but their website has doesnt advertise for being "private" or "open source". Also chrome extension seem to collecting data. It is open source but safe to use?
https://redd.it/1o81yp7
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community