import { useState, useEffect } from "react"; import { ArrowUpRight, Menu, X, ArrowRight, ExternalLink } from "lucide-react"; import basicxLogo from "@/imports/basicx-white-logo.png"; import imgCafe35 from "@/imports/Screenshot_2026-06-18_at_08.10.37.png"; import imgCafeCup from "@/imports/Screenshot_2026-06-18_at_08.11.25.png"; import imgInchFab from "@/imports/Screenshot_2026-06-18_at_08.11.02.png"; import imgMinhSang1 from "@/imports/Screenshot_2026-06-18_at_08.12.50.png"; import imgMinhSang2 from "@/imports/Screenshot_2026-06-18_at_08.13.05.png"; const NAV_LINKS = [ { label: "Mission", href: "#mission" }, { label: "Team", href: "#team" }, { label: "Projects", href: "#projects" }, { label: "Testimonial", href: "#testimonial" }, ]; // PTech: seafood-tech company, no uploaded screenshot — use Unsplash const PTECH_IMG = "https://images.unsplash.com/photo-1615485925600-97237c4fc1ec?w=900&h=500&fit=crop&auto=format"; const PROJECTS = [ { name: "Café Trần Quang", url: "cafetranquang.com", href: "https://cafetranquang.com", category: "E-commerce · Brand", desc: "35 năm gìn giữ hương vị cà phê Việt — trải nghiệm số hóa di sản thương hiệu và thúc đẩy doanh số trực tiếp trên toàn quốc.", images: [imgCafeCup, imgCafe35], }, { name: "Ptech Vietnam", url: "ptech.com.vn", href: "https://ptech.com.vn", category: "B2B · Aquaculture Tech", desc: "Nền tảng B2B cho ngành thuỷ hải sản — catalog sản phẩm chuyên sâu, tích hợp đặt hàng và quản lý đối tác phân phối toàn quốc.", images: [PTECH_IMG], }, { name: "InchFab", url: "inchfab.com", href: "https://inchfab.com", category: "B2B · Semiconductor", desc: "Dịch vụ foundry bán dẫn trình bày với độ chính xác và uy quyền mà khách hàng kỹ thuật mong đợi — không nhiễu, chỉ thẩm quyền.", images: [imgInchFab], }, { name: "Minh Sang Design", url: "minhsangdesign.com", href: "https://minhsangdesign.com", category: "Design Studio · Architecture", desc: "Kiến trúc nội thất nâng tầm editorial — portfolio platform thu hút khách hàng cao cấp và phản ánh đúng phong cách thiết kế của studio.", images: [imgMinhSang1, imgMinhSang2], }, ]; const TEAM = [ { name: "Nguyen Van Thanh", role: "CEO & Co-founder", value: "Visionary Clarity", desc: "Thanh translates complex market realities into a focused product vision. Every decision anchors to client outcomes — never internal politics.", photo: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=400&h=500&fit=crop&auto=format", tagline: "Strategy becomes product", }, { name: "Le Thi Minh", role: "CTO & Co-founder", value: "Technical Integrity", desc: "Minh builds systems that scale without drama. Her commitment to clean architecture means clients own their software, not rent it.", photo: "https://images.unsplash.com/photo-1580489944761-15a19d654956?w=400&h=500&fit=crop&auto=format", tagline: "Code built to last", }, { name: "Pham Duc Khoa", role: "Head of Design", value: "Human-Centered Craft", desc: "Khoa starts every project with the person on the other side of the screen — empathy first, aesthetics second, always.", photo: "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=400&h=500&fit=crop&auto=format", tagline: "People feel the difference", }, ]; const TESTIMONIALS = [ { quote: "BasicX didn't just build a website — they understood our 35-year story and turned it into a digital experience our customers keep coming back to.", author: "Trần Quang Vinh", company: "Café Trần Quang", }, { quote: "The team treated our product like it was their own. Technical depth and attention to detail during delivery were unlike anything we had experienced before.", author: "Minh Sang", company: "Minh Sang Design Studio", }, { quote: "Delivered on time, full transparency, and the result spoke for itself. Our qualified leads doubled in the first quarter after launch.", author: "K. Nguyen", company: "InchFab", }, ]; function useScrolled(threshold = 40) { const [scrolled, setScrolled] = useState(false); useEffect(() => { const fn = () => setScrolled(window.scrollY > threshold); window.addEventListener("scroll", fn, { passive: true }); return () => window.removeEventListener("scroll", fn); }, [threshold]); return scrolled; } function useSectionActive() { const [active, setActive] = useState("mission"); useEffect(() => { const ids = NAV_LINKS.map((l) => l.href.slice(1)); const obs: IntersectionObserver[] = []; ids.forEach((id) => { const el = document.getElementById(id); if (!el) return; const o = new IntersectionObserver( ([e]) => { if (e.isIntersecting) setActive(id); }, { rootMargin: "-40% 0px -55% 0px" } ); o.observe(el); obs.push(o); }); return () => obs.forEach((o) => o.disconnect()); }, []); return active; } function ProjectCard({ p }: { p: typeof PROJECTS[0] }) { const [imgIdx, setImgIdx] = useState(0); const dual = p.images.length > 1; return (
{/* Image area — fixed aspect ratio */}
{dual ? (
{p.images.map((src, i) => (
{`${p.name} {i < p.images.length - 1 && (
)}
))}
) : ( {p.name} )} {/* Overlay gradient */}
{/* Category */}
{p.category}
{/* Dual image dots */} {dual && (
{p.images.length} views
)}
{/* Card body */}

{p.name}

{p.url}

{p.desc}

); } export default function App() { const [menuOpen, setMenuOpen] = useState(false); const scrolled = useScrolled(); const active = useSectionActive(); const scrollTo = (href: string) => { setMenuOpen(false); document.querySelector(href)?.scrollIntoView({ behavior: "smooth" }); }; return (
{/* ── NAV ─────────────────────────────────────────── */} {/* ── HERO / MISSION ──────────────────────────────── */}
{/* Grid texture */}
{/* Blue left accent */}
{/* Right vignette */}
{/* Badge */} Product & Technology Partner {/* Headline */}

We build products
people love.

BasicX is a product and technology studio. We partner with founders and businesses to design, build, and grow digital products — with more than a decade of experience across product thinking, engineering, and UX.

{/* Stats */}
{[ { n: "10+", label: "Years experience" }, { n: "100%", label: "Ownership mindset" }, { n: "4", label: "Industries" }, { n: "∞", label: "Long-term partnerships" }, ].map((s) => (
{s.n}
{s.label}
))}
{/* Scroll pulse */}
scroll
{/* ── TEAM ────────────────────────────────────────── */}
{/* Label */}
Our Team

People make
the difference

We combine product thinking, technical expertise, and real-world experience to build solutions that deliver real value. More than a development team — we act as your long-term product partner.

{/* Cards */}
{TEAM.map((m) => (
{m.name}
{m.value}
{m.role}

{m.name}

{m.desc}

→ {m.tagline}
))}
{/* Values strip */}
{[ { icon: "100%", title: "Full commitment", body: "We treat your product as if it were our own — full skin in the game, every sprint, every decision." }, { icon: "+10", title: "Built on trust", body: "Over a decade delivering with responsibility. We don't disappear after go-live." }, { icon: "🏆", title: "We care deeply", body: "Your product's success is our reputation. We measure ourselves by your outcomes, not billable hours." }, ].map((v) => (
{v.icon}
{v.title}

{v.body}

))}
{/* ── PROJECTS ────────────────────────────────────── */}
Selected Work

Projects we're
proud of

From Vietnamese coffee heritage to semiconductor foundry — we go deep into each domain.

{/* Aligned 2×2 grid */}
{PROJECTS.map((p) => ( ))}
{/* ── TESTIMONIAL ─────────────────────────────────── */}
Testimonials

What clients say

{TESTIMONIALS.map((t) => (
"

{t.quote}

{t.author}
{t.company}
))}
{/* ── CTA BANNER ──────────────────────────────────── */}

Ready to build something real?

Let's talk about your product — no pressure, no template proposals.

Start a conversation
{/* ── FOOTER ──────────────────────────────────────── */}
); }