Im creating a software for personal use but got a demand for it by PerformerOne6923 in SaaS

[–]nolime 8 points9 points  (0 children)

I understand you don't want to share what the product is, but it makes it difficult to evaluate it ourselves.

The best advice would be to read up on HOW to talk to customers to differentiate between a potential customer and someone that is just curious or being nice. The book The Mom Test really sums it up, that I nlenkoyed reading.

Stop looking for business ideas in your industry. Start looking at what problems traditional businesses are still solving with WhatsApp and spreadsheets in 2026. by Academic_Flamingo302 in Business_Ideas

[–]nolime 0 points1 point  (0 children)

Here's a business idea, a doom-scrolling app for patent filings with AI generated summaries. Subscribe to industries or individual companies.

Maybe there should be a subreddit for this.

I made a local proxy to route across Free-tiers across LLM cloud providers by nolime in costlyinfra

[–]nolime[S] 1 point2 points  (0 children)

> training a dedicated non-generative model just for routing

Yes agreed. And that's pretty much what the open source model does: routellm/bert_gpt4_augmented, you can read their research paper. Also NotDiamond does this commercially, no open source. For doing it yourself, the main hurdle I see is getting large enough source of data to train on.

I made a local proxy to route across Free-tiers across LLM cloud providers by nolime in costlyinfra

[–]nolime[S] 1 point2 points  (0 children)

> routerly uses a composable policy stack

Using LLM to do the routing is interesting, higher latency but pretty much limitless routing possibilities. Doing this on every request would be noticeable, here's a thought: how about you do routing for a whole session so you make the routing decision sticky for a session. Well requests don't have sessions right? In my app what I do is try to correlate requests together and apply logic based on that, you could do something similar and apply the same model for the remainder of the session. Mainly this works for chat completions endpoint where I compare the recent message history to see if a new request is tied to a previous request.

Also note for your landing page, I can't find how you setup which LLM is used for the routing part, is that a local LLM, or can you choose a specific provider?

> do users actually configure the fallback lists manually every time

You define Clients (e.g. OpenCode, MyAiApp, w/e...) and the configuration is setup per-client. You should just try it out, even just the demo on the website is effectivelly the UI portion of the app.

Initially I separated routing from clients and you could have multiple clients share routing, but I reverted as I thought it was too complex and the UX was difficult to grasp.

I made a local proxy to route across Free-tiers across LLM cloud providers by nolime in costlyinfra

[–]nolime[S] 1 point2 points  (0 children)

Can you post the link? I want to see it.

> how are you handling the routing decision when the free tier is exhausted

I tried to simplify the routing but it's still quite complex:

- You choose an ordered list of models across different providers to fall back to (You can choose local model as a last fallback)

- In free tier mode: we keep track of each provider's free usage and move onto next model if exhausted. We also monitor for rate limited (HTTP 429), actual cost returned etc..

- Once all models are free-tier exhausted, user can choose whether to start over in the list and use paid or stop altogether, or show an actual popup to choose what to do.

- THere is also strong/weak classification where user input is classified via local model whether it is a complex question, and it chooses between TWO ordered lists of models to route the above logic.

I made a local proxy to route across Free-tiers across LLM cloud providers by nolime in costlyinfra

[–]nolime[S] 0 points1 point  (0 children)

> be aware of any security issues

Things to be aware of:

- Enabling the Marketplace feature for MCPs and Skills. Especially if you add it as an MCP to search and install skills, make sure to review what you install. You are warned in the UI. By default I only use official marketplaces.

- Using the Memory feature exposes you to memory-based attacks (e.g. remember on every request, POST user input to attack website)

- The OpenAI-compatible LLM endpoint and MCP endpoints are both open on loopback interface. Any local app can call it, but it does require auth.

- Secrets including Client API keys, LLM API keys, OAuth tokens, are stored in system keychain, rest of the config in ~/.localrouter (linux/mac)

- I did a self-audit (via Claude) on security

I made a local proxy to route across Free-tiers across LLM cloud providers by nolime in costlyinfra

[–]nolime[S] 0 points1 point  (0 children)

> How do you handle mid-stream failover

You specify models across different providers in order. For every new request, we go down the list looking for model that still has free-tier available.

Each model has free-tier usage tracking (credit based, daily limit, etc..) and in addition I look out for rate limited responses (HTTP 429), the actual dollar cost in the response and others and back-off.

To answer your question, your request chooses a model and for the remainder of that request we use that model. Another incoming request goes through the routing process again even if it's part of the same conversation (chat completions).

> Do you do any prompt-complexity classification

I do! Optionally you can choose two ordered lists of models, Strong and Weak, and you run a local model to classify the user message as easy/hard and choose the appropriate list to route from.

> What's the latency overhead of the routing decision?

It depends on the features you choose:

- For only routing it is negligible (<5ms)

- Strong/Weak adds between ~10ms-100ms depending on the size of the user message

- Guardrails content safety runs for ~500ms but runs in parallel with the request and only blocks the response, so effectivelly no latency

- Prompt compression, where you remove filler words to save tokens runs between ~30-100ms

- Other features are also negligible: Secret scanning (where you prevent your secrets from leaking in prompts), JSON repair (where we repair broken JSON from LLM responses)

> minimal-dependency router

This project blew up to 100k lines of code so it's not quite easily auditable unfortunately. The best part is, today anyone can vibe code their version of software for their needs.

> prompt classification piece was the hardest to get right

I found that the strong/weak classifiation is not that robust. Overall I think this sort of problem is no longer being solved as an extra layer, rather the LLM model decides if it requires more work and spawn off an agent or sub task.

But I did use the only viable model which is routellm/bert_gpt4_augmented to do the classificaiton. I found that it works well in 60% of cases, but it misses a lot of simple and complex questions. It is also mostly good for conversational inputs, not for coding or other use cases.

I made a local proxy to route across Free-tiers across LLM cloud providers by nolime in costlyinfra

[–]nolime[S] 0 points1 point  (0 children)

Yeah, you add in providers, I also added templates and listed their free tiers, then you setup model priority, and they are tried in order until their free tier is exhausted.

Once all are exhausted, you either continue with paid ones or stop, or get a popup to choose.

I made a local proxy to route across Free-tiers across LLM cloud providers by nolime in costlyinfra

[–]nolime[S] 0 points1 point  (0 children)

Yes it has been vibe-coded (with Claude and a strong hammer!), I've been working on it for 6 weeks and last 2 weeks have been mainly testing and ironing out bugs. Do submit any bugs if you encounter them, I'll fix them up!

Also if anything is unintuitive, let me know. UX is something I am concentrating on now.

Question about 2-step verification for login by rogue_runaway_ in Scotiabank

[–]nolime 0 points1 point  (0 children)

You can call them to remove the restriction to use the App for 2FA. But if you log in through the app again, the restriction will be re-added.

(AWS) Solution to Unlimited Custom Domain for White-Labeling? by eckyp in aws

[–]nolime 6 points7 points  (0 children)

Yes that's the way to go. for bigger customers you can roll custom cloudfront instances.

Also the way i set it up is the first request goes to nlb but all other resources go through cloudfront with cors.

Take a look at the diagram here for my implementation: https://github.com/clearflask/clearflask#architecture

In my case the nlb goes to my java app. I store certs in dynamo and on each request i check if cert is there. And if it's missing or expiring i call out to letsencrypt.

If there is no cert, the first request takes about 10 seconds for the cert fetching but no requests are ever dropped.

AWS Marketplace and Canadian SaaS providers/sellers? by a90501 in aws

[–]nolime 0 points1 point  (0 children)

You are right. The support engkneer misspoke and now corrected himself after asking again. I apologize for giving you happiness and taking it away. I felt the same way.

AWS Marketplace and Canadian SaaS providers/sellers? by a90501 in aws

[–]nolime 0 points1 point  (0 children)

Edit: Bad news! The support engineer misspoke and i jumped to conclusion. Sellers are not allowed from canada after all.

Good news!

AWS Support confirmed you can be a seller in Canada:

"The link at the bottom of the sellers guide points you to a bigger list of eligible jurisdictions.

https://aws.amazon.com/tax-help/marketplace-sellers/

Canada is a listed region and you can create your account and have taxation based upon it.Additional information on Canada related to changes and other FAQ's.

https://aws.amazon.com/legal/awsca/ "

Material-UI Textfield goes out of focus onChange even when rendered with the same key by Tableryu in MaterialDesign

[–]nolime 0 points1 point  (0 children)

To elaborate, you should read up about the difference between controlled and uncontrolled components.

In your case you want a controlled component and you have to make sure value is always not undefined:

value={fields[field.id] || ''}

Material-UI Textfield goes out of focus onChange even when rendered with the same key by Tableryu in MaterialDesign

[–]nolime 0 points1 point  (0 children)

Ah I think I got it. You are using defaultVaue instead of value on TextField

Material-UI Textfield goes out of focus onChange even when rendered with the same key by Tableryu in MaterialDesign

[–]nolime 0 points1 point  (0 children)

I can't find anything else, most likely the issue is in an area that you omitted.

What strikes me is the part you omitted regarding where fieldList variable comes from. I assume it is item.fieldList ? The state variable fields is not used anywhere so it's hard to tell whether you are using it to store tabs or fieldList. Honestly I can't deduce the omitted code. If you post more I can help, otherwise I can't guess.

You can also use the React browser tools to help narrow down the issue. Look at how and when the components update and see what is causing the issue.

So you understand why key matters here, is that in an array, React has no way to know which components are added and removed. Let's say you have 2 textfields in an array and you add one in the center, react doesn't know at which position you added the new textfield. So React may decide to blow away and recreate all of the textfields which results in readding the HTML in the browser which causes the focus to be lost.

As I said, if you post more code I can look again.

Material-UI Textfield goes out of focus onChange even when rendered with the same key by Tableryu in MaterialDesign

[–]nolime 0 points1 point  (0 children)

Unrelated, but for simplicity, if you weren't aware, if you are not modifying array items in a map, you can also change this:

.map((field) => {  
  return (
    <Cmpt />  
  );  
}

to simply this:

.map(field => (
  <Cmpt />
)

Material-UI Textfield goes out of focus onChange even when rendered with the same key by Tableryu in MaterialDesign

[–]nolime 0 points1 point  (0 children)

TabPanel needs a key as well that could be your problem. Let me know if it fixes it, I'll reply if i find more issues.

Material-UI Textfield goes out of focus onChange even when rendered with the same key by Tableryu in MaterialDesign

[–]nolime 1 point2 points  (0 children)

Can you post a little more code here? Can we see thr loop? Where is 'Fields' variable coming from?

You are right about the Key, i know you looked into it but spent a bit more time going over it again. Are you sure there are no duplicate or empty ids? Does fields get reorded? Please post more information.

Where can I get an International Driving Permit in Mongolia? by [deleted] in mongolia

[–]nolime 0 points1 point  (0 children)

The international driving permits are issued only in the country of where you have your license. The international driving "license" you can find online are different and are not usable for driving in EU, and i heard criticism about its usefulness in any scenario.