The product
RoundHere brings events, experts, channels, and recorded sessions into a shared discovery experience. Its public platform helps people find relevant programs, explore communities, connect with expertise, and return to content after a live event. It also gives organizations a place to bring their programs and community activity together.
A visitor can browse an event, discover the organization or channel behind it, and explore related experts or recordings. For an organizer, the experience extends beyond the event listing into hosting and participation. For an expert, the product offers a way to make expertise discoverable and available through sessions. These connected journeys make RoundHere more than a calendar: discovery leads into interaction, and live participation can become content people revisit.
- Discover
Events and experts
- Join
Enter the live session
- Interact
Video and conversations
- Replay
Return to the content
The challenge
Live experiences have a different engineering rhythm from ordinary page-based applications. A video session, a chat conversation, and a recording workflow all change while people are using them. The interface needs to reflect those changes, the backend must coordinate the corresponding application behavior, and the experience has to continue across the transition from a scheduled event to a live session and then to a replay.
My work focused on those connected features. It required moving between frontend components, application logic, real-time events, and third-party media integrations, rather than treating each screen as an isolated deliverable.
My contribution
As a Senior Full-Stack Engineer working through Embark, I made hands-on contributions across the Laravel backend and Vue-based interface. My core areas included real-time communication, the live video studio, chat, and event recording. I also integrated teammates’ work and regularly promoted application changes through the delivery process during the main period of my contribution.
In the live studio, I worked on the Vonage video integration and the controls that make a session usable: participant interactions, hand-raising, captions, and device controls. This connected the media provider’s capabilities with the application’s own event experience and interface.
For chat, I contributed conversation and thread functionality, reactions, pinned messages, attachments, search, and administrative tools. These features supported the ongoing interaction around a community, including the smaller exchanges that happen outside the main live session.
Technical decisions
The real-time work used Laravel broadcasting and a socket-based layer to carry application updates into the frontend. I worked across both sides of that connection so that user actions and visible application state could participate in a coherent flow.
For recordings, I implemented work spanning scheduled tasks, queued processing, automatic event recording, and thumbnail generation. That connected the live-session lifecycle with the recorded-content experience. I also contributed to paid-session workflows and release integration, bringing together feature work that crossed multiple layers of the application.
Outcome
The work added and extended application functionality across live video, conversations, and recorded events. My contribution covered the path from participant-facing controls to the supporting backend behavior, with release integration alongside that feature work. It demonstrates hands-on ownership within an existing product, particularly where real-time interaction depends on coordinated frontend and backend development.
This case shows how I work across interfaces and services to deliver complete product behavior, while collaborating with other engineers on an application that continued to evolve beyond my individual contributions.
Relevant stack
Laravel, Vue 3, Inertia, Tailwind CSS, Laravel Echo / Socket.IO, Vonage Video, FFmpeg, Redis / Horizon, and Stripe Connect.