$ cd ../work // back
WEB APP PWA
// case_005

Lotarias.pt

A web app for lottery players in Portugal: generate numbers, save bets, check tickets by OCR and follow results, stats and alerts.

ROLE
Full-stack · Eng
YEAR
2026
STACK
React 18 + Vite 6 · Base44 (SDK + TS serverless functions) · Tailwind + shadcn/ui · TanStack Query · Stripe · hCaptcha · Brevo · OCR (web worker + LLM) · Web Push / Service Worker
STATUS
● in production
// THE_CHALLENGE.md

Build a complete lottery platform for Portugal — generating and checking bets, always-up-to-date results, stats, alerts and a paid premium layer — without building the whole backend from scratch or compromising production reliability.

// THE_APPROACH.md

The decision that unlocked everything was using a low-code platform (Base44) as the backend — entities, serverless functions and SDK — and spending the time on what differentiates: a custom React/Vite frontend and the automation. Results arrive via scheduled scraping; saved bets are checked automatically; and alerts go out by push and email (Brevo).

Ticket reading combines client-side OCR with LLM extraction. Monetization (Stripe) brings a paywall, limits and a referral program.

// THE_SOLUTION.build

A frontend with dedicated pages (Generate, Check Ticket, Results, Stats, Premium, Profile, Admin) and a Base44 backend with ~20 entities and ~40 serverless functions (scraping, checking, alerts, newsletter, push, SSR, OG images, Stripe). An admin dashboard with metrics, an error monitor and statistics (frequencies, hot/cold, pairs, parity) plus AI predictions. Responsible-gaming and legal pages included.

// RESULTS.out

A functional app in production with a broad feature set. An internal 360º audit identified and documented improvements (e.g., a race condition in promo-code redemption, error/timeout handling in OCR) with a remediation plan — a sign of maturity, not fragility. No public usage metrics.

View project →

More projects

see all →
001
How To Invest
A financial-education app rebuilt from React to WordPress, with one firm principle: the rules decide the allocation; the AI only explains.
FINTECH / EDTECH →
002
ToS Summarizer
A Chrome extension that summarizes Terms of Service and Privacy Policies with AI — and rates the risk before you accept.
AI / WEB →
003
VibeSell
A Chrome extension that, when you click “Engage” on a Reddit post, returns three human, product-personalized reply drafts — you copy, edit and post.
AI / GROWTH →