All projects

Project 01 / Team contribution

Trait.

Calls that need to work beyond the chat screen.

I worked on mobile calling, workspace startup, and the connections between the app and its services.

Focus
Mobile calls & workspaces
Built with
React Native / TypeScript / Rust / Go
Status
Released product · Team contribution
Trait’s dark workspace interface with a channel list, shared conversation, and an open thread.
Trait’s workspace and thread view. Figma design preview with sample content.

01

Overview

Trait is a team workspace with channels, direct messages, tasks, and voice and video calls. I contributed to the mobile app and shared realtime code.

An incoming call can arrive while the app is in the background. The native call screen, media room, and server need to agree on whether it is ringing, accepted, or already cancelled.

02

My work

I worked on call handling, mobile UI, workspace loading, and server integration as part of the product team.

  • Worked on incoming calls, media controls, and cleanup across native and shared code.
  • Added loading and recovery states when someone opens a workspace.
  • Built a shared native host for wallet and game mini apps, with a typed bridge between web and native code.

03

Technical decisions

The React Native app connects native call screens to a shared realtime room client. The server owns the call and workspace state.

  • Handled joining, cancellation, and cleanup explicitly so each part of a call has a clear owner.
  • Waited for workspace data before the first entry while keeping cached content usable.
  • Kept sensitive wallet operations in native code and limited what mini apps could request.

04

Scope & status

My contributions to calls, workspace startup, and mini-app hosting were merged into the Trait codebase.

  • Some call changes need coordinated app and service releases.
  • Automated and simulator checks cover part of the behavior. Physical-device call testing is still a separate step.
Next projectBBGE