PortfoliYo — Store & Portfolio Builder for Bangladesh
A SaaS I designed and built that turns a Bangladeshi seller's Facebook page into an online store with cash-on-delivery checkout, WhatsApp ordering and a Bangla-speaking AI assistant. Creators can also publish a portfolio site at their own address.

Role: Founder & full-stack engineer (design, product, frontend, backend, database)
PortfoliYo turns a Bangladeshi seller's Facebook page into a real online store — or gives a creator a portfolio site at their own address — with Bangla-first copy, cash-on-delivery checkout, WhatsApp ordering and an AI assistant that answers shoppers.
Live at portfoliyo.live.
The Problem
Most small businesses in Bangladesh sell through a Facebook page: orders come in over Messenger, prices are typed into comments, and nothing about the business lives at an address the owner controls. Existing website builders are priced in dollars, assume card payments and English-speaking customers, and ask the owner to rebuild everything from scratch.
What I Built
- Facebook page → store in about a minute: paste a page link and Claude reads what's public (name, about text, recent posts and photos), builds a structured draft with products, prices, delivery fees and contact details, and picks one of 12 store designs with a one-line "why this design". The owner only fills in what couldn't be found.
- Block-based site editor: 42 templates (12 shops, 30 portfolio and service-business designs), click-any-word editing, layout variants per section, a theme system on CSS variables and container queries so the desktop / tablet / mobile preview matches what visitors get.
- Bangladesh-ready checkout: cash on delivery, bKash / Nagad advance payments with one-use transaction IDs, Dhaka / outside-Dhaka delivery zones, coupons, fake-order protection (BD-only numbers, daily limits, blocklist) and Steadfast courier booking.
- AI shopper assistant: answers in Bangla or English on the store, WhatsApp, Messenger and Instagram — only about that store, with order lookup locked behind order number + phone, and a hand-off to the owner when it's unsure.
- Automations & marketing: WhatsApp Business order updates, keyword-triggered comment replies, a unified inbox, Meta ads created from the dashboard, Meta Pixel / GA4 / TikTok tracking, Facebook and Google product feeds, and a results view with cost per order and return on ad spend.
- Plans, metering & domains: local payment flow (bKash / Nagad / bank transfer with an admin approval queue), monthly quotas and top-up credits metered in the database, subdomains and custom domains, and domain purchasing through the Name.com API.
By the Numbers
- ~60,000 lines of TypeScript
- 42 site templates — 12 store designs and 30 portfolio designs
- 35 database tables with business rules enforced in Postgres functions (pricing every order line, going live, selling, usage metering)
- 5 messaging channels in one inbox: store chat, WhatsApp, Messenger, Instagram DMs and comments
Tech Stack
- App: Next.js 14 (App Router), React 18, TypeScript, Tailwind CSS
- Data: Supabase (Postgres, Auth, Storage, Vault for third-party tokens), SQL functions for orders and metering
- AI: Anthropic Claude for store building, product descriptions and the shopper assistant (with prompt caching)
- Integrations: Meta Graph API (Messenger, Instagram, Ads, Conversions API), WhatsApp Cloud API, Apify, Steadfast courier, Name.com
Key Decisions
- Enforce the money rules in the database, not the UI: whether a site is live, can take orders or can spend AI replies is decided by Postgres functions, so a draft can't be made public by editing its own settings and every order is priced from the catalog.
- Honest by design: no countdown timers or fake scarcity, the AI says it's automated, and sections still showing a template's sample claims are flagged before publishing.
- Every AI path ends on a real result: if the model returns an unknown design or AI is off, the app falls back to scoring the page's words (English, Banglish and Bangla) and prices against the same design catalog.
Outcome
A complete, bilingual SaaS that takes a seller from a Facebook page to a published store with orders, delivery and customer chat — and gives creators a one-time-payment portfolio — designed around how people in Bangladesh actually buy and sell online.