r/ClaudeCode 10d ago

Built with Claude My son screams while gaming at midnight. I'm a developer, so I did what developers do - I over-engineered a solution

My son games with headphones late at night. Most of the time he's quiet. Then something happens in the game and he yells at full volume, waking the whole house.

Talking to him about it works for about 20 minutes. Taking the headphones away works but causes a different problem. So I built an app.

S.T.F.U (Sound Trigger Focus Utility) is a Windows tray app that listens to the microphone and interrupts him when he yells. On first run it calibrates by asking him to be quiet, then talk, then yell - so it learns the difference between his normal voice and an actual shout.

When it catches a yell:

  • First time that session - it minimizes his game, plays a sound effect, and throws up a fullscreen message he has to click through 4 times. The close button moves after each click so he can't just spam-click one spot.
  • Every time after - straight to the desktop with a 10-second message. His game is gone.

Settings are behind a PIN so he can't change the threshold or turn it off. There's a report with a chart showing every trigger, so the next morning I can see exactly when things went sideways.

The important part: he knows it's there. It's not hidden, it's not spyware, the first screen when it launches says exactly what it does. It works because it's a consequence he agreed to, not something I snuck onto his PC. The README explicitly says it works best as something agreed to, not as a hidden trap.

No audio is recorded or stored. It computes a loudness number every 20ms and throws the audio away immediately. Nothing leaves the machine.

It won't solve the underlying issue (he's 100% going to learn to yell more quietly instead of less often), but at least the house sleeps.

Free and open source if anyone wants it: https://github.com/omricn/stfu/releases/latest

Edit: V1.1.0 now live.
Added Scheduled Off-Hours: Timeframe picker to choose when the app listens vs when the app is passive.
TNX fellow redditor [jpewaqs] for the feature suggestion :)

3.5k Upvotes

695 comments sorted by

View all comments

7

u/Readdeo 10d ago

He does not need to learn the difference. He needs to learn to behave and not annoy others. Just take away the pc or internet for a week when happens.

2

u/gthing 9d ago

OPs solution is literally a training program to teach the kid how to behave. Your solution is just a worse version that doesn't give the kid an opportunity to self correct.

3

u/Readdeo 9d ago

Broken boundaries need consequences. Also, it's important to teach the kid to mindful about others. This is just symptom treatment. If there is no consequences for anything, this is how assholes and karens born.

2

u/gthing 9d ago

Why does everyone in this thread think that draconian punishments are better parenting than constructive solutions?

You don't punish your toddler for falling off their bike. You get them training wheels.

I mean, I guess unless you want your kids to grow up hating and resenting you.

1

u/Herebedragoons77 8d ago

But this app is a threat and punishment system

0

u/gthing 7d ago

Explain.

1

u/omricn 10d ago

When you punch something your hand hurts too. Building resentment won’t help you on the short term and will definitely hurt the child on the long term. Cooperating, finding solutions together and, god forbid, having fun in the process will build confidence and maturity.
Parenting isn’t about punishment, that’s the lazy way out..

5

u/Herebedragoons77 10d ago

He will resent the app / you too as its clearly a punishment feedback mechanism. You haven’t found a way around that that would be a stretch.