Motivation
By December 2025, we'd doubled the engineering and product team in 12 months. There were 23 of us spread across Austin, San Francisco, South America, Europe, and Asia, and we'd never once all been in the same room.
We value in-person interaction as a core component of Boom's culture. We think that problems are solved more effectively with an element of spontaneous collaboration that comes from working closely together (e.g., overhearing a discussion that sparks a similar idea in another project). We wanted to come together as a team, in person, to do a hackathon to drive discontinuous improvement in our customer experience.
During this time, AI had been rapidly advancing. We wanted to make a step change to have our team, organization, and company work natively with AI. Our goal was not to "tack on" AI to our existing solutions and offerings, but instead to figure out how to solve customer and internal problems more effectively by using AI.
To enable this, we organized a week-long in-person offsite to build together in Da Nang, Vietnam.

Execution
Pre-work
Weeks before the offsite, we did pre-work to enable the offsite to focus on initiatives that would drive Boom's business forward. We decided on a team-based hackathon as the overarching format for the week. This would help provide a gamified, team-building atmosphere while pushing teams to contribute to concrete projects that would move the needle for Boom.
We built a candidate project list sourced from customer feedback and ideas from across the company. We spent time short-listing and scoping the features to be ready for the offsite hackathon. By doing this, day one of the offsite started with teams choosing projects and discussing implementation tradeoffs rather than brainstorming from scratch. Our project candidate list was grounded in feedback we heard from customer, prospect, and internal team member conversations over the past 2 to 3 months. Key to managing offsite outcomes was for us to harness and direct team creativity towards opportunities that solve customer problems and drive the business forward.
Hackathon
To start, we story-pointed the hackathon project candidate list together as a team. This introduced projects to the team and allowed us to align on the complexity of each, so that people knew what they would be getting into when selecting a particular project.
Six teams of 2 to 4 engineers drafted from our project list team by team, each picking up to two projects at a time. A drafted project was locked so no other team could work on it. A team could relinquish a project to work on something else instead, freeing the previous project for another team to work on.
Development ran from Wednesday 11am to Saturday 5pm, with demo opportunities spread throughout the week, culminating in final demo sessions on Friday and during the final judging on Monday.
We scored demos and submissions with components of impact, technical execution, and a bonus for releasing to customers in production. We had multiple awards for: most impactful feature shipped to production, best moonshot, and most story points delivered.
We didn't do a full code freeze. Instead, we kept the business running, but we protected the time of the people in the room. Full focus on the hackathon was critical to moving the needle for Boom.

Other activities
Outside of the hackathon, we also conducted other group sessions for brainstorming, discussion, and collaboration, such as:
- Reviewing how agentic development is working and should work in our codebase. What practices and norms we should keep or change.
- Working session on our user experience and key pain points, where we watched customers using our products as a group to build customer empathy.
- Group brainstorming on how engineers were using AI in their own work, and how we could apply these use cases to the software development life cycle.
- Collaboration and discussions with design and marketing team members, so that the team could understand and inform the future direction of Boom's brand identity and upcoming design plans.
We also spent time not working, with day trips to Ba Na Hills and the Golden Bridge, Marble Mountains, a day in Hoi An, the Dragon Bridge fire show, and enjoying many meals as a team.
Outcomes
Dedicating uninterrupted time to our hackathon initiatives led us to deliver a number of wins for customers and our team over the week across development standards, internal tools, and externally facing features that we'll launch for customers. A few examples included:
Agentic coding standards. We aligned on agentic coding standards and released updates to our AGENTS.md file across our main repositories.
Natural-language database queries. We released a proof of concept for a tool to enable our internal teams to query our database in natural language to onboard and assist customers faster.
We knew going into this that it would be one of the harder projects to get right: security, data privacy, and reliability are all risk factors when handing an LLM the keys to the database. This project also happened around the time MCP was really starting to take off, and that felt like a natural fit: provide the LLM with a series of tool calls, each providing complementary data, so the LLM could build the query and we could execute it within our existing cloud infrastructure.
The first thing we built was simple tooling to help instrument our data models, allowing us to document the tables, columns, relationships, example values, and any guardrails. For example, we documented how an applicant and application relate to one another and what columns should be ignored by LLMs (such as JSON columns).
The agent then has access to three tools: list_tables to provide a list of tables, describe_table to provide the schema for a table, and execute_application_query to actually run the query. These tools are simple in theory, but in practice there's a bit more nuance to ensuring this is being done safely, with reliability in mind, and in a way that ensures the protection of sensitive PII. First, we ensured the generated queries are read-only queries, and for added safety we run them only on a read replica. To ensure system reliability, we also include a limit for the number of tool calls and we limit query execution to one second, with a session-level statement timeout and an error message returned to the LLM in the event the timeout is reached, so it knows why the query failed to execute.
Release notes automation. We released an automation for our release notes. This tooling helped our QA and Product teams ensure that our release notes provided a more complete picture of all of the changes included in a given deployment: collecting each PR, reviewing the changes in the PR and the linked Jira ticket, and ultimately posting these as internal release notes in Slack.
Internal operations. We demonstrated workflows that accelerated internal operations by applying AI, from account opt-outs to answering "how does this work" using an existing corpus of knowledge.
Customer-facing foundations. We laid foundations for AI-assisted offer letter uploads, explaining recommendations to users, and other features where AI could help us solve customer problems better.
Takeaways
You can't replicate what happens when a team is in the room together. We found that the bonds we made from the offsite strengthened our future remote collaborations. We had an assortment of funny situations and custom emojis that connect and remind us of our experiences working together.
That said, readers planning a similar offsite should realize that executing an event like this has a cost, and you get what you pay for. Having a productive offsite in terms of customer impact requires thoughtful planning and curation of resources so that the team can unite over customer empathy.
We're excited to further build our culture with another Product and Engineering offsite later in 2026. Want to be in the room for the next one? See our open roles.




