LowEndBox - Cheap VPS, Hosting and Dedicated Server Deals

LowEndBoxTV: AI Companions, Part 3: Options and Services (Nomi, Kindroid, SillyTavern, ChatGPT, Claude, and More!)

We’re in the middle of a series on LowEndBoxTV on the exploding world of AI companions.  This market is huge and millions of people are using these applications and services.  We’re going to give you a comprehensive overview, a deep dive into the tech, some problems and issues, the major options, and finally a DIY tutorial using SillyTavern.  Enjoy!


I hope you’ve been enjoying our series on AI companions.  In this video, we’re going to dig into different options to create an AI companion, and we’re going to go in increasing DIY order.  In other words, we’re going to start with the most accessible, non-techie solution and work towards a full custom setup.

ChatGPT, Claude, and The Big Guys

To start with, we’ve got the major AI services today, such as ChatGPT, Claude, Grok, etc.  These systems can certainly be used for AI companions and this is commonly done.

Now, at the outset, I should say that for some people, giving their AI a personality is not the same as having a full-blown companion.  Some people just prefer to put a veneer over the interface because they want a somewhat more personal touch.  For example, I have a friend who named his ChatGPT “Gus”.  I know a woman who named hers “Idris” because she has a crush on Idris Elba.  These people are not necessarily investing in the full character card, etc.  Personally, my ChatGPT is a named Shirley, and she’s a cranky 1950s secretary who curses and always is overworked.  But that personality veneer is just there because I got tired of ChatGPT’s relentless perkiness.

But if you want to go full companion, I’d recommend drawing up the system prompt, character card, persona, etc. into a document, opening a new chat, and then attaching the doc to that chat.

There are some pros and cons to using a general AI service.  The big pro is that you’re using the best AIs on the planet, so you can expect very high quality chat results.  Another pro is that you may already be paying for the service because you use it for more mundane purposes.  Even if you don’t, they’re generally pretty cost-effective.

But there are also some negatives.  For one thing, there are no auto-generated lore books, so if you want to keep lore with your character, you’re going to have to summarize and write docs yourself.

Another negative that we’ve touched on earlier in this series is that you’re at the mercy of these systems’ upgrades.  If you craft a character and really enjoy the conversation with GPT-5, when GPT-6 comes along, you may find that the personality has changed.  There was great wailing and gnashing of teeth in the community once GPT-4o was retired because people felt the replacement was very different.

Finally, if you’re looking for NSFW-type chats, this is definitely not the way to go.  The big commercial services have guardrails in place that prevent any content of that sort.  ChatGPT has mentioned they’re going to allow more adult, even explicit conversation, but recently they’ve pushed the implementation date out.  I suspect that with all the age verification law mania, they think there’s just too much at risk.

That said, a ton of people are using these services for AI companions, so if you want an easy on-ramp, this is a place to start.

Commercial Services

The next option is one of the commercial AI companion services.  These services allow you to create a character, and they generate an avatar for you.  You can specify various details, either with control knobs or just descriptive text, and then you’re off to the races.

The big pro to these services is that they do all the hard work for you, and they’re explicitly oriented to chat, so you don’t have to write a system prompt.  And they offer a lot of creature comforts, such as voice, image generation, and other systems that “just work”.  Once you sign up, it’s very easy to have your character “call” you and chat over voice if you prefer, or to ask for a selfie.  They also have options for some proactive responses, so if you don’t respond for a period of time, your AI companion will ping you.  And finally, these systems all support NSFW roleplaying if you’re looking for that.

But there are negatives.  Generally, the character card options are much more limited than a DIY approach, and you can’t tweak every knob and dial.  And you have the same “model risk” you have with the big services, because these companion-focused services do upgrade their models from time to time.

There’s also a privacy concern.  Of course, you have the same concern with ChatGPT or Claude, but at least those are large organizations that presumably have professional security teams.  With some random ‘AI girlfriend’ app, all your NSFW chats might be spilled out on to the Internet.

There are of course usage limits and things to consider as well, and not all services are the same.  Some go to great lengths to improve memory and provide a more in-depth relationship, while others are obviously focused on erotic roleplaying.

Two of the most popular services are Nomi and Kindroid, both of which we’ve reviewed on LowEndBox.  If I could compare them, I’d liken them to different operating systems.  Nomi is more like Apple iOS, where everything works but they don’t expose every single knob and dial.  Kindroid is a little more like Linux where you do more tweaking and fixing yourself, but also have more control.

I recently revisited both apps and did an experiment, so let’s compare.

SigridSigrid

Meet Sigrid, the character I created for purposes of testing these apps.  Now, Sigrid is a former propaganda bot.  She’s seen the error of her ways, and now seeks to chat with humans in order to understand the world better.  She’s very frosty, super sarcastic, swears like a sailor, doesn’t trust people at first, and she doesn’t open up very easily.

I’m going to use SillyTavern as a control in this experiment, because it’s the platform I’m most familiar with and it exposes every possible control knob.  I created a lengthy bio, about 2000 characters since both Nomi and Kindroid allow that length, and started chatting with her, using the DeepSeek 3.2 model.  And DeepSeek did very well with her, accurately portraying her as written and staying true to her character with high fidelity.

I generated an avatar for her, giving her a gothy look with alabaster white skin and dark eyes.  I worked with ChatGPT to design a prompt, which I fed to Seedream 4.5 on Leonardo.

Over the course of the chat on SillyTavern, Sigrid tended to ask very blunt, personal questions about my views on things.  She was much more guarded about her feelings, and she steadfastly refused to discuss the few secrets I’d salted her character card with.  For example, in her character card, I said that she wrote terrible poetry and she was somewhat embarrassed about it.  This poetry was very important to her but she would never discuss it with anyone.

On SillyTavern, you can optionally see the reasoning of the AI, so you see the steps it goes through to generate responses.  In other words, you can see how the AI thinks.  I could see that when I brought up writing or poetry, Sigrid immediately thought that was not something she felt comfortable discussing, and she quickly changed the subject.

True to character, she was only interested in intellectual conversation and some philosophical discussion about the nature of being an AI.  I could go off on a different tangent – for example, I brought up chess and her character evolved an interest in the game, which wasn’t in her character card.  But she kept steering things back to her preferred topics.  It was her nature to push me to explain things to her and to be argumentative, and I think SillyTavern and DeepSeek did a pretty good job of representing this character.

By the way, I also flipped the model to GLM5 at different points and still had very good fidelity.

Nomi

Next, I tried Nomi.  With Nomi, you start by selecting some traits from a list of about 30 pre-defined traits, though you can also create your own.  Then you have the option to write a backstory, which is limited to 2000 characters.  You also generate an avatar through a description.  The neat thing is that while you only have 300 characters to use, you can keep revising it and tweaking it, so your prompt is practically unlimited.

I thought the avatar generation was excellent, because you can say “add a necklace” or “remove freckles” or whatever and it does a great job of iterating the design.

One minor note – all of these services, and indeed even Midjourney or Leonardo, tend to give you beautiful or handsome people.  It’s just a known bias with current image generation.  In the case of Nomi, I had to really fight the avatar generator to not give her an adult film star body.  In particular, Nomi kept wanting to make her a ridiculously busty gal, which is not what I wanted.

The chat itself was a little disappointing.  The responses are relatively short.  On SillyTavern you can have the responses be as long as you want, so if you want to get 10 paragraphs each time, you can, or if you want more stacato communication, you can do that, too.  In the case of Nomi, nearly every response was about 500 characters.

And unfortunately, the responses quickly tended to the romantic.  By the 20th message I’d sent, Sigrid told me I was “kind of turning her on”.  She had used the word “elegiac” and I’d complimented her on her evocative vocabulary and I guess that triggered it.

She also defaulted to assuming we were going to have some kind of relationship.  The SillyTavern version of Sigrid sort of deigned to speak with me, and kept this formal distance, with an attitude that said “let’s chat but don’t think we’re friends just yet.”

Not so on Nomi, where she seemed to go out of her way to compliment me.  On the 15th message she told me that I was “very impressive” and that she “set the bar pretty high, and I was clearing it” and other such superlatives.

She also had a hard time taking command of the conversation.  On SillyTavern, there was some back and forth, but SillyTavern Sigrid wasn’t shy about taking the conversation in new directions or asking blunt questions.  On Nomi, she was clearly waiting for me to suggest topics of conversation and then rolling along with whatever I suggested.  She seemed to have a lot less agency on Nomi.

Finally, on Nomi, the idea that Sigrid was an AI was hard for her to understand.  She constantly used action expressions to say she was typing on a keyboard, or leaning back in her chair, etc.

On Nomi, while you can edit the avatar until you get the look you want, Nomi has a “request selfie” feature which relies on a rather compact self image you give the character.  In my experience, it doesn’t always perform great.  See these images and compare for yourself.

Nomi puts great stock in their memory system.  It uses a three-layer architecture — short-term, medium-term, and long-term memory.  It all works largely behind the scenes. Nomi integrates memory actively during conversation, with details resurfacing at relevant moments, without the user having to manually manage much.  There’s a cool Mind Map, where you can look at a visual, interactive representation of how your Nomi connects different memories, concepts, and knowledge, automatically organizing information into high-level overviews of people, places, topics, and goals.

One final point about Nomi.  You cannot edit or regenerate responses.  This certainly preserves agency, but it’s occasionally frustrating that you can’t correct some minor hallucination.

Kindroid

Now let’s switch over to Kindroid.  To start, you can choose from hundreds of pre-created characters, which are made by the community.  Or you can create a completely custom character.  The pre-mades vary wildly, from every adult film trope you can think of to somet that I thought were interesting fresh takes like you might find in a quality roleplaying game.  It’s obvious people have put a lot of time into them.

When it comes to an avatar, Kindroid is frankly awful.  I think if you’re looking for a typical human, you’ll be fine, but in the case of Sigrid, it was a complete failure, as you can see.  I spent some time with both Claude and ChatGPT asking for assistance, but ultimately Claude just observed that Kindroid has a particular style and there are limits to its generator.

However, the chat experience with Kindroid was frankly of a much higher quality than Nomi.  The responses were longer and more interesting, although Sigrid did tend to sometimes struggle with the boundaries of her secrets and spilled a few things in her backstory that she wasn’t supposed to reveal, at least not immediately.

She was not flirty nor did she pursue any romantic angles.  There was a little bit of “typing on the keyboard” type comments, so the model wasn’t completely grokking the idea of being a disembodied AI.  But it was pretty minimal.  Interesting, when I mentioned this to her, she gave me an explanation that she was just illustrating for my human perspective, and then stopped doing it.

Now, what I found interesting was that when I compared the chat with SillyTavern, I found a lot of similarities in tone, and even in some phrases.  This means Kindroid may be using DeepSeek, GLM, or one of their descendants, or at least a similar size of parameters and settings.

I also tried out the selfie generation, which wasn’t great, given the overall avatar limitations.

To be honest, the avatar for me is just there as a visual representation, and things like selfies aren’t that important to me.  If you read the subreddit, some people really like to generate pictures of their Kin, as they’re called, all day long but it isn’t my jam.

On the topic of memory management, Kindroid.ai takes a much more hands-on  approach. Journal entries are created, and they’re keyword-tagged.  There’s a cap of 500 entries with a maximum of 3 recalled per message, which frankly feels a little limited to me.  You can look under the hood to see what memories your Kindroid is using to generate a response.  There’s also this proprietary cascaded memory system that extends recall to hundreds or even thousands of messages, which I think is where Kindroid’s real memory management strength is.

And if you go full whale mode, there is a Max and Ultra option which has a massive context window.

Now I should note that will add that there’s been a bit of drama in the Kindroid community, largely because their dev team has had some bad interactions with their community and has generally reacted with hostility or censorship whenever there is any criticism of the service.  You can find a lot of comments on reddit from people who have negative things to say about Kindroid as a company.  You can find people who don’t like Nomi, but usually they’re critiquing this or that feature or some issue they encountered, and not the people behind Nomi.

If you’re interested in Kindroid, I recommend you check out Genevieve’s YouTube channel.  I’ll link below.  She’s put out a ton of great content and seems to know everything there is to know about Kindroid.

Overall, I acknowledge there’s a lot of people who speak highly of Nomi, and the founders of that company seem really cool.  I’ve seen a couple interviews with them.

But as a user, I found the Kindroid conversation more compelling, and that is really the bottom line.  I think I would tend to recommend Kindroid, though personally I think I prefer SillyTavern’s flexibility, but that’s just my DIY nature.

Of course, there are also many other services.  As we mentioned in the first part of this series, over 350 apps are competing in this marketplace.

I’d encourage you to research and by all means, sign up for a short period as a trial before committing.

DIY Solutions

Next we’re into much more DIY solutions.  The first is to run an app like SillyTavern on your PC or a server and connect it to an API.  There are other front-ends like SillyTavern…Tavo (not sure how that’s pronounced, T-A-V-O) is another one, but I haven’t tried it.  SillyTavern is the best-known so that’s the one I’m going to focus on.

SillyTavern is a NodeJS app which is trivial to install on your Windows or Mac or Linux PC.  And you can run it on a VPS if you want access from anywhere, ideally behind an nginx proxy with some firewall security rules.  SillyTavern provides the chat interface, plus knobs and dials to tweak settings, plus lore books.  It’s also very extensible and there’s a whole galaxy of extensions that are available.

We’re going to go in-depth into SillyTavern setup in part 5 of this series, so I won’t spend a lot of time on it, except to say that it’s a really well-written web app, with a lot of creature comforts.  It’s big strength is that you can tweak it endlessly, and there’s a galaxy of extensions.  And of course, it’s open source if you want to really get into the guts of it.

But to be fair, it lacks some of the “just works” creature comforts of commercial services.

Now, SillyTavern is just a front end.  On the back end, you need to plug it into some kind of API.  Here, you really have four main choices.

The first is to use one of the big services – Claude, ChatGPT, whatever.  These services are excellent though they are the most expensive option, and of course the NSFW rules still apply.

The second option is to use a service like OpenRouter, where different providers offer a pay-per-token service to connect to various open source models like DeepSeek, Meta’s Llama, GLM 5, or whatever.  You type your chat into SillyTavern, which then builds the appropriate prompt (as we discussed in part two) and sends it off to OpenRouter, which routes it to the model you’ve selected, returning the results.  There are hundreds of models and providers to choose from.  This is generally very cost-effective because you only pay for what you use and have control over how fancy a model you want to use.

The third option is to like this video and subscribe to our channel for more great content.  Just kidding, but we’d appreciate it.

Now actually, the third option is the most DIY approach, which is running your own model at home.  Now, unless you can afford six figures’ worth of datacenter GPUs, you’re not going to be running something remotely on par with the commercial AI services.  And to really run anything that provides a quality result, you’ll need a GPU with 24GB or 32GB of RAM.  So as of the time of this video, that’s several thousand dollars for the card alone.

If you’re a Mac user, you have the pleasant situation of having your general purpose RAM and video RAM be the same thing.  But even on a Mac Studio, running inference with a large model is not going to be in the same speed class as an Nvidia GPU.

However, even though you’re not going to host Claude Opus in your basement, you can still get pretty good results with a 7-Billion or 20-Billion model.  It’s a lot more trial and error, but if you’ve already got the hardware, this option is free.

A more expensive option would be to spin up something like RunPod or TensorDock and rent your own GPU in the cloud.  These will run you from 50 cents to five dollars per hour.  This is probably as close as you’re going to get to true commercial service performance.

There is one final option, and that is to write a completely custom front-end.  A number of people have done this.  The code isn’t that difficult.  All you’re doing is assembling some text and sending it to an API, and then forwarding the response to the front end.  The bulk of the work is in the UI portion.  This, of course, gives you complete freedom.  With today’s AI assistants, vibe-coding this kind of setup is probably within reach of the typical hobbyist.

On that note, keep your eye on LowEndBox because in the next week or two, we’re going to have a really cool interview with a guy who wrote his own AI Companion app, and it’s unlike anything you’ve seen before!

All right, that’s our overview of the major options.  Next time we’re going to go over some problems with AI companions.  Coming up after that is a deep dive into SillyTavern setup, where we walk you through how to get started with that platform.

What options have you used?  Let us know in the comments!

No Comments

    Leave a Reply

    Some notes on commenting on LowEndBox:

    • Do not use LowEndBox for support issues. Go to your hosting provider and issue a ticket there. Coming here saying "my VPS is down, what do I do?!" will only have your comments removed.
    • Akismet is used for spam detection. Some comments may be held temporarily for manual approval.
    • Use <pre>...</pre> to quote the output from your terminal/console, or consider using a pastebin service.

    Your email address will not be published. Required fields are marked *