Building and handing over a three-app platform for Asami Export
Solo engineer across a three-app platform — bilingual marketing site, admin panel, and AWS CDK backend — for Asami Export, a Japanese used vehicle and machinery exporter shipping worldwide from Ibaraki. Built, documented, and handed over across 2.5+ years; now in ongoing maintenance.
Freelance Full-Stack Engineer — solo build across all three apps, now in ongoing maintenance
2.5+ years — build & handover complete, maintenance ongoing
Asami Export sources inspected used construction machinery and commercial vehicles from Japan's major auctions and ships them worldwide by RoRo and container. Buyers are almost entirely international and rarely visit in person — discovery happens through the marketing site, in English or Japanese, with WhatsApp as the primary contact channel once a buyer finds a vehicle they want.
The challengeA vehicle export business doesn't need one generic product listing — it needs latest arrivals, current offers, published inventory, and similar-vehicle recommendations to behave differently, at a catalogue size that keeps growing. It also depends on organic search for buyer discovery far more than a typical SaaS product, which makes SEO and page performance a revenue concern, not a nice-to-have. And because the engagement was always going to end in handover to ongoing maintenance rather than the same engineer staying on indefinitely, undocumented architecture decisions were a real risk, not just tidiness.
Approach
Split the platform into three purpose-built apps sharing one repo rather than one monolith: a Next.js marketing site optimized for organic discovery, a separate Vite/Ant Design admin panel for day-to-day catalogue operations, and an AWS CDK backend defining the infrastructure both consume.
Modeled vehicle listings around actual sales behaviour instead of one generic list endpoint — dedicated Lambda functions for latest arrivals, current offers, published inventory, and similar-vehicle recommendations, each independently cacheable and scalable.
Treated SEO as a first-class requirement given the business depends on organic search from international buyers: a dedicated SEO dashboard in the admin panel, a search-engine-ping Lambda triggered on content changes, and a Lighthouse CI gate on every marketing-site deploy.
Recorded real architecture decisions as ADRs instead of leaving them as tribal knowledge — e.g. choosing numbered, URL-synced pagination over infinite scroll for the stock listing for predictable UX and stronger built-in accessibility, and enabling Next.js image optimization through Amplify Hosting to cut bandwidth 30–40% on a photo-heavy vehicle catalogue.
Closed the engagement with a real handover, not just a deploy: documented architecture decisions, a written future-enhancements roadmap, and separated dev/prod CI/CD pipelines for both apps — so maintenance could continue without requiring the original engineer in the room for every change.
What shipped
Bilingual (EN/JP) marketing site with vehicle search/filtering, currency-aware pricing, WhatsApp-first contact, and SEO-optimized rendering, deployed on Amplify Hosting with image optimization enabled.
Admin panel: vehicle CRUD and publishing workflow, a dedicated SEO management screen, settings, and a dashboard — the operational tool staff use to run the catalogue day to day.
AWS CDK backend with nested stacks for business logic and DynamoDB, an AppSync/GraphQL API, and Lambda functions spanning vehicle listing logic, auth authorization, transactional email, and search-engine notification.
Two full CI/CD pipelines (dev + prod) for both the CDK backend and the marketing site, plus a dedicated Lighthouse CI workflow gating performance regressions on every deploy.
Scale of ownership
3
Apps shipped in one platform2.5+ yrs
Build & handover timeframe~14,400
Lines of TypeScript487
Commits (solo)500+
Buyers served (public figure)1,000+
Vehicles in inventory (public figure)For a business selling to buyers who rarely visit in person, the marketing site's SEO and load performance isn't a nice-to-have — it's the primary sales channel, which is why performance regressions got the same rigor as backend bugs: a dedicated Lighthouse CI gate, a documented image-optimization decision, a dedicated SEO admin surface. The real test of a solo-built platform isn't the launch, it's whether someone else can maintain it afterward — which is why every non-trivial architecture call got written down as an ADR rather than left as something only the original engineer remembered.
Have a codebase or product with similar problems?
Tell me what you're working on and where you're stuck. I'll determine whether I can help.
Discuss a Project