building beeps

Joey Parsons

Apr 24, 2024

One of the more exciting things about building a new startup is the opportunity to leverage new tools or platforms that you may have not been able to use in the past.  Each of our #beeple have discovered or gone deeper in areas that have sped up and augmented our ability to ship.

Here’s some of the team’s favorite things from our early building days:

Zod has been a key player in our team's quest for robust type safety. This TypeScript-first validation library simplifies defining schemas, turning runtime validation into an error-proof process. We rely on Zod to validate environment variables, data from forms or external APIs, parse OpenAI function arguments, and much more. - Cristina

We’ve heard from user interviews that aesthetics play a huge role in how modern engineers decide what tools to even try, much less use.  Framer Motion has helped us add simple and subtle animations to our web presence to bring small moments of delight for users who are learning about or using beeps for the first time.  Check out our home page to watch as things change using the motion components. - Kétlin

As a fully-remote, globally-distributed team, we all value the flexibility of remote work here at beeps, but not at the expense of feeling like a team. Utilizing tools like Figjam to communicate ideas has been at the center of our async-first collaboration style; it’s leveled up idea generation, communication, and helped build culture. We use this whiteboarding tool to leave comments on mockups, visualize algorithms, drive check-in meetings, track user feedback, and more. Its best feature? Virtual high-fives. - Mary

Testing frameworks are crucial for engineers, ensuring code integrity, performance, and reliability. Enter Bun: a dynamic JavaScript runtime and toolkit that has shaped our testing approach from the outset. With its integrated test runner and robust assertion capabilities, streamlining test execution within the JavaScript ecosystem has meant more time improving our codebase without sacrificing code coverage. Additionally, Bun's minimal learning curve has made it accessible and efficient for our team. - Zinnia

At the core of most apps is a database. In many ways, it’s one of the most important components. If the app is slow, it’s usually the persistence layer. If it doesn’t scale, probably because of the persistence layer. Hosting bills through the roof? Persistence layer.

It was clear: we have to nail our technical decisions around the database. Along came Drizzle: relational queries with deeply nested joins, auto-generated migrations and first-class support for Neon. All this without an additional code generation step. Drizzle was a newcomer, but we took a leap of faith. So far with zero regrets! - Josef

The beeps team is fully remote and we work async with as few meetings as possible. It’s inefficient to have too many check-ins or status updates, so we utilize Linear to make sure that we all stay timely and on track. Its intuitive interface and keyboard shortcuts make it feel effortless, empowering me to communicate updates and meet deadlines with ease and stay focused regardless of who else is around. - Anokhi


Coming from previous lives of managing teams that at scale either had tens of thousands of EC2 instances or twice that amount in containers running on Kubernetes or ECS, managing that sort of complexity and overhead at this stage is absolutely unnecessary.  Enter fly.io.  With a quick TOML configuration and a simple CLI tool, we’re able to spin up and orchestrate our long running services across multiple regions around the world quickly for high availability and reliability. - Joey

Honorable mentions:

  • Turbo: managing our Typescript monorepo

  • Doppler: managing our secrets across different environments

  • T3 Env: keeping our environment variables type safe

  • Axiom: for all our logs and metrics

  • Basehub: we’ve been loving building our blog with this new cms!