Inspiration
- Buying decisions in Southeast Asia bounce between Lazada and Shopee; prices change daily and “deal quality” is unclear.
- We wanted one trusted view that says: “Is now the right time to buy?” and automates the cross-store checking.
What it does
- One search aggregates Lazada + Shopee, merges results, and sorts by best price.
- Saves items to a realtime wishlist with target-price alerts (prototype) and “buying window” guidance based on price history.
- Opens the product in the native store with a tap. Lazada vs Shopee is the prototype; the approach scales to any ecommerce marketplace.
How we built it
- Mobile app: React Native (Expo) with Expo Router, Reanimated, and chart-kit for price history and insights.
- Data layer: Convex for realtime wishlist state, mutations, and price history storage.
- Scrape layer: Apify-first pipeline—Shopee via an Apify actor; Lazada via a Python + Playwright + BeautifulSoup worker. We merge and sort results server-side before sending to the app.
- Config: Expo auto-resolves API host in dev; Convex URL is set via env.
Challenges we ran into
- Normalizing different DOM structures and anti-bot behaviors between Lazada and Shopee.
- Keeping scrape speed acceptable while rendering charts smoothly on mobile.
- Ensuring the Expo app points to the correct backend host across devices.
Accomplishments that we’re proud of
- End-to-end flow: search once, pick a result, set target price, and see live stats in the wishlist.
- Realtime updates via Convex with a polished mobile UX (animated transitions, charts, store deep links).
- Apify + Playwright integration that merges cross-market results with price intelligence.
What we learned
- Convex simplifies realtime data flows for mobile; less boilerplate, faster iteration.
- Apify actors plus custom Playwright jobs can coexist to cover marketplaces with different access patterns.
- Small UX touches (buying-window hint, quick open-to-store) drive trust more than raw price listings.
What’s next for CheckLaPrice
- Push alerts when an item crosses its target price.
- Background cron to refresh and append price history automatically.
- Extend beyond Lazada/Shopee to more ecommerce networks and add news-signal scoring for upcoming price swings.
Built With
- apify
- convex
- fastapi
- playwright
- react-native
Log in or sign up for Devpost to join the conversation.