Bob Obringer

Experience

Sona

Front End Engineer, Architect, Head of Engineering


  • Responsible for web application architecture, including component, page rendering, front end blockchain integration, and integration with back end services.
  • Migrated the music app from client rendered pages to the NextJS App Router, using React Server Components and Server Actions, significantly improving performance, eliminating nearly all custom APIs and improving developer velocity and quality.
  • Lead the engineering team responsible for the streaming music app and marketplace, artist dashboard, infrastructure, blockchain.
  • Built Design System with Tailwind and a mix of RadixUI and React Aria.
  • Built Sona Search, allowing users to search through millions of songs, artists, albums, playlists and users and get results in milliseconds. Metadata would be sent to Typesense to index, and search results were cached at the edge with Cloudflare Workers, giving our users what feels like instant results. A Raycast Extension allowed users to search directly from Raycast.
  • Built Sona Vibe Search, an AI backed discovery service, allowing users to find new music using natural language. Songs would be transcoded into the proper format using ffmpeg, sent to Cyanite's AI engine to be analyzed and indexed. Recommendations were provided based on user's listening habits or users could search for a specific vibe. A Raycast Extension allowed users to search for vibes directly from Raycast.
  • Built Sona Wallet, including on and offramps. Sona Wallet included our own embedded wallet supplied by Privy, and user supplied wallets via MetaMask or WalletConnect.
  • Built Sona’s Reserve Auction feature, allowing Artists to auction an NFT representing a song.
  • Responsible for all blockchain indexing using Ponder.
  • Created transactional e-mail system to automate the creation and sending of rich React and Tailwind based e-mails from any Sona application.
  • Built custom Redis/Upstash data caching mechanism to replace the built in NextJS/Vercel cache.
  • Created image processing library and corresponding image component. Images received from various sources had metadata extracted and stored, including low res base64 encoded versions. Source images would be uploaded to the appropriate bucket. The custom Image component read the image metadata, displays the blurred low res placeholder, and creates a url to pass to AWS Serverless Image Handler to retrieve an optimized image for the use case and device.

Frameworks

NextJS, React Server Components

Frontend

React, Raycast Extension, Resend

Languages

TypeScript, Node.js

Components

RadixUI, React Aria, Storybook

State

React Query, Jotai

Data

MySQL, Postgres, DrizzleORM, Redis, Zod

web3

Privy, viem, WalletConnect, Ethereum, MetaMask, Reservoir, Ponder

Styling

Tailwind

Quality

Playwright

Ops

TurboRepo, Vercel

Metrics

Posthog, Betterstack

Eng Management

Leadership

More Skills

JWT, Figma

Search

Typesense, Cyanite

Backend

Cloudflare Workers

Media

ffmpeg, Sharp, Next Image, AWS SIH

Industry

Music

Size

20

From

2023 to Today