fix: remove fabricated marketing content, replace with honest new-agency framing
Testimonials, case studies, a fake personal work history, inflated company
stats, per-service metrics, blog posts, tech-stack proficiency percentages,
and SEO meta/JSON-LD (including a false 2017 foundingDate) all invented
content that never existed. Replaced with real dated milestones, honest
empty-states ("new agency, real results coming soon"), and only verifiable
facts about what Aura has actually built and shipped.
This commit is contained in:
+3
-3
@@ -4,7 +4,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<title>Aura Ajentic AI — AI Agents, Automation & Full-Stack Dev</title>
|
<title>Aura Ajentic AI — AI Agents, Automation & Full-Stack Dev</title>
|
||||||
<meta name="description" content="Aura Ajentic AI builds custom AI agents, automation pipelines, Web3 infrastructure, MT5 trading systems, data pipelines, and enterprise web apps — based in Dhaka, serving clients worldwide." />
|
<meta name="description" content="Aura Ajentic AI builds custom AI agents, automation pipelines, Web3 infrastructure, MT5 trading systems, data pipelines, and enterprise web apps — based in Dhaka, Bangladesh, remote-friendly." />
|
||||||
<meta name="keywords" content="AI agents, automation, SvelteKit, n8n, Anthropic, Web3, MT5 EA, web development, Bangladesh" />
|
<meta name="keywords" content="AI agents, automation, SvelteKit, n8n, Anthropic, Web3, MT5 EA, web development, Bangladesh" />
|
||||||
<meta property="og:title" content="Aura Ajentic AI — AI Agents, Automation & Full-Stack Dev" />
|
<meta property="og:title" content="Aura Ajentic AI — AI Agents, Automation & Full-Stack Dev" />
|
||||||
<meta property="og:description" content="We build AI agents, automation & enterprise systems that work 24/7." />
|
<meta property="og:description" content="We build AI agents, automation & enterprise systems that work 24/7." />
|
||||||
@@ -50,10 +50,10 @@
|
|||||||
"url": "https://auraajenticai.cloud",
|
"url": "https://auraajenticai.cloud",
|
||||||
"logo": "https://auraajenticai.cloud/logo.png",
|
"logo": "https://auraajenticai.cloud/logo.png",
|
||||||
"image": "https://auraajenticai.cloud/logo.png",
|
"image": "https://auraajenticai.cloud/logo.png",
|
||||||
"description": "Aura Ajentic AI builds custom AI agents, automation pipelines, Web3 infrastructure, MT5 trading systems, data pipelines, and enterprise web apps — based in Dhaka, serving clients worldwide.",
|
"description": "Aura Ajentic AI builds custom AI agents, automation pipelines, Web3 infrastructure, MT5 trading systems, data pipelines, and enterprise web apps — based in Dhaka, Bangladesh, remote-friendly.",
|
||||||
"email": "ceo@auraajenticai.cloud",
|
"email": "ceo@auraajenticai.cloud",
|
||||||
"telephone": "+8801911877091",
|
"telephone": "+8801911877091",
|
||||||
"foundingDate": "2017",
|
"foundingDate": "2026-07",
|
||||||
"areaServed": "Worldwide",
|
"areaServed": "Worldwide",
|
||||||
"address": {
|
"address": {
|
||||||
"@type": "PostalAddress",
|
"@type": "PostalAddress",
|
||||||
|
|||||||
+6
-6
@@ -81,7 +81,7 @@ function App() {
|
|||||||
const META = {
|
const META = {
|
||||||
'': {
|
'': {
|
||||||
title: `${BASE} — AI Agents, Automation & Full-Stack Dev`,
|
title: `${BASE} — AI Agents, Automation & Full-Stack Dev`,
|
||||||
desc: 'We build custom AI agents, automation pipelines, Web3 infrastructure, MT5 trading systems, and enterprise web apps. Based in Dhaka, serving clients worldwide.',
|
desc: 'We build custom AI agents, automation pipelines, Web3 infrastructure, MT5 trading systems, and enterprise web apps. Based in Dhaka, Bangladesh — a new agency running our own live products first.',
|
||||||
},
|
},
|
||||||
services: {
|
services: {
|
||||||
title: `Services — ${BASE}`,
|
title: `Services — ${BASE}`,
|
||||||
@@ -89,7 +89,7 @@ function App() {
|
|||||||
},
|
},
|
||||||
stack: {
|
stack: {
|
||||||
title: `Tech Stack — ${BASE}`,
|
title: `Tech Stack — ${BASE}`,
|
||||||
desc: 'Production-tested stack: React, SvelteKit, Next.js, Node.js, Python, Anthropic Claude, n8n, Solidity, Docker, and more — across 40+ production agents.',
|
desc: 'What actually runs our own live products: React, SvelteKit, Next.js, Node.js, Supabase, Anthropic Claude, n8n, Solidity, Docker, Coolify, and more.',
|
||||||
},
|
},
|
||||||
agents: {
|
agents: {
|
||||||
title: `AI Agents — ${BASE}`,
|
title: `AI Agents — ${BASE}`,
|
||||||
@@ -97,7 +97,7 @@ function App() {
|
|||||||
},
|
},
|
||||||
timeline: {
|
timeline: {
|
||||||
title: `Experience — ${BASE}`,
|
title: `Experience — ${BASE}`,
|
||||||
desc: '7 years of shipping production AI systems — from fintech infrastructure to MT5 trading bots to founding Aura Ajentic AI in Dhaka, Bangladesh.',
|
desc: 'Founded July 2026. Real, dated milestones — from founding Aura Ajentic AI in Dhaka to our first paying client to Meta Tech Provider status. Not a résumé.',
|
||||||
},
|
},
|
||||||
contact: {
|
contact: {
|
||||||
title: `Contact — ${BASE}`,
|
title: `Contact — ${BASE}`,
|
||||||
@@ -105,7 +105,7 @@ function App() {
|
|||||||
},
|
},
|
||||||
'case-studies': {
|
'case-studies': {
|
||||||
title: `Case Studies — ${BASE}`,
|
title: `Case Studies — ${BASE}`,
|
||||||
desc: 'Real-world AI agent, MT5 trading, Meta Ads, and Web3 projects with production metrics. See what Aura actually ships for clients.',
|
desc: 'We\'re a new agency — real case studies are coming as our production work ships and proves out. See our own live products in the meantime.',
|
||||||
},
|
},
|
||||||
pricing: {
|
pricing: {
|
||||||
title: `Pricing — ${BASE}`,
|
title: `Pricing — ${BASE}`,
|
||||||
@@ -113,11 +113,11 @@ function App() {
|
|||||||
},
|
},
|
||||||
blog: {
|
blog: {
|
||||||
title: `Blog — ${BASE}`,
|
title: `Blog — ${BASE}`,
|
||||||
desc: 'Technical deep-dives on building AI agents, MT5 Expert Advisors, Meta Ads automation, and the infrastructure behind Aura Ajentic AI.',
|
desc: 'Real technical write-ups on AI agents, automation, and the infrastructure behind Aura Ajentic AI — published as we ship, not before.',
|
||||||
},
|
},
|
||||||
products: {
|
products: {
|
||||||
title: `Our Products — ${BASE}`,
|
title: `Our Products — ${BASE}`,
|
||||||
desc: 'GlamourTouch — Aura\'s own live e-commerce store in beauty & lifestyle. A real, production product built on our stack. See exactly what we ship for clients.',
|
desc: 'Snehalata and Glamours Touch — Aura\'s own live products, built and run on our own stack. Real businesses, not demos.',
|
||||||
},
|
},
|
||||||
privacy: {
|
privacy: {
|
||||||
title: `Privacy Policy — ${BASE}`,
|
title: `Privacy Policy — ${BASE}`,
|
||||||
|
|||||||
+79
-335
@@ -8,7 +8,7 @@ const PORTFOLIO_DATA = {
|
|||||||
tagline: "We build AI agents, automation & enterprise systems that work 24/7.",
|
tagline: "We build AI agents, automation & enterprise systems that work 24/7.",
|
||||||
taglineBn: "আমরা AI এজেন্ট, অটোমেশন ও এন্টারপ্রাইজ সিস্টেম তৈরি করি যা ২৪/৭ কাজ করে।",
|
taglineBn: "আমরা AI এজেন্ট, অটোমেশন ও এন্টারপ্রাইজ সিস্টেম তৈরি করি যা ২৪/৭ কাজ করে।",
|
||||||
location: "Dhaka, Bangladesh · Remote",
|
location: "Dhaka, Bangladesh · Remote",
|
||||||
yearsExp: 7,
|
founded: "Jul 2026",
|
||||||
email: "ceo@auraajenticai.cloud",
|
email: "ceo@auraajenticai.cloud",
|
||||||
whatsapp: "8801911877091",
|
whatsapp: "8801911877091",
|
||||||
domain: "auraajenticai.cloud",
|
domain: "auraajenticai.cloud",
|
||||||
@@ -19,65 +19,40 @@ const PORTFOLIO_DATA = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Every number below is real and checkable today -- never add a stat we can't stand behind if
|
||||||
|
// someone asks where it comes from.
|
||||||
metrics: [
|
metrics: [
|
||||||
{ label: "Years shipping", labelBn: "বছর ধরে শিপিং", value: "7+" },
|
{ label: "Products we built & run ourselves", labelBn: "আমাদের নিজের বানানো ও চালানো প্রোডাক্ট", value: "2" },
|
||||||
{ label: "Agents in production", labelBn: "প্রোডাকশনে এজেন্ট", value: "40+" },
|
{ label: "Products in our own live catalog", labelBn: "আমাদের নিজের catalog-এ প্রোডাক্ট", value: "560+" },
|
||||||
{ label: "Enterprise clients", labelBn: "এন্টারপ্রাইজ ক্লায়েন্ট", value: "12" },
|
{ label: "Meta-approved WhatsApp bot", labelBn: "Meta-approved WhatsApp বট", value: "Live" },
|
||||||
{ label: "Uptime maintained", labelBn: "আপটাইম বজায়", value: "99.98%" },
|
{ label: "Self-hosted infrastructure", labelBn: "নিজস্ব হোস্টেড ইনফ্রাস্ট্রাকচার", value: "100%" },
|
||||||
],
|
],
|
||||||
|
|
||||||
about: {
|
about: {
|
||||||
pitch: "I build the systems that act on behalf of teams — agents that triage, route, decide, and execute. The work spans the full stack: model orchestration, eval harnesses, queue infrastructure, dashboards, on-chain settlement, and the tedious connective tissue that turns a clever demo into something a CFO will sign off on.",
|
pitch: "We're a new studio building the systems that act on behalf of teams — agents that triage, route, decide, and execute. Rather than pitch and disappear, we build our own products first and run them ourselves: a live WhatsApp sales bot answering real customers today, on infrastructure we host and pay for out of pocket, not resold AWS margins.",
|
||||||
pitchBn: "আমি এমন সিস্টেম তৈরি করি যা টিমের হয়ে সরাসরি কাজ করে — এজেন্ট যা বিচার করে, route করে, সিদ্ধান্ত নেয়, এবং কাজ সম্পন্ন করে। কাজের পরিধি পুরো স্ট্যাক জুড়ে: মডেল অর্কেস্ট্রেশন, eval harness, queue ইনফ্রাস্ট্রাকচার, ড্যাশবোর্ড, on-chain settlement, এবং সেই ক্লান্তিকর সংযোগকারী কাজ যা একটা চটকদার ডেমোকে এমন কিছুতে পরিণত করে যাতে একজন CFO সই করতে রাজি হয়।",
|
pitchBn: "আমরা একটা নতুন স্টুডিও, যারা এমন সিস্টেম তৈরি করি যা টিমের হয়ে সরাসরি কাজ করে — এজেন্ট যা বিচার করে, route করে, সিদ্ধান্ত নেয়, এবং কাজ সম্পন্ন করে। শুধু পিচ দিয়ে হারিয়ে না গিয়ে, আমরা আগে নিজেদের প্রোডাক্ট বানাই ও নিজেরাই চালাই — একটা live WhatsApp sales বট যা আজই real কাস্টমারদের উত্তর দিচ্ছে, নিজেদের হোস্ট করা ইনফ্রাস্ট্রাকচারে, resold AWS margin না।",
|
||||||
bullets: [
|
bullets: [
|
||||||
"Designed agent runtimes for fintech & MLM platforms moving 8-figure GMV",
|
"Built and run our own WhatsApp + Messenger sales bot, live in Bengali, 24/7",
|
||||||
"Built orchestration layers across OpenAI, Anthropic, vLLM, and self-hosted models",
|
"Self-host our entire stack on our own VPS with Coolify — no reselling AWS",
|
||||||
"Shipped Web3 settlement rails — wallets, signers, on-chain audit trails",
|
"Meta Tech Provider status — we can onboard other businesses' WhatsApp numbers",
|
||||||
"Lead architect on three SaaS dashboards now serving 50k+ daily users",
|
"Bangla-first team, built on Anthropic's Claude, not a wrapped GPT-4 API",
|
||||||
],
|
],
|
||||||
bulletsBn: [
|
bulletsBn: [
|
||||||
"৮-অঙ্কের GMV চলমান fintech ও MLM প্ল্যাটফর্মের জন্য এজেন্ট রানটাইম ডিজাইন",
|
"নিজেদের WhatsApp + Messenger sales বট বানিয়ে চালাচ্ছি, বাংলায়, ২৪/৭ live",
|
||||||
"OpenAI, Anthropic, vLLM, এবং self-hosted মডেল জুড়ে অর্কেস্ট্রেশন লেয়ার তৈরি",
|
"পুরো স্ট্যাক নিজেদের VPS-এ Coolify দিয়ে self-host করি — AWS resell না",
|
||||||
"Web3 settlement rail শিপ করেছি — ওয়ালেট, সাইনার, on-chain অডিট ট্রেইল",
|
"Meta Tech Provider status অর্জন করেছি — অন্য ব্যবসার WhatsApp নম্বরও onboard করতে পারি",
|
||||||
"তিনটা SaaS ড্যাশবোর্ডের লিড আর্কিটেক্ট, যা এখন ৫০k+ দৈনিক ইউজার সার্ভ করে",
|
"বাংলা-ফার্স্ট টিম, Anthropic-এর Claude-এর উপর বানানো — কোনো wrapped GPT-4 API না",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Real tools we actually build with -- no fabricated proficiency percentages. A one-month-old
|
||||||
|
// company can't honestly claim "98% React" backed by "production hours" it hasn't logged yet.
|
||||||
stack: {
|
stack: {
|
||||||
Frontend: [
|
Frontend: ["React", "Next.js", "TypeScript", "Tailwind", "SvelteKit"],
|
||||||
{ name: "React", level: 98 },
|
Backend: ["Node.js", "PostgreSQL", "Supabase", "Drizzle ORM", "Hono"],
|
||||||
{ name: "Next.js", level: 96 },
|
"AI / Agents": ["Anthropic Claude", "n8n", "LangGraph", "Meta MCP", "Gemini"],
|
||||||
{ name: "TypeScript", level: 95 },
|
"Web3": ["Solidity", "viem", "wagmi", "Cloudflare Workers"],
|
||||||
{ name: "Tailwind", level: 94 },
|
DevOps: ["Docker", "Coolify", "Traefik", "GitHub Actions", "Vercel"],
|
||||||
{ name: "Framer Motion", level: 88 },
|
|
||||||
],
|
|
||||||
Backend: [
|
|
||||||
{ name: "Node.js", level: 96 },
|
|
||||||
{ name: "Python · FastAPI", level: 92 },
|
|
||||||
{ name: "PostgreSQL", level: 94 },
|
|
||||||
{ name: "Supabase", level: 90 },
|
|
||||||
{ name: "Redis · BullMQ", level: 88 },
|
|
||||||
],
|
|
||||||
"AI / Agents": [
|
|
||||||
{ name: "LangGraph", level: 95 },
|
|
||||||
{ name: "OpenAI · Anthropic", level: 96 },
|
|
||||||
{ name: "Vector DBs", level: 90 },
|
|
||||||
{ name: "Eval harnesses", level: 86 },
|
|
||||||
{ name: "Tool routing", level: 92 },
|
|
||||||
],
|
|
||||||
"Web3": [
|
|
||||||
{ name: "Solidity", level: 84 },
|
|
||||||
{ name: "ethers · viem", level: 90 },
|
|
||||||
{ name: "Wallet integrations", level: 92 },
|
|
||||||
{ name: "On-chain indexing", level: 80 },
|
|
||||||
],
|
|
||||||
DevOps: [
|
|
||||||
{ name: "Docker", level: 92 },
|
|
||||||
{ name: "AWS · GCP", level: 88 },
|
|
||||||
{ name: "Vercel · Fly.io", level: 94 },
|
|
||||||
{ name: "GitHub Actions", level: 90 },
|
|
||||||
{ name: "Observability", level: 86 },
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
|
|
||||||
services: [
|
services: [
|
||||||
@@ -92,7 +67,7 @@ const PORTFOLIO_DATA = {
|
|||||||
descriptionBn:
|
descriptionBn:
|
||||||
"ল্যান্ডিং পেজ থেকে শুরু করে সম্পূর্ণ SaaS ড্যাশবোর্ড পর্যন্ত — pixel-perfect, দ্রুত, এবং স্কেল করার উপযোগী করে তৈরি। SvelteKit, Next.js, React, Tailwind।",
|
"ল্যান্ডিং পেজ থেকে শুরু করে সম্পূর্ণ SaaS ড্যাশবোর্ড পর্যন্ত — pixel-perfect, দ্রুত, এবং স্কেল করার উপযোগী করে তৈরি। SvelteKit, Next.js, React, Tailwind।",
|
||||||
stack: ["SvelteKit", "Next.js", "React", "Tailwind", "PostgreSQL"],
|
stack: ["SvelteKit", "Next.js", "React", "Tailwind", "PostgreSQL"],
|
||||||
impact: { primary: "50k+", secondary: "daily users served" },
|
impact: { primary: "560+", secondary: "products in our own live store" },
|
||||||
color: "violet",
|
color: "violet",
|
||||||
demo: "https://glamourstouch.com",
|
demo: "https://glamourstouch.com",
|
||||||
},
|
},
|
||||||
@@ -107,7 +82,7 @@ const PORTFOLIO_DATA = {
|
|||||||
descriptionBn:
|
descriptionBn:
|
||||||
"কাস্টম এআই এজেন্ট যা নিজে বিচার করে, সিদ্ধান্ত নেয় ও কাজ সম্পন্ন করে — n8n, Anthropic ও OpenAI-এর মাধ্যমে আপনার টুলসের সাথে যুক্ত।",
|
"কাস্টম এআই এজেন্ট যা নিজে বিচার করে, সিদ্ধান্ত নেয় ও কাজ সম্পন্ন করে — n8n, Anthropic ও OpenAI-এর মাধ্যমে আপনার টুলসের সাথে যুক্ত।",
|
||||||
stack: ["Anthropic Claude", "n8n", "LangGraph", "Node.js", "Hono"],
|
stack: ["Anthropic Claude", "n8n", "LangGraph", "Node.js", "Hono"],
|
||||||
impact: { primary: "1.2M+", secondary: "agent runs / month" },
|
impact: { primary: "24/7", secondary: "our own agent, answering real customers" },
|
||||||
color: "cyan",
|
color: "cyan",
|
||||||
demo: "https://demo-agenticai-website.vercel.app",
|
demo: "https://demo-agenticai-website.vercel.app",
|
||||||
},
|
},
|
||||||
@@ -137,7 +112,7 @@ const PORTFOLIO_DATA = {
|
|||||||
descriptionBn:
|
descriptionBn:
|
||||||
"Expert Advisor, রিয়েল-টাইম P&L ড্যাশবোর্ড, রিস্ক এনভেলপ, এবং MetaTrader 5 প্ল্যাটফর্মের জন্য এক-ক্লিক kill switch।",
|
"Expert Advisor, রিয়েল-টাইম P&L ড্যাশবোর্ড, রিস্ক এনভেলপ, এবং MetaTrader 5 প্ল্যাটফর্মের জন্য এক-ক্লিক kill switch।",
|
||||||
stack: ["MQL5", "Go", "ClickHouse", "WebSockets", "React"],
|
stack: ["MQL5", "Go", "ClickHouse", "WebSockets", "React"],
|
||||||
impact: { primary: "<80ms", secondary: "tick-to-render latency" },
|
impact: { primary: "MQL5", secondary: "expert advisor development" },
|
||||||
color: "amber",
|
color: "amber",
|
||||||
demo: "https://ea-dashboard-blush.vercel.app",
|
demo: "https://ea-dashboard-blush.vercel.app",
|
||||||
},
|
},
|
||||||
@@ -152,7 +127,7 @@ const PORTFOLIO_DATA = {
|
|||||||
descriptionBn:
|
descriptionBn:
|
||||||
"Playwright/Puppeteer স্ক্র্যাপার, প্রক্সি রোটেশন, structured ডেটা এক্সট্র্যাকশন, এবং আপনার DB বা warehouse-এ ETL পাইপলাইন।",
|
"Playwright/Puppeteer স্ক্র্যাপার, প্রক্সি রোটেশন, structured ডেটা এক্সট্র্যাকশন, এবং আপনার DB বা warehouse-এ ETL পাইপলাইন।",
|
||||||
stack: ["Playwright", "Puppeteer", "Python", "Airflow", "PostgreSQL"],
|
stack: ["Playwright", "Puppeteer", "Python", "Airflow", "PostgreSQL"],
|
||||||
impact: { primary: "10M+", secondary: "records extracted / month" },
|
impact: { primary: "Playwright", secondary: "production-grade scraping" },
|
||||||
color: "violet",
|
color: "violet",
|
||||||
demo: "https://portfolio-website-tan-six-24.vercel.app",
|
demo: "https://portfolio-website-tan-six-24.vercel.app",
|
||||||
},
|
},
|
||||||
@@ -167,7 +142,7 @@ const PORTFOLIO_DATA = {
|
|||||||
descriptionBn:
|
descriptionBn:
|
||||||
"VPS সেটআপ, Docker, Coolify, Traefik, CI/CD পাইপলাইন, SSL, মনিটরিং, এবং আপনার নিজের cloud-এ zero-downtime ডিপ্লয়।",
|
"VPS সেটআপ, Docker, Coolify, Traefik, CI/CD পাইপলাইন, SSL, মনিটরিং, এবং আপনার নিজের cloud-এ zero-downtime ডিপ্লয়।",
|
||||||
stack: ["Docker", "Coolify", "Traefik", "GitHub Actions", "PostgreSQL"],
|
stack: ["Docker", "Coolify", "Traefik", "GitHub Actions", "PostgreSQL"],
|
||||||
impact: { primary: "99.98%", secondary: "uptime maintained" },
|
impact: { primary: "11+", secondary: "apps running on our own VPS" },
|
||||||
color: "cyan",
|
color: "cyan",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -182,7 +157,7 @@ const PORTFOLIO_DATA = {
|
|||||||
descriptionBn:
|
descriptionBn:
|
||||||
"Meta-এর official API-এর সাথে সরাসরি যুক্ত এআই এজেন্ট — প্রতি ১৫ মিনিটে bid অপ্টিমাইজ করে, creative পাল্টায়, বাজেট পুনর্বণ্টন করে। দিনে দুইবার মানুষ চেক করার মতো না — এমন একটা সিস্টেম যা কখনো ঘুমায় না।",
|
"Meta-এর official API-এর সাথে সরাসরি যুক্ত এআই এজেন্ট — প্রতি ১৫ মিনিটে bid অপ্টিমাইজ করে, creative পাল্টায়, বাজেট পুনর্বণ্টন করে। দিনে দুইবার মানুষ চেক করার মতো না — এমন একটা সিস্টেম যা কখনো ঘুমায় না।",
|
||||||
stack: ["Meta MCP", "Meta Ads API", "n8n", "Claude AI", "Anthropic"],
|
stack: ["Meta MCP", "Meta Ads API", "n8n", "Claude AI", "Anthropic"],
|
||||||
impact: { primary: "5×", secondary: "ROAS vs. manual management" },
|
impact: { primary: "Official", secondary: "Meta MCP · direct API access" },
|
||||||
color: "rose",
|
color: "rose",
|
||||||
highlights: [
|
highlights: [
|
||||||
"Real-time bid & budget optimization every 15 min",
|
"Real-time bid & budget optimization every 15 min",
|
||||||
@@ -324,48 +299,11 @@ const PORTFOLIO_DATA = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
testimonials: [
|
// Empty on purpose -- the old array here was fabricated (invented names, companies and quotes
|
||||||
{
|
// that never existed). Never repopulate with placeholder content; only add a testimonial once a
|
||||||
name: "Fahim Rahman",
|
// real client has actually given one. The Testimonials component renders an honest
|
||||||
role: "CTO",
|
// "new agency, real results coming soon" state when this is empty.
|
||||||
company: "FinSync BD",
|
testimonials: [],
|
||||||
service: "AI Agent & Automation",
|
|
||||||
text: "Aura built an n8n + Claude pipeline that processes our reconciliation in 5 seconds — what took our team 2 hours manually. The system hasn't failed once in 6 months.",
|
|
||||||
textBn: "Aura একটা n8n + Claude পাইপলাইন বানিয়েছে যা আমাদের reconciliation ৫ সেকেন্ডে করে ফেলে — যা আগে আমাদের টিমের ম্যানুয়ালি ২ ঘণ্টা লাগত। সিস্টেমটা ৬ মাসে একবারও fail করেনি।",
|
|
||||||
avatar: "FR",
|
|
||||||
color: "cyan",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Tanvir Hossain",
|
|
||||||
role: "Head of Trading",
|
|
||||||
company: "AlphaEdge Capital",
|
|
||||||
service: "MT5 EA & Trading",
|
|
||||||
text: "The EA outperformed our manual strategy by 340% over 3 months. The kill-switch and risk envelope features gave our risk team the confidence to scale.",
|
|
||||||
textBn: "৩ মাসে EA আমাদের ম্যানুয়াল স্ট্র্যাটেজিকে ৩৪০% ছাড়িয়ে গেছে। Kill-switch ও risk envelope ফিচার আমাদের risk টিমকে স্কেল করার আত্মবিশ্বাস দিয়েছে।",
|
|
||||||
avatar: "TH",
|
|
||||||
color: "amber",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Sarah Mitchell",
|
|
||||||
role: "Marketing Director",
|
|
||||||
company: "Growth Labs",
|
|
||||||
service: "AI-Powered Meta Ads",
|
|
||||||
text: "From 1.8× to 5.2× ROAS in 8 weeks. The AI rotates creatives before fatigue hits — something no human campaign manager was catching fast enough.",
|
|
||||||
textBn: "৮ সপ্তাহে ROAS ১.৮× থেকে ৫.২×। fatigue হওয়ার আগেই এআই creative পাল্টে দেয় — কোনো মানুষ campaign manager এত দ্রুত ধরতে পারছিল না।",
|
|
||||||
avatar: "SM",
|
|
||||||
color: "rose",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Arif Chowdhury",
|
|
||||||
role: "Founder",
|
|
||||||
company: "TradeStack",
|
|
||||||
service: "Web3 & Blockchain",
|
|
||||||
text: "Delivered a multi-chain settlement layer with gasless UX in 6 weeks. The on-chain audit trail is what sold us — our compliance team loves it.",
|
|
||||||
textBn: "৬ সপ্তাহে gasless UX সহ multi-chain settlement layer ডেলিভার করেছে। on-chain audit trail-ই আমাদের convince করেছে — আমাদের compliance টিম এটা খুব পছন্দ করে।",
|
|
||||||
avatar: "AC",
|
|
||||||
color: "green",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
|
|
||||||
pricingTiers: [
|
pricingTiers: [
|
||||||
{
|
{
|
||||||
@@ -430,80 +368,11 @@ const PORTFOLIO_DATA = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
blogArticles: [
|
// Empty on purpose -- the old array here was fabricated (fake publish dates predating Aura's own
|
||||||
{
|
// founding, an invented "18 months of production data" claim, and made-up client numbers matching
|
||||||
slug: "how-we-build-mt5-eas",
|
// the fake case studies). Never repopulate with placeholder posts; only publish once we've written
|
||||||
title: "How We Build MT5 Expert Advisors That Don't Blow Accounts",
|
// something real. The blog page renders an honest "coming soon" state when this is empty.
|
||||||
date: "May 20, 2026",
|
blogArticles: [],
|
||||||
readTime: "8 min",
|
|
||||||
category: "Trading",
|
|
||||||
color: "amber",
|
|
||||||
excerpt: "Most EA developers focus on backtests. We focus on what happens at 3am when the exchange goes down, the internet cuts, or a black-swan event moves the market 12σ.",
|
|
||||||
content: [
|
|
||||||
{ type: "p", text: "Most EA developers show you equity curves. We show you failure modes. After building 20+ Expert Advisors for MetaTrader 5 — from scalpers to swing systems to arbitrage bots — we've learned that the difference between an EA that blows accounts and one that compounds for years comes down to three things: kill switches, position sizing, and latency-aware execution." },
|
|
||||||
{ type: "h2", text: "The Kill Switch First" },
|
|
||||||
{ type: "p", text: "Every EA we ship has three kill switches: (1) Drawdown kill — close all positions and halt when DD exceeds X%, (2) Correlation kill — stop if market correlation breaks your assumptions, (3) Manual kill — one-click halt from the dashboard, no MT5 restart needed. Most retail EAs don't have #3. Traders discover at 3am that they can't stop the bot without restarting the terminal entirely." },
|
|
||||||
{ type: "h2", text: "Tick-to-Render Latency" },
|
|
||||||
{ type: "p", text: "Our EAs target <80ms from tick receipt to order placement. We achieve this by running MQL5 on a VPS co-located with the broker, using a Go microservice for heavy logic that would slow MQL5, and maintaining a WebSocket P&L feed to avoid polling delays." },
|
|
||||||
{ type: "h2", text: "The Risk Envelope Pattern" },
|
|
||||||
{ type: "p", text: "Before any position, our EAs check three risk gates: max open positions (per symbol, per session), correlation with existing positions, and volatility-adjusted sizing via ATR. This alone prevented 4 major drawdowns for our clients during last year's flash crashes. We build EAs with the assumption that everything will go wrong. That's why they don't." },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
slug: "meta-mcp-explained",
|
|
||||||
title: "Meta MCP: Why Official API Access Changes Everything for Ad Automation",
|
|
||||||
date: "May 15, 2026",
|
|
||||||
readTime: "6 min",
|
|
||||||
category: "AI Agents",
|
|
||||||
color: "rose",
|
|
||||||
excerpt: "When Meta opened their official MCP integration, it changed what's possible for AI-driven ad management. Here's what it means for agencies and brands.",
|
|
||||||
content: [
|
|
||||||
{ type: "p", text: "Most AI ad tools scrape the Meta UI or use unofficial API wrappers. They break when Meta updates their interface. They get blocked. They violate ToS. Meta's official Model Context Protocol (MCP) integration changes this entirely." },
|
|
||||||
{ type: "h2", text: "What MCP Gives You" },
|
|
||||||
{ type: "p", text: "With official MCP access, our AI agents read campaign performance in real-time (not scheduled pulls), execute bid changes via Meta's API with proper rate limiting, create and pause ad variants without triggering fraud detection, and access audience insights unavailable to scraping tools." },
|
|
||||||
{ type: "h2", text: "Why This Produces Better ROAS" },
|
|
||||||
{ type: "p", text: "Manual campaign management operates on human schedules — 9am and 5pm check-ins. Our AI agents run 15-minute cycles. That's 96 optimization windows per day vs. 2. Audience fatigue, competitor bid shifts, time-of-day ROAS patterns — our agents catch these within 15 minutes. Human managers catch them 8 hours later, after the budget is already wasted." },
|
|
||||||
{ type: "h2", text: "Real Numbers" },
|
|
||||||
{ type: "p", text: "Across our current clients: average ROAS improvement of 5.2× vs. manual baseline, creative fatigue detection 4 hours earlier on average, and 23% less wasted spend. Official MCP access isn't a technical detail. It's the difference between AI that augments campaigns and AI that actually runs them." },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
slug: "why-claude-over-gpt4",
|
|
||||||
title: "Why We Chose Claude Over GPT-4 for Our Agent Infrastructure",
|
|
||||||
date: "May 8, 2026",
|
|
||||||
readTime: "5 min",
|
|
||||||
category: "AI Agents",
|
|
||||||
color: "cyan",
|
|
||||||
excerpt: "After running both models in production for 18 months, here's our honest assessment of why Claude runs every Aura agent.",
|
|
||||||
content: [
|
|
||||||
{ type: "p", text: "We're not tribal about models. We've shipped production systems on GPT-4, Claude, Gemini, and local models via vLLM. After 18 months of production data, Claude runs every Aura agent. Here's why." },
|
|
||||||
{ type: "h2", text: "Tool Calling Reliability" },
|
|
||||||
{ type: "p", text: "The single biggest factor for agentic systems isn't benchmark scores — it's tool call reliability. How often does the model return a malformed tool call that crashes your parser? In our testing across 50k+ agent runs: Claude at 0.3% malformed rate vs GPT-4 at 1.8%. At 1M runs/month, that's 15,000 fewer crashes — and ~$1,200/month saved in wasted runs." },
|
|
||||||
{ type: "h2", text: "Long Context Coherence" },
|
|
||||||
{ type: "p", text: "Many of our agents operate on 100k+ token contexts — audit trails, codebases, financial records. Claude maintains coherence over long windows significantly better. GPT-4 tends to 'forget' early context more often." },
|
|
||||||
{ type: "h2", text: "The Honest Tradeoff" },
|
|
||||||
{ type: "p", text: "GPT-4 is faster for simple completions. Claude is more reliable for complex agentic tasks. For our use case — reliability over raw speed, with fintech-grade refusal behavior — it's not a close call." },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
slug: "n8n-vs-langchain",
|
|
||||||
title: "n8n vs LangChain: When to Use Each (We Use Both)",
|
|
||||||
date: "April 30, 2026",
|
|
||||||
readTime: "7 min",
|
|
||||||
category: "Automation",
|
|
||||||
color: "violet",
|
|
||||||
excerpt: "These are not competing tools. After building 60+ automation workflows, here's exactly when we reach for each one.",
|
|
||||||
content: [
|
|
||||||
{ type: "p", text: "Clients often ask: should we use n8n or LangChain for our automation? The answer is almost always: both. They solve different problems." },
|
|
||||||
{ type: "h2", text: "What n8n is Good For" },
|
|
||||||
{ type: "p", text: "n8n excels at workflow orchestration between existing services. Trigger on a webhook, update a CRM, sync Airtable to PostgreSQL, send Slack alerts on KPI thresholds. n8n does this with a visual interface, built-in retry logic, credential management, and execution history. Building this in code takes 3× longer and is 10× harder to debug. Rule: if the task is 'do X when Y happens, update Z' — use n8n." },
|
|
||||||
{ type: "h2", text: "What LangGraph is Good For" },
|
|
||||||
{ type: "p", text: "When the task requires reasoning, LangGraph wins. Multi-step planning where the next step depends on the previous result, tool selection from a large tool set, memory across a long task, parallel sub-agent execution. n8n can call an LLM but it has no primitives for agent loops, backtracking, or dynamic tool selection. Rule: if the model needs to decide what to do next — use LangGraph." },
|
|
||||||
{ type: "h2", text: "The Real Architecture" },
|
|
||||||
{ type: "p", text: "In production: n8n handles triggers, scheduling, and service integrations. n8n calls a LangGraph agent API when reasoning is needed. LangGraph returns a result, n8n routes it to the right destination. This gives you visual orchestration for ops teams and reliable reasoning for AI parts. Neither tool alone does both well." },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
|
|
||||||
agentRun: [
|
agentRun: [
|
||||||
{ t: 0, kind: "system", text: "agent.session :: id=run_8af3e2 model=claude-sonnet-4.5" },
|
{ t: 0, kind: "system", text: "agent.session :: id=run_8af3e2 model=claude-sonnet-4.5" },
|
||||||
@@ -580,179 +449,54 @@ const PORTFOLIO_DATA = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
caseStudies: [
|
// Empty on purpose -- the old array here was fabricated (invented clients, quotes and metrics
|
||||||
{
|
// like "FinSync BD" and "AlphaEdge Capital" that never existed). Never repopulate with placeholder
|
||||||
slug: "finsync-ai-reconciliation",
|
// content; only add a case study once a real, verifiable project is done. The CaseStudiesPage
|
||||||
service: "AI Agent & Automation",
|
// component renders an honest "new agency, real results coming soon" state when this is empty.
|
||||||
serviceId: "ai-agent-automation",
|
caseStudies: [],
|
||||||
color: "cyan",
|
|
||||||
client: "FinSync BD",
|
|
||||||
clientType: "Fintech · Series A · Dhaka",
|
|
||||||
title: "From 2-hour manual reconciliation to 5-second AI pipeline",
|
|
||||||
challenge: "FinSync's finance team was spending 2+ hours every morning reconciling 1,200+ daily payouts against bank statements — error-prone, delayed, and blocking their 9am CFO dashboard sync.",
|
|
||||||
solution: "We built a Claude-powered reconciliation agent on n8n: it fetches payouts from PostgreSQL, pulls bank data via API, runs statistical anomaly detection (flagging anything >3σ or >$5k), drafts the reconciliation note, and posts a Slack summary — all before the team arrives.",
|
|
||||||
results: [
|
|
||||||
{ metric: "5 sec", label: "reconciliation time (from 2 hours)" },
|
|
||||||
{ metric: "0", label: "failures in 6 months of production" },
|
|
||||||
{ metric: "12", label: "outliers caught per day on average" },
|
|
||||||
{ metric: "3h", label: "engineer time saved daily" },
|
|
||||||
],
|
|
||||||
stack: ["Anthropic Claude", "n8n", "PostgreSQL", "Slack API", "Node.js"],
|
|
||||||
timeline: "3 weeks build · deployed June 2025",
|
|
||||||
quote: { text: "The system hasn't failed once in 6 months.", author: "Fahim Rahman, CTO — FinSync BD" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
slug: "alphaedge-mt5-ea",
|
|
||||||
service: "MT5 EA & Trading Automation",
|
|
||||||
serviceId: "mt5-ea-trading",
|
|
||||||
color: "amber",
|
|
||||||
client: "AlphaEdge Capital",
|
|
||||||
clientType: "Prop Trading Firm · Remote",
|
|
||||||
title: "340% strategy outperformance over 3 months with an MT5 EA",
|
|
||||||
challenge: "AlphaEdge was running manual trading strategies with 12 traders monitoring screens in shifts. Execution delays, emotion-driven exits, and inability to scale across symbols were killing performance.",
|
|
||||||
solution: "We built a multi-symbol MT5 Expert Advisor with a three-layer risk engine: drawdown kill switch (auto-halts at X%), volatility-adjusted position sizing via ATR, and a real-time P&L dashboard with one-click halt. All orders execute within <80ms of signal generation.",
|
|
||||||
results: [
|
|
||||||
{ metric: "340%", label: "outperformance vs. manual baseline (3 months)" },
|
|
||||||
{ metric: "<80ms", label: "tick-to-order execution latency" },
|
|
||||||
{ metric: "4", label: "major drawdowns prevented by kill switch" },
|
|
||||||
{ metric: "12→1", label: "traders needed to monitor (from 12 to 1)" },
|
|
||||||
],
|
|
||||||
stack: ["MQL5", "Go", "WebSockets", "React", "ClickHouse"],
|
|
||||||
timeline: "4 weeks build · live on demo 2 weeks · mainnet August 2025",
|
|
||||||
quote: { text: "The kill-switch and risk envelope features gave our risk team the confidence to scale.", author: "Tanvir Hossain, Head of Trading — AlphaEdge Capital" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
slug: "growth-labs-meta-ads-ai",
|
|
||||||
service: "AI-Powered Meta Ads",
|
|
||||||
serviceId: "meta-ads-ai",
|
|
||||||
color: "rose",
|
|
||||||
client: "Growth Labs",
|
|
||||||
clientType: "Performance Marketing Agency · UAE",
|
|
||||||
title: "1.8× to 5.2× ROAS in 8 weeks using Meta AI agent",
|
|
||||||
challenge: "Growth Labs was managing 3 e-commerce clients manually — two campaign managers checking ads twice daily. Creative fatigue went undetected for 4+ hours, wasting budget. ROAS was plateauing at 1.8–2.2×.",
|
|
||||||
solution: "We deployed a Claude-powered Meta Ads agent using the official Meta MCP integration. The agent runs 15-minute optimization cycles: reallocating budget to winning ad sets, pausing fatigued creatives before CTR drops, generating 100+ variant titles for A/B tests, and sending daily AI-written performance digests.",
|
|
||||||
results: [
|
|
||||||
{ metric: "5.2×", label: "ROAS (from 1.8× baseline)" },
|
|
||||||
{ metric: "8 weeks", label: "to reach peak ROAS" },
|
|
||||||
{ metric: "4h earlier", label: "creative fatigue detection vs. human" },
|
|
||||||
{ metric: "23%", label: "less wasted spend per month" },
|
|
||||||
],
|
|
||||||
stack: ["Meta MCP", "Meta Ads API", "Anthropic Claude", "n8n", "PostgreSQL"],
|
|
||||||
timeline: "5 days setup · results visible within week 2",
|
|
||||||
quote: { text: "From 1.8× to 5.2× ROAS in 8 weeks. The AI rotates creatives before fatigue hits.", author: "Sarah Mitchell, Marketing Director — Growth Labs" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
slug: "tradestack-web3-settlement",
|
|
||||||
service: "Web3 & Blockchain",
|
|
||||||
serviceId: "web3-blockchain",
|
|
||||||
color: "green",
|
|
||||||
client: "TradeStack",
|
|
||||||
clientType: "DeFi Protocol · Singapore",
|
|
||||||
title: "Multi-chain settlement layer with gasless UX — shipped in 6 weeks",
|
|
||||||
challenge: "TradeStack needed on-chain settlement for commodity trades across 4 EVM chains — with a compliance audit trail and a UX that hid gas complexity from non-crypto-native traders.",
|
|
||||||
solution: "We built a multi-chain bridge with ERC-2771 meta-transactions (gasless UX), on-chain settlement with immutable audit logs, and a React dashboard where traders confirm in one click without ever touching ETH. Full Solidity audit trail for compliance.",
|
|
||||||
results: [
|
|
||||||
{ metric: "4 chains", label: "live simultaneously (ETH, BSC, Polygon, Arbitrum)" },
|
|
||||||
{ metric: "0 gas", label: "paid by end users (fully abstracted)" },
|
|
||||||
{ metric: "6 weeks", label: "from spec to mainnet" },
|
|
||||||
{ metric: "100%", label: "compliance team sign-off on audit trail" },
|
|
||||||
],
|
|
||||||
stack: ["Solidity", "viem", "wagmi", "ERC-2771", "Cloudflare Workers", "React"],
|
|
||||||
timeline: "6 weeks · mainnet September 2025",
|
|
||||||
quote: { text: "The on-chain audit trail is what sold us — our compliance team loves it.", author: "Arif Chowdhury, Founder — TradeStack" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
slug: "saas-dashboard-50k-dau",
|
|
||||||
service: "Website & Webapp Development",
|
|
||||||
serviceId: "web-app-dev",
|
|
||||||
color: "violet",
|
|
||||||
client: "Series-B SaaS (Confidential)",
|
|
||||||
clientType: "B2B SaaS · Remote",
|
|
||||||
title: "Dashboard rebuild: 4k to 28k DAU, zero downtime migration",
|
|
||||||
challenge: "A Series-B SaaS was running a 4-year-old monolith dashboard that couldn't handle load past 10k concurrent users. Billing was broken for enterprise tiers, and the RBAC system couldn't support their new multi-tenant model.",
|
|
||||||
solution: "We rebuilt the dashboard surface area: SvelteKit frontend, new multi-tenant Postgres schema, Stripe billing with usage-based pricing, RBAC with 12 permission layers, and a zero-downtime migration path using feature flags.",
|
|
||||||
results: [
|
|
||||||
{ metric: "28k", label: "DAU (from 4k before rebuild)" },
|
|
||||||
{ metric: "0", label: "downtime during migration" },
|
|
||||||
{ metric: "3×", label: "faster page load (Core Web Vitals)" },
|
|
||||||
{ metric: "$0", label: "billing errors post-launch (vs. 40+/week before)" },
|
|
||||||
],
|
|
||||||
stack: ["SvelteKit", "PostgreSQL", "Stripe", "Drizzle ORM", "Tailwind", "Vercel"],
|
|
||||||
timeline: "14 weeks total · phased rollout",
|
|
||||||
quote: { text: "Lead architect on three SaaS dashboards now serving 50k+ daily users.", author: "Internal team" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
slug: "vps-infra-cost-cut",
|
|
||||||
service: "Infrastructure & DevOps",
|
|
||||||
serviceId: "infra-devops",
|
|
||||||
color: "cyan",
|
|
||||||
client: "E-commerce Platform (Confidential)",
|
|
||||||
clientType: "E-commerce · Bangladesh",
|
|
||||||
title: "60% cloud bill reduction: AWS to self-hosted Coolify in 5 days",
|
|
||||||
challenge: "A Dhaka-based e-commerce platform was spending $3,200/month on AWS managed services — RDS, ECS, load balancers — for a workload that needed none of the complexity. Infra was also managed by an AWS agency adding 40% markup.",
|
|
||||||
solution: "We migrated everything to a €40/month Hetzner VPS running Coolify: Traefik for SSL + routing, Docker Compose for all services, GitHub Actions CI/CD with automatic rollback on health-check failure. Total setup time: 5 days.",
|
|
||||||
results: [
|
|
||||||
{ metric: "60%", label: "monthly infra cost reduction ($3,200 → $1,280)" },
|
|
||||||
{ metric: "5 days", label: "full migration with zero data loss" },
|
|
||||||
{ metric: "99.98%", label: "uptime in first 6 months" },
|
|
||||||
{ metric: "$0", label: "agency markup eliminated" },
|
|
||||||
],
|
|
||||||
stack: ["Coolify", "Hetzner VPS", "Traefik", "Docker", "GitHub Actions", "PostgreSQL"],
|
|
||||||
timeline: "5 days migration · March 2026",
|
|
||||||
quote: { text: "Same reliability, fraction of the cost.", author: "Aura Engineering Team" },
|
|
||||||
},
|
|
||||||
],
|
|
||||||
|
|
||||||
|
// Real Aura milestones, dated -- not an individual's job history. Add a new entry only when
|
||||||
|
// something actually, verifiably happened; never backfill a "years of experience" narrative.
|
||||||
experience: [
|
experience: [
|
||||||
{
|
{
|
||||||
year: "2024 — Present",
|
year: "Aug 2026",
|
||||||
role: "Founder & Principal Engineer",
|
role: "Meta Tech Provider status",
|
||||||
roleBn: "ফাউন্ডার ও প্রিন্সিপাল ইঞ্জিনিয়ার",
|
roleBn: "Meta Tech Provider status অর্জন",
|
||||||
company: "Aura Ajentic Cloud",
|
company: "Aura Ajentic AI",
|
||||||
kind: "Product",
|
kind: "Milestone",
|
||||||
kindBn: "প্রোডাক্ট",
|
kindBn: "মাইলফলক",
|
||||||
detail: "Building the agent runtime layer — orchestration, evals, observability — used by 12 enterprise teams.",
|
detail: "Approved to onboard other businesses' WhatsApp Business numbers, on top of our own.",
|
||||||
detailBn: "এজেন্ট রানটাইম লেয়ার তৈরি করছি — অর্কেস্ট্রেশন, evals, observability — যা ১২টা এন্টারপ্রাইজ টিম ব্যবহার করে।",
|
detailBn: "নিজের ছাড়াও অন্য ব্যবসার WhatsApp Business নম্বর onboard করার অনুমোদন পেয়েছি।",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
year: "2022 — 2024",
|
year: "Aug 2026",
|
||||||
role: "Staff Full-Stack Engineer",
|
role: "WhatsApp Business API approved",
|
||||||
roleBn: "স্টাফ ফুল-স্ট্যাক ইঞ্জিনিয়ার",
|
roleBn: "WhatsApp Business API অনুমোদিত",
|
||||||
company: "Confidential · Fintech",
|
company: "Aura Ajentic AI",
|
||||||
kind: "Contract",
|
kind: "Milestone",
|
||||||
kindBn: "কন্ট্রাক্ট",
|
kindBn: "মাইলফলক",
|
||||||
detail: "Led the rebuild of an MLM compensation engine, ran the migration from monolith to multi-tenant.",
|
detail: "Meta approved our WhatsApp messaging integration — our own sales bot went fully live.",
|
||||||
detailBn: "একটা MLM কম্পেনসেশন ইঞ্জিনের পুনর্নির্মাণের নেতৃত্ব দিয়েছি, monolith থেকে multi-tenant-এ migration চালিয়েছি।",
|
detailBn: "Meta আমাদের WhatsApp messaging integration অনুমোদন করেছে — আমাদের নিজের sales বট পুরোপুরি live হয়েছে।",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
year: "2021 — 2022",
|
year: "Jul 2026",
|
||||||
role: "Senior Engineer · Web3",
|
role: "First paying client signed",
|
||||||
roleBn: "সিনিয়র ইঞ্জিনিয়ার · ওয়েব৩",
|
roleBn: "প্রথম paying client",
|
||||||
company: "Stealth DeFi protocol",
|
company: "Applix BD",
|
||||||
kind: "Contract",
|
kind: "Client",
|
||||||
kindBn: "কন্ট্রাক্ট",
|
kindBn: "ক্লায়েন্ট",
|
||||||
detail: "Wallet UX, signer abstraction, on-chain settlement rails. Shipped before the protocol announced.",
|
detail: "A Dhaka mobile-parts retailer became our first client — automated their Facebook posting and ad ops.",
|
||||||
detailBn: "Wallet UX, signer abstraction, on-chain settlement rail। প্রোটোকল ঘোষণা করার আগেই শিপ করেছি।",
|
detailBn: "ঢাকার একটা mobile-parts retailer আমাদের প্রথম client হন — তাদের Facebook posting আর ad কাজ automate করেছি।",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
year: "2019 — 2021",
|
year: "Jul 2026",
|
||||||
role: "Full-Stack Engineer",
|
role: "Aura Ajentic AI founded",
|
||||||
roleBn: "ফুল-স্ট্যাক ইঞ্জিনিয়ার",
|
roleBn: "Aura Ajentic AI প্রতিষ্ঠা",
|
||||||
company: "Series-B SaaS",
|
company: "Dhaka, Bangladesh",
|
||||||
kind: "Full-time",
|
kind: "Founding",
|
||||||
kindBn: "ফুল-টাইম",
|
kindBn: "প্রতিষ্ঠা",
|
||||||
detail: "Owned the dashboard surface area — billing, RBAC, integrations. Pushed app from 4k to 28k DAU.",
|
detail: "Started building our own live products first — Glamour's Touch (K-beauty e-commerce) and Snehalata (AI marketplace) — before pitching anyone else.",
|
||||||
detailBn: "ড্যাশবোর্ডের পুরো অংশের দায়িত্বে ছিলাম — billing, RBAC, integration। অ্যাপকে 4k থেকে 28k DAU-তে নিয়ে গেছি।",
|
detailBn: "আগে নিজেদের live প্রোডাক্ট বানানো শুরু করি — Glamour's Touch (K-beauty e-commerce) আর Snehalata (AI marketplace) — অন্য কাউকে pitch করার আগেই।",
|
||||||
},
|
|
||||||
{
|
|
||||||
year: "2018 — 2019",
|
|
||||||
role: "Software Engineer",
|
|
||||||
roleBn: "সফটওয়্যার ইঞ্জিনিয়ার",
|
|
||||||
company: "Agency · Remote",
|
|
||||||
kind: "Full-time",
|
|
||||||
kindBn: "ফুল-টাইম",
|
|
||||||
detail: "Cut my teeth shipping React + Node products across e-commerce, logistics, and edtech.",
|
|
||||||
detailBn: "e-commerce, logistics, ও edtech জুড়ে React + Node প্রোডাক্ট শিপ করে হাতেখড়ি হয়েছে।",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|||||||
+27
-4
@@ -330,9 +330,9 @@ const TimelinePage = () => {
|
|||||||
return (
|
return (
|
||||||
<main>
|
<main>
|
||||||
<PageHero
|
<PageHero
|
||||||
eyebrow="Experience"
|
eyebrow="Milestones"
|
||||||
title="Seven years of shipping"
|
title="Founded July 2026, shipping since day one"
|
||||||
sub="From agency work to fintech infrastructure to founding Aura — the full arc."
|
sub="Real, dated milestones — not a résumé. We add one only when something actually happened."
|
||||||
/>
|
/>
|
||||||
<section style={{ padding: "80px 0 120px" }}>
|
<section style={{ padding: "80px 0 120px" }}>
|
||||||
<div className="container">
|
<div className="container">
|
||||||
@@ -774,10 +774,18 @@ const BlogPage = () => {
|
|||||||
<PageHero
|
<PageHero
|
||||||
eyebrow="Blog"
|
eyebrow="Blog"
|
||||||
title={<>How we build — <span style={{ fontFamily: "var(--font-serif)", fontStyle: "italic", fontWeight: 400 }}>openly</span></>}
|
title={<>How we build — <span style={{ fontFamily: "var(--font-serif)", fontStyle: "italic", fontWeight: 400 }}>openly</span></>}
|
||||||
sub="Technical deep-dives on AI agents, trading systems, and the infrastructure behind Aura."
|
sub="Technical write-ups on AI agents, trading systems, and the infrastructure behind Aura — as we ship them, not before."
|
||||||
/>
|
/>
|
||||||
<section style={{ padding: "80px 0 120px" }}>
|
<section style={{ padding: "80px 0 120px" }}>
|
||||||
<div className="container">
|
<div className="container">
|
||||||
|
{articles.length === 0 ? (
|
||||||
|
<div className="panel" style={{ padding: "56px 32px", textAlign: "center", borderRadius: "var(--radius)" }}>
|
||||||
|
<p style={{ margin: 0, fontSize: 17, color: "var(--text-dim)", lineHeight: 1.65, maxWidth: 560, marginInline: "auto" }}>
|
||||||
|
We're a new agency — real technical write-ups are coming as our work actually ships
|
||||||
|
and proves out in production. We'd rather show nothing here than a fabricated post.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
<div style={{ display: "grid", gap: 20 }}>
|
<div style={{ display: "grid", gap: 20 }}>
|
||||||
{articles.map((post, i) => {
|
{articles.map((post, i) => {
|
||||||
const c = BLOG_COLORS[post.color] || BLOG_COLORS.violet;
|
const c = BLOG_COLORS[post.color] || BLOG_COLORS.violet;
|
||||||
@@ -818,6 +826,7 @@ const BlogPage = () => {
|
|||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
@@ -1214,6 +1223,19 @@ const CaseStudiesPage = () => {
|
|||||||
/>
|
/>
|
||||||
<section style={{ padding: "80px 0 120px" }}>
|
<section style={{ padding: "80px 0 120px" }}>
|
||||||
<div className="container">
|
<div className="container">
|
||||||
|
{cases.length === 0 ? (
|
||||||
|
<div className="panel" style={{ padding: "56px 32px", textAlign: "center", borderRadius: "var(--radius)" }}>
|
||||||
|
<p style={{ margin: 0, fontSize: 17, color: "var(--text-dim)", lineHeight: 1.65, maxWidth: 560, marginInline: "auto" }}>
|
||||||
|
We're a new agency — real case studies are coming as our production work ships and proves
|
||||||
|
out. We'd rather show nothing here than a fabricated result.
|
||||||
|
</p>
|
||||||
|
<a href="#/contact" style={{
|
||||||
|
display: "inline-flex", marginTop: 24,
|
||||||
|
padding: "11px 24px", background: "var(--text)", color: "var(--bg)",
|
||||||
|
borderRadius: 9, fontSize: 14, fontWeight: 500, textDecoration: "none",
|
||||||
|
}}>Be our next case study →</a>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
<div style={{ display: "grid", gap: 20 }}>
|
<div style={{ display: "grid", gap: 20 }}>
|
||||||
{cases.map((cs, i) => {
|
{cases.map((cs, i) => {
|
||||||
const c = CASE_COLORS[cs.color] || CASE_COLORS.cyan;
|
const c = CASE_COLORS[cs.color] || CASE_COLORS.cyan;
|
||||||
@@ -1273,6 +1295,7 @@ const CaseStudiesPage = () => {
|
|||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
|
|||||||
+30
-45
@@ -31,7 +31,7 @@ const SectionHeader = ({ eyebrow, title, sub, num }) => (
|
|||||||
const ABOUT_TXT = {
|
const ABOUT_TXT = {
|
||||||
en: {
|
en: {
|
||||||
eyebrow: "About",
|
eyebrow: "About",
|
||||||
title: <>I architect the systems that act — not the demos that <span style={{ fontFamily: "var(--font-serif)", fontStyle: "italic", fontWeight: 400 }}>impress</span>.</>,
|
title: <>We build the systems that act — not the demos that <span style={{ fontFamily: "var(--font-serif)", fontStyle: "italic", fontWeight: 400 }}>impress</span>.</>,
|
||||||
glance: "At a glance",
|
glance: "At a glance",
|
||||||
startConvo: "Start a conversation",
|
startConvo: "Start a conversation",
|
||||||
rows: [
|
rows: [
|
||||||
@@ -45,7 +45,7 @@ const ABOUT_TXT = {
|
|||||||
},
|
},
|
||||||
bn: {
|
bn: {
|
||||||
eyebrow: "পরিচিতি",
|
eyebrow: "পরিচিতি",
|
||||||
title: <>আমি এমন সিস্টেম বানাই যা কাজ করে — যে ডেমো শুধু <span style={{ fontFamily: "var(--font-serif)", fontStyle: "italic", fontWeight: 400 }}>মুগ্ধ করে</span> তা না।</>,
|
title: <>আমরা এমন সিস্টেম বানাই যা কাজ করে — যে ডেমো শুধু <span style={{ fontFamily: "var(--font-serif)", fontStyle: "italic", fontWeight: 400 }}>মুগ্ধ করে</span> তা না।</>,
|
||||||
glance: "এক নজরে",
|
glance: "এক নজরে",
|
||||||
startConvo: "কথোপকথন শুরু করুন",
|
startConvo: "কথোপকথন শুরু করুন",
|
||||||
rows: [
|
rows: [
|
||||||
@@ -119,17 +119,17 @@ const About = ({ lang = "en" }) => {
|
|||||||
<div style={{ display: "grid", gap: 16 }}>
|
<div style={{ display: "grid", gap: 16 }}>
|
||||||
{(bn ? [
|
{(bn ? [
|
||||||
["ডিসিপ্লিন", "এজেন্টিক সিস্টেম · ফুল-স্ট্যাক"],
|
["ডিসিপ্লিন", "এজেন্টিক সিস্টেম · ফুল-স্ট্যাক"],
|
||||||
["বছর", `${D.brand.yearsExp}+ শিপিং`],
|
["প্রতিষ্ঠিত", D.brand.founded],
|
||||||
["স্ট্যাক রেঞ্জ", "TS · Python · Solidity"],
|
["স্ট্যাক রেঞ্জ", "TS · Python · Solidity"],
|
||||||
["কাজ করি", "ফাউন্ডার · CTO · প্ল্যাটফর্ম লিড"],
|
["কাজ করি", "ফাউন্ডার · CTO · প্ল্যাটফর্ম লিড"],
|
||||||
["এনগেজমেন্ট", "এমবেডেড · লিড আর্কিটেক্ট"],
|
["ইনফ্রা", "নিজস্ব VPS · Coolify"],
|
||||||
["লোকেশন", D.brand.location],
|
["লোকেশন", D.brand.location],
|
||||||
] : [
|
] : [
|
||||||
["Discipline", "Agentic systems · Full-stack"],
|
["Discipline", "Agentic systems · Full-stack"],
|
||||||
["Years", `${D.brand.yearsExp}+ shipping`],
|
["Founded", D.brand.founded],
|
||||||
["Stack range", "TS · Python · Solidity"],
|
["Stack range", "TS · Python · Solidity"],
|
||||||
["Working with", "Founders · CTOs · Platform leads"],
|
["Working with", "Founders · CTOs · Platform leads"],
|
||||||
["Engagement", "Embedded · Lead architect"],
|
["Infra", "Own VPS · Coolify"],
|
||||||
["Location", D.brand.location],
|
["Location", D.brand.location],
|
||||||
]).map(([k, v]) => (
|
]).map(([k, v]) => (
|
||||||
<div key={k} style={{
|
<div key={k} style={{
|
||||||
@@ -197,8 +197,8 @@ const Skills = ({ lang = "en" }) => {
|
|||||||
<SectionHeader
|
<SectionHeader
|
||||||
eyebrow={bn ? "স্ট্যাক" : "Stack"}
|
eyebrow={bn ? "স্ট্যাক" : "Stack"}
|
||||||
num="02 / 06"
|
num="02 / 06"
|
||||||
title={bn ? "যেসব টুল ব্যবহার করি, অভিজ্ঞতা অনুযায়ী।" : "Tools I reach for, weighted by reps."}
|
title={bn ? "যেসব টুল দিয়ে আমরা বানাই।" : "The tools we build with."}
|
||||||
sub={bn ? "সংখ্যাগুলো সৎ সিগন্যাল — কোনো vanity bar না। এগুলো প্রোডাকশন সময় প্রতিফলিত করে, tutorial দেখা না।" : "Numbers are honest signal — not a vanity bar. They reflect production hours, not tutorials watched."}
|
sub={bn ? "আমাদের নিজেদের live প্রোডাক্টে (GT, Snehalata, Aura Platform) সত্যিই ব্যবহৃত — কোনো fake স্কিল-বার না।" : "What actually runs our own live products (GT, Snehalata, Aura Platform) — no fabricated skill bars, just the real list."}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{/* Category tabs */}
|
{/* Category tabs */}
|
||||||
@@ -238,49 +238,20 @@ const Skills = ({ lang = "en" }) => {
|
|||||||
|
|
||||||
{/* Items */}
|
{/* Items */}
|
||||||
<div style={{
|
<div style={{
|
||||||
display: "grid",
|
display: "flex",
|
||||||
gridTemplateColumns: "repeat(auto-fill, minmax(280px, 1fr))",
|
flexWrap: "wrap",
|
||||||
gap: 12,
|
gap: 10,
|
||||||
}}>
|
}}>
|
||||||
{items.map((s, i) => (
|
{items.map((name, i) => (
|
||||||
<div key={s.name} className="panel" style={{
|
<div key={name} className="panel" style={{
|
||||||
padding: "20px 22px",
|
padding: "12px 18px",
|
||||||
|
fontSize: 14, fontWeight: 500,
|
||||||
animation: `float-up 0.5s ${i * 0.05}s both`,
|
animation: `float-up 0.5s ${i * 0.05}s both`,
|
||||||
}}>
|
}}>
|
||||||
<div style={{ display: "flex", justifyContent: "space-between", alignItems: "baseline", marginBottom: 14 }}>
|
{name}
|
||||||
<span style={{ fontSize: 14.5, fontWeight: 500 }}>{s.name}</span>
|
|
||||||
<span style={{
|
|
||||||
fontFamily: "var(--font-mono)",
|
|
||||||
fontSize: 11,
|
|
||||||
color: "var(--text-faint)",
|
|
||||||
}}>{s.level}</span>
|
|
||||||
</div>
|
|
||||||
<div style={{
|
|
||||||
height: 3,
|
|
||||||
background: "var(--line)",
|
|
||||||
borderRadius: 2,
|
|
||||||
overflow: "hidden",
|
|
||||||
position: "relative",
|
|
||||||
}}>
|
|
||||||
<div style={{
|
|
||||||
width: `${s.level}%`,
|
|
||||||
height: "100%",
|
|
||||||
background: "linear-gradient(90deg, var(--accent), var(--accent-2))",
|
|
||||||
borderRadius: 2,
|
|
||||||
animation: `grow-w 0.9s ${0.1 + i * 0.04}s both cubic-bezier(0.2,0.8,0.2,1)`,
|
|
||||||
transformOrigin: "left",
|
|
||||||
}} />
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style>{`
|
|
||||||
@keyframes grow-w {
|
|
||||||
from { transform: scaleX(0); }
|
|
||||||
to { transform: scaleX(1); }
|
|
||||||
}
|
|
||||||
`}</style>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
@@ -310,6 +281,19 @@ const Testimonials = ({ lang = "en" }) => {
|
|||||||
: <>What clients say after we <span style={{ fontFamily: "var(--font-serif)", fontStyle: "italic", fontWeight: 400 }}>ship</span></>}
|
: <>What clients say after we <span style={{ fontFamily: "var(--font-serif)", fontStyle: "italic", fontWeight: 400 }}>ship</span></>}
|
||||||
sub={bn ? "আসল প্রজেক্ট। আসল মেট্রিক্স। কোনো stock-photo testimonial না।" : "Real projects. Real metrics. No stock-photo testimonials."}
|
sub={bn ? "আসল প্রজেক্ট। আসল মেট্রিক্স। কোনো stock-photo testimonial না।" : "Real projects. Real metrics. No stock-photo testimonials."}
|
||||||
/>
|
/>
|
||||||
|
{D.testimonials.length === 0 ? (
|
||||||
|
<div className="panel" style={{
|
||||||
|
padding: "48px 32px",
|
||||||
|
textAlign: "center",
|
||||||
|
borderRadius: "var(--radius)",
|
||||||
|
}}>
|
||||||
|
<p style={{ margin: 0, fontSize: 16, color: "var(--text-dim)", lineHeight: 1.6 }}>
|
||||||
|
{bn
|
||||||
|
? "আমরা একটা নতুন এজেন্সি — real ফলাফল শীঘ্রই আসছে। এখনো কোনো বানানো testimonial দেখাব না।"
|
||||||
|
: "We're a new agency — real results coming soon. We'd rather show nothing than a made-up quote."}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
<div style={{
|
<div style={{
|
||||||
display: "grid",
|
display: "grid",
|
||||||
gridTemplateColumns: "repeat(2, 1fr)",
|
gridTemplateColumns: "repeat(2, 1fr)",
|
||||||
@@ -363,6 +347,7 @@ const Testimonials = ({ lang = "en" }) => {
|
|||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
<style>{`
|
<style>{`
|
||||||
@media (max-width: 720px) {
|
@media (max-width: 720px) {
|
||||||
.testimonials-grid { grid-template-columns: 1fr !important; }
|
.testimonials-grid { grid-template-columns: 1fr !important; }
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ const Timeline = ({ lang = "en" }) => {
|
|||||||
<SectionHeader
|
<SectionHeader
|
||||||
eyebrow={bn ? "যাত্রাপথ" : "Trajectory"}
|
eyebrow={bn ? "যাত্রাপথ" : "Trajectory"}
|
||||||
num="05 / 06"
|
num="05 / 06"
|
||||||
title={bn ? "সাত বছর, একটাই ধারা: প্রোডাকশনে কাজ করা সিস্টেম শিপ করা।" : "Seven years, one through-line: shipping systems that work in production."}
|
title={bn ? "নতুন এজেন্সি, একটাই ধারা: প্রোডাকশনে কাজ করা সিস্টেম শিপ করা।" : "New agency, one through-line: shipping systems that work in production."}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div style={{ position: "relative", paddingLeft: 32 }}>
|
<div style={{ position: "relative", paddingLeft: 32 }}>
|
||||||
|
|||||||
Reference in New Issue
Block a user