Halatap
A platform for creating, sharing, and exporting modern business cards from one dashboard, to email, QR, vCard, and Apple Wallet.
Next.js 16
React 19
TypeScript
Convex
Tailwind CSS 4
Radix UI
Resend

Overview
Halatap replaces the paper business card with a digital one you can actually keep up to date. Each user gets a dashboard to build cards from a set of templates, then shares them however the moment calls for: a public link, a QR code, an email, a downloadable contact file, or a pass saved straight into Apple Wallet. It's a full-stack app built on Next.js and Convex, with secure accounts, real-time data, and support for both English and Arabic.
The Problem
Paper cards have aged badly. The information goes stale the moment a job title or phone number changes, they're easy to lose, and they only exist in one physical format. Sharing digitally is no better in practice, because it ends up fragmented across links, PDFs, QR codes, and messaging apps with no single source of truth. On top of that, international users need cards in more than one language, and teams need a way to create many cards at once instead of one at a time. Halatap set out to fold all of that into one system.
My Role & Approach
This was a team project, and I contributed across the front end and several end-to-end features alongside other developers. The work spanned the card-building and dashboard experience, the sharing flows, and the integrations that make a card useful outside the app: wallet passes, vCard export, and email delivery. The approach throughout was to keep the product modular. One template system feeds both the editor preview and the public card, and one card schema serves both single-card creation and bulk import, so features reused the same foundations instead of branching.
Tech Stack
Key Features
Gallery


Challenges & Solutions
Access control had to be flexible without becoming a tangle. Public and private cards need different rules, so sharing is modelled with a dedicated shares table tied to card and recipient. Public access is allowed only when a card is explicitly marked public, and the check lives inside the card query itself rather than scattered through the UI.
Authentication was built rather than fully outsourced, which meant doing it carefully. Passwords are hashed with salted PBKDF2 through the Web Crypto API instead of being stored raw, and reset tokens are time-bound and marked used once spent. The most involved feature was Apple Wallet pass generation. It requires certificate-based signing, the right bundled assets, an embedded QR payload, and formatted localised fields, all produced on demand and returned with the correct content type. Supporting both single users and teams came down to reusing one card schema across a normal creation flow and a separate CSV import path.
Outcome
Halatap ends up doing what a digital business card should: one editable identity that travels across web, email, QR, contact files, and Apple Wallet, in two languages, for both individuals and teams. The wallet-pass and bulk-import features in particular push it past the typical "profile page" product into something that fits real-world, multi-channel sharing.
Have a similar product problem?
Share the current product, the outcome you need, and the constraints already in the way. I will use that to define a sensible first milestone.
Hire a full stack developer