Muhammad Arslan
ご相談・ご依頼
プロジェクト一覧に戻る

Halatap

メール、QR、vCard、Apple Walletへの最新デジタル名刺の作成・共有・エクスポートを単一ダッシュボードから行えるプラットフォーム。

担当役割: Front-end and feature engineer (multi-developer team)開発期間: 2025-2026種別: Full-stack web app

Next.js 16

React 19

TypeScript

Convex

Tailwind CSS 4

Radix UI

Resend

サンプルプロフィールのインタラクティブなHalatapデジタル名刺プレビュー

概要

Halatapは紙の名刺を、常に最新情報へアップデートできるデジタル名刺へと置き換えます。各ユーザーにダッシュボードが提供され、テンプレート群から名刺を作成して、状況に応じた最適な方法(公開リンク、QRコード、メール、ダウンロード可能な連絡先ファイル、またはApple Walletに直接保存できるパス)で共有できます。Next.jsとConvexで構築されたフルスタックアプリであり、セキュアなアカウント機能、リアルタイムデータ、英語とアラビア語の双方に対応しています。

課題

紙の名刺は時代遅れになりつつあります。肩書や電話番号が変わった瞬間に情報は古くなり、紛失しやすく、物理的な1つのフォーマットでしか存在できません。一方でデジタル共有も実際には十分ではなく、リンク、PDF、QRコード、メッセージアプリなどに情報が散在し、信頼できる一元的なソースがありません。さらに、グローバルユーザーは複数言語での名刺を必要とし、チームには1枚ずつではなく一括で多数の名刺を作成できる手段が求められます。Halatapは、これらすべてを単一システムに統合することを目指しました。

役割とアプローチ

これはチームプロジェクトであり、私は他の開発者とともにフロントエンド全般および複数のエンドツーエンド機能の実装を担当しました。業務内容は名刺作成機能とダッシュボード体験、共有フロー、そしてアプリ外での有用性を高める連携機能(Walletパス、vCardエクスポート、メール配信)に及びました。一貫した開発アプローチとしてプロダクトのモジュール性を重視しました。1つのテンプレートシステムからエディタプレビューと公開カードの両方を描画し、1つのカードスキーマで単一作成とCSV一括インポートの両方を賄うことで、機能ごとに枝分かれさせることなく共通基盤を再利用しました。

技術スタック

フレームワークNext.js 16 (App Router) with React 19 and TypeScript
バックエンドConvex for the real-time database, queries, and mutations
スタイリング / UITailwind CSS 4 with Radix UI primitives
認証custom email/password plus Google OAuth
メールResend, through the Convex integration
Walletパスpasskit-generator with node-forge for certificate signing
追加機能Jotai for local state, Framer Motion for transitions, react-qr-code, Sonner for notifications

主な機能

テンプレートベースのカードビルダープレビューと最終的な公開カードが同一コンポーネントからレンダリングされるマルチテンプレート設計により、デザインした通りの見た目で正確に共有可能。
マルチカードダッシュボード無制限の名刺の作成、編集、複製、削除、共有を1か所から実施可能。
公開および非公開共有公開カードはリンクから開き、非公開カードはバックエンドで指定された受信者のメールアドレスのみにアクセスを制限。
メール共有Resend経由でリンクと関連情報を添えた名刺の招待メールを送信。
Apple Walletパスカードごとのカラー、公開リンク用QRバーコード、ローカライズフィールドを備えた署名済みPKPassを生成。
vCardエクスポートスマートフォンのアドレス帳に直接取り込める連絡先データをダウンロード。
CSV一括アップロード個人情報フィールド、SNSリンク、行ごとの画像マッピングに対応し、多数の名刺を一括インポート。
バイリンガル対応主要項目の英語・アラビア語版を、UIと生成パスの双方で適切に解決。

ギャラリー

サンプルプロフィールと連絡先情報を表示したHalatapカードエディタ
サンプルウェブサイトURLを含むHalatapソーシャルリンクエディタ

課題と解決策

アクセス制御は複雑化させずに柔軟性を保つ必要がありました。公開カードと非公開カードでは異なるルールが必要となるため、共有機能はカードと受信者に紐づく専用のsharesテーブルとしてモデル化しました。公開アクセスはカードが明示的に公開設定されている場合にのみ許可され、その検証処理はUI全体に散らばせるのではなく、カード取得クエリの内部に集約しています。

認証は完全な外部サービスへの丸投げではなく独自に構築したため、細心の注意を払いました。パスワードは平文で保存せず、Web Crypto APIによるソルト付きPBKDF2でハッシュ化し、リセットトークンには有効期限を設け、一度使用されたら無効化する仕様にしました。最も開発負荷が高かった機能はApple Walletパスの生成です。証明書ベースの署名、適切なバンドルアセット、埋め込みQRペイロード、フォーマット済みローカライズフィールドが必要であり、これらすべてをオンデマンドで生成し、正しいContent-Typeで返却します。個人とチームの双方への対応は、通常作成フローと個別のCSVインポート経路の間で同一のカードスキーマを再利用することで実現しました。

成果

Halatapはデジタル名刺のあるべき姿を具現化しています。単一の編集可能なアイデンティティが、ウェブ、メール、QR、連絡先ファイル、Apple Walletを横断し、2言語で、個人にもチームにもシームレスに機能します。とりわけWalletパスと一括インポート機能により、単なる「プロフィールページ」の域を超え、実務におけるマルチチャネル共有に真に適応したプロダクトに仕上がっています。

同様のプロダクト課題をお持ちですか?

現在のプロダクト状況、達成したい成果、直面している制約についてお聞かせください。それらをもとに適切な第1マイルストーンを策定します。

フルスタック開発者の採用
プロジェクト概要を送る
すべてのプロジェクト次のプロジェクトMLZ-Advanced
Halatap: Apple WalletおよびvCard対応デジタル名刺プラットフォーム | Muhammad Arslan