SaaSMobileAI

HAIZEL // Blkbook · professional networking PWA

A digital business card built to replace the paper one — and LinkedIn

Next.js 16SupabaseGoogle Gemini AIApple WalletPWAInvite-only SaaS
CRSF / 004Coralsoft Showcase
15
Typed profile component types — Hero, Portfolio, Timeline, Press, Quote…
6+
Role-based default stacks so users never start from blank
0→1
Full-stack greenfield build, zero codebase to production launch
01 — The brief

The client came to Coralsoft with a clear ambition: build a digital product that makes the paper business card and the static LinkedIn profile obsolete. Professionals — founders, photographers, designers, realtors, creative talent — needed a living portfolio they could hand to anyone, in person or remotely, that actually reflected their brand identity rather than a generic form.

The core challenge was not just building a profile page. It was architecting a flexible content system that could serve radically different professional personas, a contact exchange mechanism that worked with and without accounts, and a mobile experience so polished it felt native — all delivered as a progressive web app, with no App Store dependency.

02 — What we built

The product surface

Coralsoft designed and delivered the entire product from scratch — architecture, backend, frontend, AI integrations, and third-party pipelines. The result is a full-stack SaaS platform with a server-actions data layer (no REST API), Supabase PostgreSQL with row-level security, React Query for all client state, and a PWA shell installable on iOS and Android.

01

Customisable digital profile

15 typed content blocks — Hero, Portfolio, Timeline, Press, Quote, Ventures and more — each independently editable, reorderable and toggleable. Six role-based default stacks get users to a complete profile without starting from blank.

02

Smart contact exchange

Three exchange patterns — authenticated mutual, guest one-way (no account required), admin-created — each running through atomic PostgreSQL RPC functions that share fields and upsert vault entries for both parties in a single transaction.

03

Business card scanner

Gemini 2.5 Flash Vision OCR turns a camera photo or upload into structured contact fields — name, role, email, phone, LinkedIn — in seconds, directly prefilling the vault contact form.

04

Apple Wallet pass

An end-to-end .pkpass generation pipeline with Apple certificate signing, served from an authenticated API route. Users add their contact card to iPhone Wallet in one tap — no third-party app required.

05

Contact vault

A CRM-lite for managing professional contacts. Imports from manual entry, exchange acceptance, business card scan, or LinkedIn URL via Apify — with avatar upload to Supabase Storage and full rich-field records.

06

AI-assisted onboarding

Gemini generates initial profile section content based on the user's role and name during onboarding. Users start with a credible, structured profile rather than an empty page — dramatically improving activation.

03 — Architecture and stack

Decisions, not just dependencies.

All mutations flow through Next.js server actions — components never touch Supabase directly. Data access helpers encapsulate raw queries; React Query hooks wrap server actions to add caching, optimistic updates, and background invalidation. A four-tier middleware routing model enforces auth and onboarding redirects at the edge before any page renders.

Type safety is enforced end-to-end: types/database.ts is auto-generated from the live Supabase schema, making every data access call compile-time safe. Pre-commit quality gates (ESLint 9, Prettier, Husky, CommitLint) and Vercel branch previews per pull request keep the codebase production-ready at every commit.

04 — Delivery highlights

What was hard, and how we shipped it.

  1. 01

    Zero-to-production architecture

    Designed and built the complete full-stack system from scratch: Supabase schema with RLS policies, server actions layer, React Query integration, and PWA configuration — no inherited codebase, no scaffolding shortcuts.

  2. 02

    Apple Wallet pass pipeline

    End-to-end .pkpass generation including Apple certificate management, pass template design, cryptographic signing via node-forge, and authenticated binary serving from a Next.js API route.

  3. 03

    Atomic exchange system

    PostgreSQL RPC-backed contact exchange handling mutual, guest, and admin flows — with 24-hour deduplication on guest submissions and automatic vault upsert on acceptance, all in a single database transaction.

  4. 04

    LinkedIn import pipeline

    Apify-powered contact prefill: scrapes a public LinkedIn profile, uploads the avatar to Supabase Storage, and populates all vault contact fields — triggered from a single URL input.

  5. 05

    Invite and access-request system

    Full lifecycle: public application form → admin review dashboard → invite code generation → personalised transactional email via Resend → gated signup. Built as a first-class product feature to support the curated network model.

Looking at a project that sits at this kind of seam?

Bring us the architecture, the constraints, and the ship date. We will bring the rest.