Products
Team projects
Channel Talk team features and customer DB
At Channel Talk, I developed team mentions and team-based chat assignment. I also improved bulk actions and search in the customer database.
1,000Records one bulk action can handle, five times the earlier 200
- Period
- 2021.11 ~ 2022.09
- Organization
- Channel Corporation
- Role
- Frontend for team features and customer DB
- Key features
- Teams could be mentioned together and assigned chats. I added completion notifications for large downloads.
- Work and results
- Built the frontend for creating, listing, mentioning, and searching teams on my own
- Added team conditions to assignment, the support bot, and marketing automation
- Customer data bulk action limit raised from 200 to 1,000 records
- Search filters shared by URL and preserved on back navigation
- Tech stack
- ProseMirror
- Playwright
- Gherkin
- WebSocket
Context
On Channel Talk’s chat team, I developed team mentions and automatic chat assignment. I handled the editor screens for finding and mentioning teams and members, including searches that combined team names with membership conditions.
In the customer database, I increased the amount of data operators could handle at once and made search filters shareable and persistent on back navigation.
Decisions and implementation
- Team mention and auto-assignment editor: In the ProseMirror editor, I assembled team and member mentions, a popover UI, and a virtualized list using a composition pattern, so even large member lists rendered without stutter.
- I built autocomplete on an expression search that combines team name and affiliation conditions, which removed the limits of plain name matching.
- I established code review and Gherkin BDD test conventions on the team, and Playwright multi-browser E2E tests checked the editor for regressions automatically on every deploy.
- Customer DB bulk actions and search: I raised the bulk action limit fivefold, from 200 to 1,000 items. Download progress was tracked in real time over WebSocket, with a DM sent automatically when the download finished.
- I made URL SearchParams the single source of truth (SSOT) for search state, so combined filters and sorting, restoring state on back navigation, and sharing results by URL all followed it.