For a while, BakBeat was stuck in that awkward “almost ready to move forward” phase.
Too many branches. Too much mental overhead. Not enough forward motion.
So we fixed that first.
Self-Hosted Git
BakBeat is now running on a self-hosted Gitea instance.
Not because GitHub is bad.
Not because we needed something exotic.
But because control matters.
Local Git.
Local infra.
No friction.
No waiting on external services.
It’s boring. And boring is good.
Repo Hygiene
Before writing a single new feature, we cleaned house:
-
Promoted the correct working branch to main
-
Locked main (no direct pushes, PR required)
-
Required review (even if it’s just me + tooling)
-
Created a proper WORKING branch for active development
Small move. Huge mental unblock.
Now:
-
main is stable.
-
WORKING is experimental.
-
Nothing accidental sneaks through.
That structure alone made it easier to think clearly again.
Back to Real Work
With the repo stable, we went back into the app itself.
Recent wins:
-
Fixed a library migration edge case (NAS move + duplicate roots)
-
Added an in-app repair flow
-
Blocked rescans when the DB is in a bad state
-
Cleaned up playback determinism
-
Removed SwiftUI table gestures that were causing major UI lag
-
Implemented Smart Play (Play button now plays the selected track when nothing is loaded)
No flashy features.
Just tightening bolts.
And the result?
BakBeat feels stable again.
The Takeaway
Progress isn’t always about big features.
Sometimes it’s:
-
deleting branches
-
removing gestures
-
fixing one UNIQUE constraint
-
making one button smarter
But once the foundation feels solid, momentum comes back fast.
And we’re finally moving again.
