Loliup
The GraphQL backend behind a two-sided loyalty platform connecting local businesses with their customers.

Loliup is a loyalty management platform where local businesses run reward programs and customers collect points on digital loyalty cards to redeem for rewards. I joined as a backend developer on an existing GraphQL codebase — I didn't start the project, I came in to build on and extend it — working across the Apollo/GraphQL API, the Prisma data model, scheduled jobs, transactional email and push notifications that power the day-to-day loyalty flows for both businesses and customers.
The Challenge
The project was already live with an established codebase and data model, so the work was less about greenfield decisions and more about understanding an existing GraphQL server and extending it cleanly — adding and refining loyalty features (points, cards, rewards) without breaking the flows businesses and customers already relied on.


The Results
Working within the existing Apollo GraphQL server, I built and extended resolvers and services behind the loyalty flows — digital loyalty cards, point accrual and reward redemption — backed by a Prisma/PostgreSQL data model. Alongside the core API I worked on scheduled jobs with node-cron, PDF generation for receipts, transactional email via AWS SES / Nodemailer, and Firebase-based media uploads and push notifications, keeping everything consistent with the patterns already in the codebase.
Key Features
GraphQL API
Built and extended Apollo Server resolvers and services powering the loyalty flows for both the business and customer sides of the app.
Digital loyalty cards & points
Server-side logic for point accrual, digital loyalty cards and reward redemption, backed by a Prisma/PostgreSQL data model.
Scheduled jobs
Recurring background tasks with node-cron to keep loyalty balances, expirations and periodic processes running on schedule.
Email & push notifications
Transactional email through AWS SES / Nodemailer and Firebase push notifications to keep businesses and customers in the loop.
Media uploads & PDFs
Firebase-backed image uploads and PDFKit-generated documents for receipts and reward records.
Worked within an existing codebase
Joined a live project and extended it cleanly — matching the established GraphQL, auth and data-model patterns rather than rebuilding.