Alquisiera
Project explanation
Alquisiera is a fullstack platform that automates rental property discovery in Puerto Madryn. The project uses a two-backend architecture: a Vercel scraper built with Playwright and OOP, plus a Render cron job that feeds Firebase every night. The Next.js 14 frontend consumes that data with a built-in caching strategy. It is a clever solution that takes advantage of free tiers across multiple platforms.
Technical Stack
Next JS 14
Express
Node.js
Main Features
- Dual-backend architecture : Distributed system with two specialized backends: a Vercel scraper using Playwright and object-oriented programming to extract data from multiple websites, and a Render cron job kept alive through a /health endpoint that coordinates scheduled runs and Firebase sync
- Nightly automated scraping : Automated extraction process that runs every evening, gathering up-to-date information from eight different real estate agencies in Puerto Madryn and keeping Firebase continuously refreshed
- Price range filters : Intuitive filtering tool that lets users define minimum and maximum price ranges to quickly find properties that fit their budget
- Optimized caching with Next.js 14 : Strategic use of Next.js 14 native caching to reduce Firebase requests and improve loading times while staying within free-tier limits
- Daily refreshed database : Refresh strategy that clears and rebuilds the Firebase database every day, removing outdated properties and adding new listings
- Modern responsive interface : Responsive Tailwind CSS design that provides a smooth experience across devices and makes browsing hundreds of properties easy

Featured Achievements
- Cuts property search time by 80%
- More than 1,000 properties indexed automatically
- Daily refresh system without manual intervention
Technical Challenges
- Zero-budget architecture : Designing a robust solution across Vercel, Render, and Firebase free tiers required creative workload distribution
- Keeping the Render backend awake : Implemented an auto-ping strategy against the /health endpoint to prevent the free service from sleeping
- Playwright scraping across eight sites : Built specific OOP parsers for different HTML structures while keeping the codebase scalable
- Backend synchronization : Coordinated the Render cron job to call the Vercel scraper and update Firebase reliably while handling timeouts and failures
- Cost and performance optimization : Balanced free-tier limits, scraping runtime, and user experience with Next.js caching