Boca de Lobo
Not just a digital menu: a 250+ product catalog with its own custom admin panel, for a grill restaurant with two locations in Buenos Aires. The business updates prices, promos and content without depending on me.

The business relied on a printed menu: updating a price or adding a dish meant reprinting, and there was no way for customers to see the full menu before arriving. There was also no agile way to manage 250+ products across two locations.
A digital menu accessible via QR from the table, plus a custom admin panel that gives the business full autonomy: CRUD for products, categories and promos, bulk price editing in a single operation, and configurable home highlights — no code required.
One product, three fronts
Digital menu
The full menu, accessible via QR from the table.
- 250+ products across 11 categories and 39 subcategories
- Dietary icons (vegan, gluten-free, spicy…)
- Promos with image or video and optional price
- WhatsApp reservations with pre-selected location
- Configurable home highlights
Admin panel
A custom CMS so the business manages everything itself.
- CRUD for products, categories, subcategories and promos
- Bulk price editing in a single operation
- User management and global configuration
- Editable table-service price
- Dashboard with menu overview
Deploy & operations
Self-hosted VPS infrastructure, production-ready.
- VPS with Nginx + PM2 and auto-renewing SSL
- Daily DB and upload backups (14-day retention)
- Images optimized to WebP on upload
- 5 email inboxes with SPF/DKIM/DMARC
- Technical SEO: sitemap, robots, OpenGraph, GA4
From a printed menu that had to be reprinted to a 250+ product digital catalog the business manages on its own — bulk price changes, promos with photo or video, and full control over what shows on the homepage, all from the panel, with no developer in the loop.
Rustic, bold, nocturnal
The identity steps away from the generic digital-menu look: an obsidian background, burnt-orange ember accents and cream text build a charcoal-grill atmosphere. Three typefaces in play add a handcrafted texture — vintage menu stamps and a typewriter feel.
Display: Eight Days A Week · Headings & prices: Mailart Rubberstamp · Body: Special Elite
Obsidian
#0A0A0A
Ember orange
#E85D26
Cream
#FAF3EB
The hard parts, solved
A 5-phase data migration, zero downtime
Refactoring the "subcategories as a string" model into a relational table with foreign keys, with 250+ products live in production. Done in 5 progressive phases —DB → API → Admin → public frontend → cleanup— each independently deployable and with rollback available at any point.
Bulk price editing with a safe UX
A dedicated view to update all prices at once: it detects changes in real time, highlights what changed, shows the previous price on each altered input, warns before closing the tab with unsaved changes, and persists everything in a single atomic transaction on the backend.
Full DNS migration with the site live
Reconfiguring the DNS zone between the provider’s services (from Cloud Server to Professional Email) while keeping the site online, with under 20 minutes of downtime and manual SSL certificate regeneration after the switch.
Built end-to-end
Frontend
- Next.js 15 (App Router)
- React 19
- TypeScript
- Tailwind CSS 3
Backend
- Node.js
- JWT en cookies httpOnly
- bcrypt
- Roles
Database
- SQLite
- Prisma 6
- Migración de datos custom
Infrastructure
- VPS + CloudPanel
- Nginx
- PM2
- Let's Encrypt (SSL auto)
Media
- Sharp → WebP
- QR con logo (multi-resolución)
Ops & SEO
- Backups diarios (14 días)
- Email SPF/DKIM/DMARC
- Sitemap + robots + GA4
The platform in action






Need a system for your business?
From a website to a full management platform. Tell me what you need.