LogChimp

LogChimp

customer-feedbacktypescriptdockerpostgresvalkeyrbac

LogChimp

LogChimp is an open-source platform for collecting, organizing and prioritizing customer feedback so teams can make informed product decisions. It's designed as a self-hostable alternative to paid feedback tools like Canny or ProductBoard, giving product teams full control over their data and workflows.

44 merged PRs from v0.7.0 to v0.9.0

Fixing what was silently breaking

Most of my backend work was about patching things that don't always surface in development but quietly cause damage in production. Server crashes on undefined role lookups, duplicate sign-ins and filter post failures. I added cursor pagination to the users endpoint, cached the GET /auth/setup endpoint to cut redundant database hits, and wired API startup to a DB health check so the service wouldn't boot into a broken state without anyone knowing.

Tightening logic that was almost right

A lot of the codebase had logic that was close but not quite correct. I refactored board validation to check slugs instead of display names, cleaned up auth verification to remove unnecessary request body passing, made email handling fully case-insensitive across signin and registration, and tightened the DomainBlacklist function to accept input from both request body and context. Small changes individually, but the kind of thing that causes subtle bugs if left alone.

Race conditions and frontend rough edges

I fixed two race conditions on the frontend where fast interactions caused inconsistent UI state. Also fixed a dashboard sidebar overlap, lazy loading on roadmaps and a board badge that wasn't sizing to its content. These are the things users actually notice even if they can't name them.

Adding secret scanning to CI

I integrated TruffleHog into the CI pipeline for automated secret scanning, something the project didn't have before. Caught a workflow issue right after and fixed that too. A one-time addition that protects every future contribution going in.

Test coverage across the board

I wrote integration tests for votes, board deletion, user profiles and role endpoints, unit tests for the ColorDot Vue component and a Lighthouse test for frontend performance. Areas that were previously untested now have coverage that will catch regressions before they ship.

Closing the loop

I created the PR template for the repository, which felt like a full circle moment. I came in as a contributor and ended up helping shape how future contributors contribute.