lapar.la - Viral Recipe Platform for Malaysia
A bilingual, mobile-first recipe platform that ingests creator content from Instagram, converts it into structured recipes, and serves it through a fast PWA experience.
Owner: Dotkod Solutions
Next.js 16 (App Router) React 19 TypeScript Tailwind CSS v4 Framer Motion Drizzle ORM + Drizzle Kit PostgreSQL (pg) Instagram URL Direct OpenAI API (Whisper + gpt-4o-mini, optional) PWA (Web App Manifest + Service Worker) VPS Deployment (Nginx reverse proxy + Node.js runtime + PostgreSQL)
Problem Solved
Recipe discovery from Malaysian creators is fragmented across social platforms, with unstructured captions/videos, inconsistent metadata, and no central bilingual experience for users who want quick, practical cooking decisions.
How I Solved It
Built lapar.la as a production-ready Next.js platform with a PostgreSQL-backed recipe domain model, an ingestion/admin workflow that transforms Instagram posts into structured recipe records, and a high-performance bilingual UI focused on mobile usability and repeat engagement.
Key Features Delivered
- Bilingual language system (en/ms) with browser locale detection, localStorage persistence, and localized UI copy.
- Fast recipe discovery homepage with search, creator filters, local pick filters (sahur, berbuka, budget, quick), and infinite scroll.
- Rich recipe detail pages with ingredient checklists (auto saved), step tracking, nutrition/cost heuristics, shopping list copy, and creator/source deep links.
- Community feedback loop: "tried it" scoring (thumbs up/down) plus issue reporting with rate limiting and admin status handling.
- 7 day meal planner mode (Puasa/Normal) with local persistence and generated shopping list output.
What Can Be Done Next
- Complete the original "Makan Out" geolocation restaurant roulette and social group vote flow currently stubbed in navigation.
- Add full observability stack (structured logs, alerting, dashboard metrics) for ingestion success rate and API health.
- Introduce queue based ingestion workers for higher throughput and better retry isolation under larger creator sets.
- Add automated tests (unit + integration + API contract) for parser logic, admin actions, and critical route handlers.