A portfolio and storefront for an agricultural consultant, showcasing land-management projects while selling fertilizer, seed, and educational materials through one real Indonesian checkout.

Timeline: January – March 2026
Intansari Farm is a client website for an agricultural consulting business, part portfolio, part storefront. It shows off the consultant's completed land-management and irrigation projects the way a services business needs to, and sells the fertilizer, seed, and educational materials the business actually deals in, in one site rather than two.
Live in production. This one is a real client deployment, not a demo, which is also why there's no public repository or separate demo link here.
The homepage reads like a consultancy's front page: services (precision land management via satellite/drone mapping, smart irrigation systems, training & consultation), a portfolio of completed projects, and an about section. Then, without feeling bolted on, a working shop sits right alongside it:

Both product types share one cart, one checkout, and one order history, so a customer can buy fertilizer and a growing guide in the same transaction.
Two integrations do the work that's easy to fake in a demo and easy to get wrong for real:
Orders move through pending → paid → processing → shipped → received → completed (or cancelled), and the schema tracks the details that make each stage mean something: courier and service name, tracking number, shipped/delivered timestamps, and, after delivery, a rating and review tied back to the order. Guest checkout is supported alongside registered accounts, with guest name/email/phone captured directly on the order rather than forcing an account first.
A full back office behind authenticated admin routes: CRUD for products and materials (with image upload), an order list with a detail view for updating status and tracking info, and user management. Session handling uses NextAuth with a JWT-backed flow (jose) rather than rolling custom token logic.
| Layer | Choice |
|---|---|
| Framework | Next.js, TypeScript |
| Styling | Tailwind CSS |
| Database | PostgreSQL via Prisma, hosted on Supabase |
| Auth | NextAuth, JWT sessions |
| Payment | Midtrans |
| Address & shipping | api.co.id |
| Resend, React Email for templates | |
| State | Zustand (cart), TanStack Query (server state) |
| Animation | Framer Motion |
Private client project. No public repository or demo link.