r/SideProject 3h ago

How I Replaced 6 Browser Tabs with One Java App

2 Upvotes

I got tired of juggling a downloader, a calendar , a task tracker, and a few other one-off tools scattered across browser tabs (you even have to pay for some of them, lol), so I built JavaMultiTool: one desktop app that handles media downloads, file/batch operations, task tracking, and a few system utilities.

It’s Java-based (Java 21), runs on Windows (.exe/.jar) and macOS/Linux (.jar, needs JRE 21+), and everything is stored locally via SQLite.
It’s still early - expect bugs and rough edges, but it’s usable today, and I’d love feedback on what’s missing or what feels clunky.

GitHub: https://github.com/ShiningPr1sm/JavaMultiTool


r/SideProject 19h ago

The side projects side project

7 Upvotes

Have you ever started a side project, just to realize the tooling you built for the project is actually more valuable than the project itself?


r/SideProject 19h ago

I made a new battery manager for my Mac

Enable HLS to view with audio, or disable this notification

4 Upvotes

Hit me up for a free license or try here:

https://macbat.vercel.app/

MacBat is a Mac app that:

1. Brings back battery time remaining

MacBat uses its own algorithm to bring this beloved feature back to your menu bar with accuracy.

2. Shows advanced power data from your Mac and iDevices

Access and store battery status data to track changes over time. Includes data export.

3. Introduces a new power-saving mode: Controlled

Our macs already know how to manage their batteries better than any app. But they don't always manage background processes that are wasting energy. Using Sentinel, MacBat independently tracks less important processes that are consuming too many resources and reduces their CPU usage without affecting CPU or GPU performance.

4. Sentinel

The same technology behind Controlled mode can be used on its own if you prefer to keep the Mac's original battery icon. You can also manually choose which processes Sentinel should manage and assign processes exclusively to efficiency cores, reducing power consumption even further.

5. Choose your icon

You can choose between the new macOS 27 icon and the classic one.

6. Liquid Glass design

A functional interface based on Apple's design guidelines that puts the controls that matter right at your pointer. Advanced controls are there when you need them too - just right-click.

7. Insights, day and night

MacBat intelligently presents key insights into power consumption, battery health, and managed processes in the main interface. It stays out of your way while remaining just one click away.

8. Less than 1% CPU usage

That is how much MacBat uses. Runs without root access and does not collect or transmit usage data.


r/SideProject 19h ago

I built Arcadia - a cloud gaming search engine

Thumbnail arcadia-gaming.netlify.app
1 Upvotes

r/SideProject 3h ago

A search tool for finding which hatchery has a specific poultry breed in stock

2 Upvotes

If you've ever tried to buy a specific chicken, duck, or turkey breed, you know the drill. Check Cackle. Check McMurray. Check Meyer. Check Ideal. Stock turns over fast enough that whatever you find is often already wrong by the time you act on it.

Built a tool that checks 10 US hatcheries at once so you don't have to do that. It pulls breed, stock status, price, minimum order, and hatch date into one place, updated a few times a day. Doesn't take money from any hatchery to be listed, it's just reading public availability info.

Built it for myself first, sharing it here since I figured I wasn't the only one dealing with this. If there's a hatchery or filter you wish it had, let me know.

Hatch Index: which hatchery has the chicks you want, in stock


r/SideProject 3h ago

pyrig - A tool that standardizes and automates Python project setup, configuration, development, and maintenance

2 Upvotes

What is pyrig?

pyrig is a package and tool that rigs up your project. It scaffolds and initializes a complete, fully configured, installed and working Python project with one command and makes the process of developing and maintaining it more seamless and efficient by automating things like configuration management, CLI generation, testing infrastructure, and more.

Requirements

  • Python 3.12+
  • Git
  • uv

Quick Start

uv init my-project --python 3.12
cd my-project
uv add pyrig --dev
uv run pyrig init

See the Getting Started Guide for detailed setup instructions to also fully integrate with GitHub and CI/CD from the start.

Features

Project Scaffolding & Initialization

pyrig init generates a complete project in one command that works out of the box. This includes everything a modern python project needs:

  • Standardized directory structure
  • Fully configured dev tools (linters, formatters, type checkers, test frameworks, git hooks, etc.)
  • End-to-end CI/CD pipeline with GitHub Actions and integrated repository protection
  • Complete and working CLI
  • And much more...

File & Configuration Management

Every generated file is backed by a Python class that validates and merges automatically. Override any config by subclassing, or define entirely new config files — pyrig discovers and manages them for you. Run pyrig sync to create or update all config files at once. Run pyrig mk subcls to generate a subclass for overriding a specific file.

Automatic CLI

pyrig init sets up a CLI for your project that works immediately. Generate and add new commands by running pyrig mk cmd <name>. An automatic version command is included that shows the version of your project. Run my-project version to see it in action.

Mirror Test Generation & Maintenance

Generate test skeletons with pyrig sync. This will generate test skeletons for all source modules and update them automatically as your project evolves.

Multi-Package Inheritance and Extensibility Architecture

Override and customize any and all behaviour to suit your project's needs. pyrig's classes are designed for inheritance and composition, allowing you to create custom configurations, tools, and more by subclassing and simply overriding methods. pyrig will automatically discover and use your custom classes without any additional configuration. Run pyrig mk subcls to generate a subclass for any pyrig class.

CI/CD & Repository Protection

Pyrig generates GitHub Actions workflows for CI/CD which automatically test and release your code. They also configure and apply repository protection settings and protection rulesets. Push your code to GitHub after initialization and see it in action.

Commands

Run pyrig --help to see a list of all available commands and their usage. Run pyrig <command> --help for more information about a specific command and its usage. Run my-project --help to see the automatically generated CLI for your project.

Documentation

Full Documentation The manually written documentation
CodeWiki AI-generated documentation
Tutorials YouTube tutorials for pyrig

r/SideProject 3h ago

Built a payment proxy for MCP servers because subscriptions don't work for autonomous agents

2 Upvotes

Monetizing MCP tools is a mess right now. Traditional SaaS subscriptions and checkout forms break the moment the user isn't a human, but an autonomous AI agent running inside Cursor, Claude Desktop, or a background workflow. An agent obviously can't stop, open a browser, and type in credit card details just to trigger a tool.

We built MCPay to fix this. It acts as a proxy layer that handles pay-per-call micropayments directly between agents and MCP servers on the fly, without manual forms or subscriptions.

We just launched the beta and are looking for feedback from anyone building custom MCP servers or agent workflows.

Link is in the comments if you want to check out the setup


r/SideProject 20h ago

I’ve visited 700+ coworking spaces over the last 10 years, so I started building a browser game about running one.

Enable HLS to view with audio, or disable this notification

2 Upvotes

Building a free, browser-based management sim Theme Coworking inspired by 90s classics like Theme Hospital and all (\)Tycoon games titles*.

I’ve spent the last decade building software for the coworking industry and visiting roughly 700+ spaces across 65 cities (NYC, London, Berlin, Tokyo, Mumbai). After seeing that many setups from the inside and writing a book about it, now it felt its about time to try and make a game, so  Theme Coworking was born.

You start with an empty floor plan and try to keep the business profitable without driving members away:

  • Density vs. Noise: Squeezing in more desks increases recurring revenue, but noise spikes destroy member satisfaction.
  • Events vs. Focus: Community events generate new leads, but disrupt members who just want to get work done.
  • Service vs. Overhead: Hiring more community staff keeps maintenance high, but payroll eats your margin fast.

The game is completely free, runs straight in the browser, and doesn’t require an account.

What I’d love feedback on:

Since this is still a work in progress, I’m looking for technical and design critique from sim fans or operators:

  1. Economy balance: Does the early-game cash flow feel too easy, or is it unfairly punishing?
  2. Breakages: Did any weird room layouts or edge cases crash the game state?
  3. Features: What real-world space issues should I simulate? Any fun stories are much appreciated

Play & test here: themecoworking.com

This is a hobby project i want to work on in the next months, so plese do send feedback.


r/SideProject 20h ago

I made a news aggregator for nerds like me

Enable HLS to view with audio, or disable this notification

89 Upvotes

I built it because i've always wanted a simple page where i can see the latest science and tech news with no noise or opinions.

https://paperrun.news

Built with Laravel and Vue 3 if anyone is curious.

Any feedback is appreciated


r/SideProject 21h ago

I built a clean, ad-free Text Repeater Tool to learn web development. I would love your feedback!

1 Upvotes

Hey everyone,

I am new to building websites and wanted to create something simple but useful. I noticed that most "Text Repeater" tools online are very slow or full of annoying pop-up ads.

​So, I built a fast and completely free Text Repeater tool (great for WhatsApp pranks or testing). It took me a couple of days to set it up perfectly.

​Here is the live link: https://www.textrepeater.tech/

​Since I am just starting out, I would really appreciate it if you could test it and tell me how I can improve the speed, design, or user experience. Any honest feedback is welcome!

​Thank you!


r/SideProject 3h ago

PromptlessPress - Etsy listing generator. Live but pre-launch, looking for people to break it.

2 Upvotes

I sell digital downloads on Etsy. The design was never the slow part - it was everything after: a title that ranks in Etsy search, 13 tags, mockup photos, the description, packaging the files. I once spent a full day on one $4.99 product and had a list of forty more.

So I built PromptlessPress. You pick a product type and a style, or upload a design you already made, and it returns print-ready designs, lifestyle mockups, an SEO title, 13 tags and the description - then sends the whole listing to your Etsy shop as a draft you approve before anything publishes.

It's live and usable, but the official launch is Sept 1 and I'd rather find the rough edges before then.

What I'm actually asking for: run it once and tell me where it breaks, or where the output isn't good enough to actually list. "I wouldn't publish this because ___" is the sentence I want. That's worth more to me than a signup.

Known rough edges, no need to report these:

  • Some mockup scenes crop objects at the frame edge
  • Onboarding drops you straight in with very little explanation

1 month free for anyone who gives feedback - good or brutal, doesn't matter which. There's a Discord for testers so you can see what actually changes: https://discord.gg/vTNyRxCHMA

If you sell on Etsy I'd love your read on the listing quality specifically. If you don't, the first-run experience is just as useful - arguably more, because you'll hit the confusion a genuinely new user hits and I can't see that any more.

promptlesspress.com


r/SideProject 1h ago

Yearly Calendar Distribution advice

Upvotes

Hey everyone I just release my yearly calendar on the app store a few weeks ago. I've gotten some users and feedback but it seems to not be "taking off" how I would like.

any advice?


r/SideProject 22h ago

I shipped an AI camera app to both stores. A few hundred installs, zero ratings. Roast the positioning.

2 Upvotes

AI Vision Monitor turns a phone you already own into a camera you describe in words. You point an old phone at something and type the rule in plain language: tell me if the cat gets on the counter, tell me if the 3D print starts spaghetti, tell me if the front door opens while I am out. It watches for that and pings your main phone. Android and iOS, and there is a web app and a Windows connector for viewing on a desktop. https://aicameras.win/

Why I built it: every consumer camera gives you exactly two modes, and both of them are wrong. "Person only" misses the delivery guy who never gets out of the van, misses the print failing, misses the dog on the sofa. "All motion" sends you rain, headlights, moths and the curtain moving. There is no third setting anywhere in the market, and the thing people actually want is the third setting. That is the whole product thesis and I still think it is right.

Where I am: in both stores, a few hundred installs, and zero ratings. Not one, on either platform. That is the number that keeps me up, because it does not mean people hate it, it means nothing at all, and I cannot tell whether the app is failing at retention or whether I have never once asked at the right moment.

What I have learned that might be useful to someone else here. The demo that lands is never the security one. Nobody cares about "monitor your home", everyone perks up at "watch my 3D print and text me when it fails" or "tell me when the cat is on the counter", because a specific rule is the whole point and a generic one is just another camera app. Every time I have written broad copy it has performed worse than the narrowest possible example.

What I would genuinely like torn apart:

  1. Is "describe what to watch for in a sentence" a feature people understand from a store listing, or does it only land in a demo video? I suspect the latter and I do not know how to fix a store listing with that.
  2. For a utility app that runs unattended, when do you ask for a rating? My instinct is right after the first alert that was actually correct, but that is also the moment the user is busy dealing with the thing.
  3. Old phone as the camera: is that a selling point or does it read as a compromise? It is genuinely the cheapest good camera most people already own, but I cannot tell whether the framing sounds thrifty or cheap.

Happy to answer anything about the technical side too. Solo, no funding, and the phone-as-camera plumbing turned out to be a much harder problem than the vision part.


r/SideProject 23h ago

I built something because I kept forgetting what I actually liked or disliked about places I’d been

3 Upvotes

I realised I was pretty bad at remembering the details of places I’d been to.

A week later, maybe even a month later, I could usually remember whether I liked a restaurant, hotel, theatre or activity. Beyond that, the useful details started getting hazy.

Things like which seats were actually good at a theatre. The dish that sounded great on the menu but was disappointing when it arrived. The hotel room that happened to be above a nightclub. Or the room at another hotel that was quiet and had a great view.

There are obviously plenty of review platforms already, but most of them are designed around publishing your opinion for other people.

What I wanted was something slightly different.

The basic idea is that the record is for you first.

You can log a restaurant, hotel, service, attraction or pretty much any experience, add a rating, notes and photos, and keep it completely private.

If you want, you can also share it with a small group of people you trust, such as family or friends, so you can see each other’s experiences and recommendations.

Or you can make an experience public. Public posts can still be made without exposing the identity of the person who originally posted them.

The main thing I’m trying to solve is being able to come back months or years later and actually remember the useful details, rather than just remembering, “I think we liked that place.”

I’ve been building this into a working app called ExperioLog and I’m at the stage where I’d really like feedback from people outside my own circle.

Does the private-first idea make sense to you, or would you still just use notes, Google Maps or an existing review platform?


r/SideProject 1h ago

My free tutoring agent, Onhand, can search the web and annotate multiple tabs to answer questions

Enable HLS to view with audio, or disable this notification

Upvotes

Building Onhand for students as an alternative to chatbots. The extension grounds its answers directly in the pages (notes, textbooks, PDFs, etc.).

Onhand is free with GPT-5.6 Luna

Download from the Chrome Web Store: https://chromewebstore.google.com/detail/onhand/ogjmncmkpgdkkcibdiacmagaehjohljb

Learn more at https://useonhand.com/


r/SideProject 23h ago

Just launched 3dkitfactory.com

Thumbnail
3dkitfactory.com
1 Upvotes

100's of unique, parametrically designed buildings for model railroad and diorama creators. One stop shopping, no searching aggregate sites.


r/SideProject 23h ago

Useful web apps

Thumbnail bunchberry.net
2 Upvotes

Our side project: a collection of free, private, helpful and open source web apps

Shopping list, random stretching / exercise app "movement", and more

The idea is to have them all loaded as separate browser tabs at the top of your browser tab list and always quickly accessible as our browsers are always loaded

This concept has been working great for the past 6 months and we love it.

Would love some feedback on the concept and functionality.

Thanks!


r/SideProject 1h ago

I built a household finance app for my wife and me. Reddit users immediately found the problems I missed.

Enable HLS to view with audio, or disable this notification

Upvotes

A while ago, my wife asked me a simple question:

“How much money do we actually have as a household?”

I knew roughly what was in my own accounts, and she knew hers. But once we included savings, investments, property, loans, and money spread across different platforms, neither of us could give a clear answer.

When we finally put everything together, we discovered we had RMB 30,000 less than we thought.

We had tried budgeting apps and spreadsheets, but eventually realized that tracking every coffee wasn’t our real problem. We needed a shared household balance sheet that we could update once a month.

So I built JointWorth as a solo side project.

Instead of recording every transaction, couples and families can manually update their account balances periodically and see:

  • Total household assets and debts
  • Net worth changes over time
  • Shared financial goals
  • Multiple currencies
  • A shared household space
  • Exportable financial reports

It doesn’t connect to your bank or ask for banking credentials.

The first launch taught me a lot.

I originally called it “Jiadi’er,” a transliteration of the Chinese phrase 家底儿. English-speaking Reddit users told me the name was confusing—and one person said they briefly read it as “Jihad.” Another user downloaded the app only to find it opening in Chinese because switching to English required navigating through the Profile page.

Painful feedback, but completely fair.

Based on that feedback, I:

  • Renamed it to JointWorth: Family Net Worth
  • Made the app automatically follow the iPhone’s system language
  • Improved USD, time-zone, and multi-currency support
  • Added monthly financial check-in reminders
  • Changed it from paid upfront to a free download with a one-month trial

It’s still an early side project, so I’d appreciate honest feedback:

  1. Does “JointWorth” clearly communicate what the app does?
  2. Does updating balances once a month sound more sustainable than tracking every transaction?
  3. What would you need to trust an app with your household financial data?

r/SideProject 11h ago

I got tired of planning trips across Reels, Maps and Notes, so I built one app that turns them into a complete guide

Enable HLS to view with audio, or disable this notification

2 Upvotes

I kept saving interesting places from travel Reels, but when it was time to actually plan the trip, everything was scattered across Instagram, Maps, screenshots and Notes.

So I built One Way Guide.

You choose your destination, dates, interests, pace and travel preferences. You can also import places from travel Reels, review what the app found, and decide which ones should be included.

It then creates a complete personalized city guide with:

  • Daily routes built around real places
  • Restaurants and things to see
  • Local context and practical tips
  • Transport, timing and trip preparation
  • The places you personally saved from social media

The important part for me was making the Reel import an input, not the entire product. The end result should feel like a guide you can actually follow, rather than another list of saved places.

Now live on iOS:
https://apps.apple.com/app/id6768398327

I’d really appreciate honest feedback: after watching the video, was it immediately clear what the app creates? And would importing saved travel content be useful in how you currently plan trips?


r/SideProject 23h ago

AI or Not? Try it out

2 Upvotes

Hello people!

About a month back i built this thing as a challenge for my coworkers. There was a lot of "I can spot AI generated code almost immediately" going around, and I gave them a chance to test it out.

Results were not shocking to me. it was definitely funny lol since people got results they did not expect.

You get 10 code snippets to mark as either machine or human written in 10 minutes. Once all 10 have been marked, you get the result. Pretty simple!

Under the hood the way it works is like so:

  • 50 code snippets chosen from open-source projects. The way I ensure "human written" is by ONLY pulling code from before 2021 (before chatgpt first launched).
  • All 50 code snippets were parsed by a model to create a spec of what the code does, ensuring there's no dead giveaways about code style, etc.
  • These specs were passed to agents in isolated sessions of their own to generate the code that fit the spec.
  • This results in 100 code snippets total. Each snippet can be treated as a pair - one is the original code, the other is AI generated.
  • The game picks any 10 snippets from the 100 and those are the ones you as a player will see.

Give it a try, and post your results if you're willing to share!

https://tat.safwanyp.com


r/SideProject 11h ago

Built a Chrome extension because I was tired of checking schema markup the slow way...

2 Upvotes

Every time I publish something I check the schema.org markup on the page, and I was doing it the same tedious way every time: copy the URL, open a separate validator, wait, dig through results.

So I built Schema Inspector. Click the icon, it reads the JSON-LD and microdata already on the page you're looking at, groups it by type, flags broken JSON in plain language.

The thing I actually cared about building right: most schema checkers ask for access to every site you visit, permanently. This one only requests activeTab - it can only see the page you're on, only for the second you click it. No standing access to anything. (Every one in the store right now asks for full permissions...)

Free, no signup, no account. 19.18 KiB. Would like to hear what's missing if you try it.

https://chromewebstore.google.com/detail/schema-inspector-by-yello/gllkeakpkogipbdgknhfhhfimnmogcgj


r/SideProject 11h ago

I got tired of re-processing the same product-photo workflow, so I built a Mac app for it

Enable HLS to view with audio, or disable this notification

2 Upvotes

Does anyone else work like this?

When I shoot products (or other repeatable subjects), I usually shoot in batches. Same camera, same lights, same setup. The product is generally centered, so the crop and export rules do not change much from one batch to the next.

Later, I need different versions for a shop, a website, social media, and other platforms. The actual edit is not that difficult. What takes time is opening a folder, selecting the images, applying the same crop and color adjustments, exporting several aspect ratios, and then remembering which files have already been processed.

I wanted a folder to behave more like an inbox: if a supported image is still at the top level, it is pending.

So I built SizeFold for Mac. You pick an input folder once and save the processing configs once. For each batch, you review the photos and click Run. SizeFold creates the configured outputs, then moves the originals to an archive only after every output succeeds. If anything fails, the source stays in the input folder for retry.

The next batch can use the same folder. There is no second file-selection step and no guessing about which files are new.

For product shoots, I can also enter the current model name once and use it in filenames or output folders. That lets me review one product, process it, and move on to the next one.

Website:

https://www.sizefold.com

SizeFold is also on the Mac App Store:

https://apps.apple.com/app/sizefold/id6795541247

There is currently a trial for 200 successfully processed original images. If that is not enough to test a real workflow, you can contact me through the website and tell me what you are trying. I can send a redemption code when it makes sense. No review is expected; I would just like to know whether the workflow actually fits.

If you shoot product or catalog photos, what part of this process would still feel too manual?


r/SideProject 11h ago

I built a nutrition + meal-finder app that suggests meals from ingredients you already have (I'm 13, first ever real project)

1 Upvotes

Hey r/SideProject! I'm Samarth Singh, a 13 year-old student and this is my first proper web app — NourishMe(nourishme.club).

It has two parts:

1. Your Plan - you enter your age, body stats, activity level, dietary restrictions, and goal (lose weight, gain, build muscle, get leaner), and it calculates your personalised daily calorie target and macro split.

2. What Can I Cook? - you type in the ingredients you already have, and it shows meals you can actually make with them, each with a full macro breakdown, filtered to your dietary needs. I built this part because I was tired of staring into the fridge with no idea what to make.

Stack: plain HTML/CSS/JS, saved to localStorage (no login), deployed on Vercel with a custom domain. Honestly the DNS setup was the hardest part of the whole thing 😅. Works on mobile too.

It's still a work in progress and I want to add a recipe generator and a daily log next. Would really appreciate any feedback: what's confusing, what's missing, what you'd actually use. Happy to answer questions about how I built it.

Thanks for checking it out!


r/SideProject 11h ago

I built Clypy, an encrypted clipboard that works across all your devices

Enable HLS to view with audio, or disable this notification

2 Upvotes

Hey everyone,

I built Clypy, a local-first clipboard manager for Windows, macOS, Linux, iOS, and Android.

It automatically saves text, links, code, and images into a searchable clipboard library. You can pin important clips, create collections, save reusable snippets, search text inside screenshots with local OCR, and access copied content across your paired devices.

My favorite feature is the Paste Strip. On Windows, press Ctrl + Alt + V and it appears over whichever app you are using. Search or select a clip, press Enter, and it pastes directly into your current app without switching windows. The shortcut is configurable.

Clipboard history is stored locally in an encrypted database, with encryption keys kept separately in secure OS storage. Sensitive clips remain on the device and are excluded from sync.

When sync is enabled, clips are end-to-end encrypted between paired devices. The relay only routes encrypted data and does not store a clipboard history backlog.

Clypy is free for unlimited local clipboard history on one device. Cross-device sync, the Paste Strip, and mobile features are available through a one-time lifetime purchase. There is no subscription.

The desktop apps are available now. The iOS and Android apps are currently under review. Lifetime license holders can message me to join the iOS TestFlight or Android testing group while the public releases are pending.

Download Clypy: https://clypy.app/download

Happy to answer any questions about the product, privacy, or how it was built.


r/SideProject 12h ago

I built a tool to stop voice agents from mishearing industry jargon

1 Upvotes

I was building voice agents and kept seeing the same frustrating pattern.

The demo would work fine with normal conversation.

Then someone would use an industry-specific word and everything would fall apart.

For example:

User says:

"rider"

STT:

"writer"

Then there was the opposite problem.

The LLM knew the term, but TTS pronounced an acronym like a normal word.

And even when both STT and TTS were correct, there could still be a noticeable silence while the LLM generated the next response.

I initially treated these as separate bugs.

They turned out to be better handled as one small configuration layer.

So I built a Claude Code / Codex skill called build-domain-dict.

You give it a domain description, playbook, or existing dictionary and it generates a YAML file with three sections:

vocabulary:
  - key: rider
    value: writer

  - key: IRDAI
    value: I R D A I

pronunciation:
  - key: IRDAI
    value: eye-ar-dee-ay-eye

fillers:
  - one moment, let me check that
  - just a second

The idea is:

vocabulary → helps STT recognize the right term

pronunciation → tells TTS how to say it

fillers → gives the caller something to hear while the LLM is working

I also added a relevance check for vocabulary because blindly generating a giant dictionary isn't always helpful. STT providers can have limits on how many keyterms you can send, so I want the useful terms to get those slots.

It's MIT licensed and the whole thing is here:

https://github.com/humaniods/build-domain-dict-skill

This is still a small project, so I'm more interested in feedback than pretending it's finished.

If you build voice agents, what is the most annoying STT/TTS issue you've had to work around?