Case study
HabeshaWork
Professional Network for the Habesha Community
Role
Scope
Stack
What I built.
- 01
Design and build every screen people use: Home, Profile, Network, Search, Messages and sign-in.
- 02
Rich profiles with photos, banners, experience, languages and interests, and guided onboarding until the essentials are filled in.
- 03
Member discovery with preferences, search by name, title or company with country and industry filters, and connection requests.
- 04
Real-time one-to-one chat, with a separate layout for phones.
- 05
When a screen needs new data, I update the server too, so features ship complete without waiting on a separate backend developer.
- 01
React 18, TypeScript and Vite frontend with an auth-aware router (signed-out, onboarding and main route sets) and Preact Signals stores.
- 02
API wrappers attach the Firebase ID token to every call to the main API (Express on Firebase Cloud Functions) and the chat API.
- 03
A WebSocket messaging hook for live delivery and keep-alive, with desktop and mobile chat views.
- 04
Signed-URL image uploads through FilePond for profile and banner images.
- 05
Extend endpoints, response shapes and Prisma migrations on PostgreSQL when the UI needs them, keeping changes backward-compatible.
- 06
Deployed through GitHub Actions to Firebase Hosting, with preview channels on pull requests.