Gradia - Student Discounts and Rewards Platform
https://gradia.co.uk/Gradia is a student discounts and rewards platform for the UK. Students find offers nearby or online, redeem them in-store, earn points, and enter monthly tier rewards, while partner businesses manage offers and pay commissions. I own it end to end: the React Native iOS and Android app (about 70 screens), the Next.js public site, the partner, admin and ambassador dashboards, about 214 API routes, and the Supabase PostgreSQL database with 183 migrations and about 234 Row Level Security policies plus column-level grants. I built in-store redemption with rotating daily codes and a GPS proximity check, an idempotent points ledger, reward tiers, and monthly draws, partner billing with GoCardless Direct Debit, and Awin and CJ affiliate sync. About 15 Vercel cron jobs run the platform, and CI runs linting, type checking, Vitest, a build, and a schema-drift check on every PR.
Basile - B2B Company and People Intelligence Platform
https://basile.cc/Basile is a B2B prospecting platform for the French market. Sales and recruiting teams search companies and decision-makers, save them into lists, enrich them with emails and phone numbers, and push them to HubSpot or export them to CSV. I built it end to end: the front and back end, data pipelines, search, billing, integrations, and the public API. I imported and linked data from five sources, including about 26 million French companies, 42.6 million LinkedIn companies, and 28.6 million LinkedIn contacts, with streaming, idempotent file imports up to 178 GB. I built federated search across several OpenSearch indices with accent-insensitive matching, autocomplete on every filter and stable pagination, plus a bounded query queue, priority lanes, and zero-downtime re-indexing. I added Stripe subscriptions with credits and French VAT, a public REST API with API keys, MCP/OAuth access for AI assistants, anti-scraping protection, and full English and French versions.
Kavlo - AI-powered Vendor Management and Document Automation
https://www.kavlo.com/Kavlo is a multi-tenant SaaS platform for the vendor-to-payment lifecycle: vendors, contracts, invoices, purchase orders, and spend, with AI that reads business documents automatically. Since January 2025, I have built and owned the Next.js 15 front end and the NestJS back end. Each customer gets its own subdomain, and tenant isolation is enforced in Supabase via PostgreSQL Row Level Security and tenant-aware repositories. I built a drag-and-drop ReactFlow workflow designer and a template-based engine that routes items through business, legal, compliance, and finance stages, with an audit trail; AI contract review with LangGraph that flags risky clauses and suggests redlines; and an MCP tool registry for AI agents. I integrated Okta SSO, Merge.dev file storage, and Nylas email with encrypted credentials, and built a PDF viewer that highlights extracted fields. I also maintain the Python FastAPI and Celery document layer that extracts fields with Gemini and Google Document AI.
Avoda - Time Tracking, Team Management, and Payroll SaaS
https://app.avodaai.com/Avoda is a SaaS platform where companies track time, manage teams, clients, and projects, approve leave, and run payroll. I work as a full-stack developer on the web app and the back-end API. On the back end, I built NestJS 11 and Apollo GraphQL modules with Prisma and PostgreSQL (about 28 models): Better Auth login with Google OAuth and OTP, role-based access for admins, managers, and employees, timers, pay-rate resolution with an audit trail, automated payroll, and PTO accrual with approval workflows. Scheduled jobs run daily payroll and timer alerts, and GraphQL subscriptions over Redis pub/sub keep screens live. On the front end, I built the React 19 and TypeScript app with typed GraphQL Codegen hooks, plus CSV and PDF exports for timesheets and payroll. Every change ships to staging and production via GitHub Actions, along with Sentry, Vitest, Playwright, and Storybook. I also keep the shared API backward compatible with the desktop app.
InstaSDR - AI-powered Sales Development Platform
InstaSDR is an AI-powered sales development platform that researches companies, builds buyer personas, writes personalized outreach emails and follow-ups, and runs multi-step campaigns. I worked as a full-stack developer on the Next.js and Supabase platform and its AI workflows, and built the billing system. I integrated LangChain and OpenAI through a shared prompt library used by both the web app and the Node.js services, covering company research, persona generation, outreach emails, follow-ups, and reply sentiment analysis. I tuned model choice and temperature per task, so creative writing and analytical classification each get the right settings at a lower cost. I built the Stripe subscription system: Checkout, plan-based credit limits, add-on credit purchases, usage tracking, and signature-verified webhooks. Upgrades and downgrades carry unused credits over, allowances are reset automatically on renewal, and failed payments pause the subscription.
Whizlabs - Online Learning and Certification Platform
https://www.whizlabs.com/Whizlabs is a global e-learning platform for cloud and IT certifications, offering video courses, practice tests, hands-on labs, and sandboxes. I worked as a full-stack developer across the Next.js website, React LMS, and Node.js and Serverless back end. I improved Google PageSpeed scores on key pages from about 40 to 90+ through code splitting, `next/image`, optimized font and third-party script loading, and the appropriate SSG, ISR, or SSR strategy for each page. I also implemented SEO improvements, including server-rendered meta tags, JSON-LD structured data, sitemaps, canonical URLs, and redirects.
I built combo course bundles with discounted pricing across the course page, cart, and Stripe checkout, and redesigned the course details, cart, cart pop-up, and labs pages. In the LMS, I built a Video.js live transcript synced to playback and a resume-where-you-left-off feature for course videos. I also redesigned account email templates, fixed LMS course issues, and upgraded dependencies.
Sparky (StickyCards) - Digital Wallet and Customer Engagement Platform
https://www.stickycards.co/Sticky Cards lets businesses create branded digital cards, such as loyalty cards, event passes, and promotional cards, that customers save to Apple Wallet or Google Wallet with no app to download. I extended the existing NestJS and MongoDB back end to support the full card lifecycle. I built a workspace-scoped card module for creating, branding, and issuing cards, with configurable colors, logos, banners, front and back fields, and mappings to both pass formats.
On Apple, I implemented the Wallet Web Service endpoints and silent APNs pushes, so an edited card updates on every registered device. On Google, I built class and object generation, signed save links, and callback handling for installs and removals. I added a send-notification flow that messages every device holding a card, contact lists linked to issued cards with real-time Socket.IO updates, and reward and loyalty logic that automatically refreshes the customer's wallet card when changes occur.
Slynk - Digital Profile, Networking, and Contact Management App
Slynk is a digital business card and networking platform. Users build a profile page with contact details, links, and media, and share it via a QR code, NFC tag, Apple Wallet, Google Wallet, or a downloadable contact file. People who view a card can share their details and become connections. I owned the technology end to end: the Next.js web app, the Express and TypeScript API on MongoDB, the React admin panel, and the hosting on AWS EC2 with PM2. I built a login with email, phone OTP via Twilio, Google, and Apple, styled QR codes and NFC tag sharing, Apple and Google Wallet passes, and .vcf contact export. Connections update in real time via Socket.IO and can be grouped and exported to CSV. and analytics dashboard shows profile visits, link clicks, and contacts collected. I also built Pro subscriptions with Stripe Checkout and webhooks, and an admin panel for users, subscriptions, coupons, CMS content, and moderation.
Amazon Brand Performance Dashboard
An internal analytics platform for an agency that manages more than 15 Amazon brands. The team used to copy numbers by hand from the Seller Legend into spreadsheets before every client meeting. I was the sole full-stack engineer and built it end to end: a Turborepo monorepo with a Next.js 15 dashboard and an Express 5 and TypeScript API on Supabase PostgreSQL with Prisma. I integrated the Seller Legend API over OAuth2 with a nightly cron sync, token refresh, exponential backoff retries, a 15-month historical backfill, and admin tools to fill missing days. Staff drill down from company to region to a single product (ASIN), compare periods, switch currencies, and export any table to CSV or Excel. Access is secured with HTTP-only cookies, JWTs, OTP email verification, admin approval, role-based access, and Row-Level Security. It ships with Docker and GitHub Actions to DigitalOcean and Vercel.
DePass - Wallet Pass Platform for NFT Event Tickets
A platform that turns NFT event tickets from DePass, a Web3 ticketing platform, into Apple Wallet and Google Wallet passes that attendees show at the door, with no crypto wallet needed. I designed and built it end to end: an Express and TypeScript API on MongoDB, a React admin dashboard, and wallet integrations, then integrated it with DePass so that each NFT is issued as a personal pass and updated when ownership changes. Organizers set up events with a step-by-step wizard, design the ticket with a live preview of both passes, and add per-ticket fields, schedules, venues, and location reminders, and passes expire after the event. On Apple, I built signed .pkpass generation, the PassKit web service, and APNs push updates; on Google, I built class and object upserts with JWT-based save links and signature-verified callbacks. Rotating TOTP QR codes, NFC, and AES-signed tokens make screenshots hard to reuse, and a dashboard shows the number of created, installed, and deleted passes per platform.
GoToBeat - Live Music Events and Ticketing Platform
https://gotobeat.com/GoToBeat is a platform where people discover live music events and buy tickets. I joined as the development lead on an existing codebase and advanced it with checkout, integrations, admin tools, and testing (44 commits, about 8,650 lines added). I rebuilt the ticket selection and checkout flow in Remix with a mobile bottom sheet, field-level validation, and server-side Stripe payment verification. I built a DICE ticketing integration with a new DynamoDB table and GSIs, plus a nightly SST cron on AWS Lambda that imports sales and marks past events. I added admin CRUD for artists, venues, and genres with Zod validation, replaced an allow-all admin check with a domain allowlist, and upgraded Meta Pixel with server-side Conversions API events. I also wrote a Playwright E2E suite covering full ticket purchase on desktop and mobile, plus Jest integration tests and CI/CD docs.
TypingBolt - AI-powered Typing Practice Platform
TypingBolt is a typing practice website with about 50,000 learners and more than 11 million tests taken. The new version started as a Base44 AI-builder prototype that could not run outside Base44, while the live site was a ten-year-old PHP app. I took it to production on my own. I removed all Base44 dependencies and wrote a new Express 5 and TypeScript back end with MongoDB. I rebuilt auth with signed HTTP-only cookies, email verification, password reset, and Google/Facebook login, all verified with Firebase Admin. I built an AI practice text based on each user's most-mistyped words, using a server-side OpenRouter proxy that selects the cheapest model and automatically falls back. I migrated users, test history, and leaderboards from the legacy PHP and MySQL site with streaming batch scripts, so returning users kept their progress. I also built leaderboards, five skill levels, PDF certificates, and rate limiting.
SlicePilot - Figma Plugin for Klaviyo Email Uploads
https://slicepilot.io/SlicePilot is a Figma plugin for email marketers and agencies. It slices an email design, compresses each piece, and uploads it to Klaviyo in one click, replacing more than 10 manual steps. I built the whole product. The plugin, written in TypeScript on the Figma Plugin API, splits a frame into up to 100 rows and three columns, compresses slices with TinyPNG, and uploads them to one of up to 100 saved Klaviyo accounts. The Express 5 and MongoDB back end handles Stripe subscription webhooks that create the account, generate a plan-prefixed license key, and email it with the invoice. Credit limits come from Stripe product metadata, so pricing changes need no deployment. I added a free tier with monthly resets, a React 19 admin panel for customers, credits and trial keys, and a Cloudflare Worker proxy that replaced a shut-down third-party service and keeps the API key on the server.
Loyoh - Digital Loyalty Cards in Apple and Google Wallet
https://loyoh.app/Loyoh replaces paper coffee shop stamp cards with a loyalty card that lives in the customer's phone wallet, with no app to install. I built the Apple Wallet and Google Wallet integration. On Apple, I built signed .pkpass generation with each shop's colors and live stamp data, the full PassKit Web Service, and silent APNs pushes over a persistent HTTP/2 connection, so the card updates within seconds of each stamp. On Google, I built Loyalty Class and Object upserts, signed Save to Google Wallet JWT links, and automatic object updates after every stamp and redemption. Pass downloads are protected with time-windowed HMAC tokens, and Apple webhook auth uses constant-time comparison. A Firestore transaction prevents a single QR scan from yielding two stamps, and stamps still succeed when Apple or Google is slow or down.
TapCarte - Digital Business Cards in Apple and Google Wallet
TapCarte replaces paper business cards with cards that live in Apple Wallet and Google Wallet. I have been the end-to-end developer since 2023, covering architecture, back end, admin dashboard, wallet integrations, cloud setup, and ongoing support. I built an Express and TypeScript API on MongoDB and a React 18 admin dashboard where staff create branded cards, with a live wallet preview, image upload with cropping, card duplication, and one-click copy of the Apple and Google links. On Apple, I built signed passes, the full PassKit Web Service protocol, and APNs push updates, so edits reach cards already saved on phones. On Google, I built Generic Class and Object upserts, JWT save links, and ECv2 signature verification of Google callbacks. I also migrated media storage from AWS S3 to Google Cloud Storage, handled a full rebrand, and added bilingual French and English card content.
Da Bag Club - Goal-based Savings App with Plaid and Dwolla
Da Bag Club is a mobile savings app that helps people save toward a goal through daily savings challenges, scratch cards, and progress tracking, with real money moved from their bank account on a schedule. I built the back-end API and the admin panel end to end. The Node.js, TypeScript, and Express back end has about 60 REST endpoints across 18 domain modules on MongoDB, with Joi validation. I integrated Plaid bank linking and Dwolla ACH transfers, including verified customer creation, with all tokens and funding-source URLs encrypted at rest and a key rotation utility. I built a savings plan engine (fixed or random schedules, daily, weekly, or bi-weekly, auto or manual) and timezone-aware Agenda jobs for payments, reminders, auto-complete, and auto-cancel that recover after restarts. I added SMS OTP login with Twilio, FCM push notifications, Apple receipt validation, audit logs, and per-module API docs.
Spectra - Restaurant Ordering Marketplace with Stripe Connect
Spectra is a food ordering marketplace for restaurants in Quebec. Restaurants list discounted menus, customers (mainly students) order and pay online, and the platform takes a service fee on each order. I built the whole product: the customer and merchant React app, a GraphQL and REST back end on Node.js and MongoDB, and the admin panel. I implemented Stripe Connect Express onboarding for restaurants, PaymentIntents, automatic transfers to each restaurant after the service fee and the actual Stripe fee, and transfer reversals and refunds on cancellation. I built the pricing engine for discounts, Quebec GST and QST, tips and savings shown at checkout, plus Dine-in or Take-out, order ratings, and order history. New orders reach restaurants by SMS (Twilio), email (SendGrid), or both. Admins manage restaurants, customers, per-restaurant commission, and the minimum order amount.
Dog Trick - Dating and Social App for Dog Owners
Dog Trick is a Tinder-style dating app for dog owners, with one swipe mode for people and one for dogs, plus dog events and a paid Pro membership. I built the back end, the real-time chat server, and the web admin panel end to end. The Node.js, TypeScript, and Express API has about 100 REST endpoints and 16 MongoDB collections. Matching runs in MongoDB aggregation pipelines that filter by distance, age, and gender, with resurfacing timers set by admins. Chat runs on an MQTT-over-WebSocket broker with per-room authorization, and every message is saved before it is delivered. I built Stripe payments (PaymentSheet, subscriptions, coupons, and promo codes) and an iOS and Android in-app purchase coupon system, plus Google, Facebook, and Apple login verified with Firebase Admin, event ticketing with capacity checks, and a MongoDB change stream that cleans up a deleted user's data.
Innercord - Corporate Wellbeing Platform
https://www.innercord.com/Innercord is a corporate wellbeing platform where employees follow guided video courses across six pillars: breath, movement, gut health, sleep, gratitude, and meditation. I built the product end to end as three apps sharing a single API. The back end is an Express and TypeScript REST API on MongoDB, with auth, validation, and media storage on Google Cloud Storage. The customer app is built with Next.js 13, featuring server-side route protection, a marketing landing page, pillar browsing, and a full-screen video player that records completed videos and lets members save personal notes. The React admin CMS lets the team manage pillars and the video library, with image cropping before upload, so new content goes live without a developer. I also set up development, staging, and production environments.
Clyk - Marketing Website for AI Photo Kiosks
https://www.clyk.studio/Clyk makes AI and robotics photo kiosks for hotels, restaurants, and events. I built their marketing website end to end, from project setup to live deployment. Every page is built from the approved design using React 19, TypeScript, and Tailwind CSS 4 brand tokens, with a mobile-first approach across all breakpoints. I added scroll-driven animation with Framer Motion (in-view reveals, count-up stats, parallax), carousels, and a mobile slide-out menu. After launch, I added industry landing pages for events, malls, public places, theme parks, and zoos, a Technology page, and a contact form that posts to AWS API Gateway with the reason pre-filled from CTAs. The site is a static build on AWS S3 and CloudFront with SPA fallback, and GA4 tracks page views on client-side route changes.
HabeshaWork - Professional Networking Platform
https://habeshawork.com/HabeshaWork is a LinkedIn-style professional and social network for the Habesha community, where members build profiles, connect, search for people, and chat in real time. I work as the front-end UI developer and update the API when a feature needs it. I built the React and TypeScript screens: a home feed with connection suggestions and preference filters; a profile with modular edit forms; network, search, and messages; and onboarding and sign-in. I built responsive layouts on every page, including a separate mobile chat flow, and real-time one-to-one messaging over WebSocket. The UI communicates with REST APIs using Firebase ID token authentication and uses a signed URL flow for image uploads. When a new screen needs new data, I extend the Express endpoints on Firebase Functions and the Prisma schema on PostgreSQL.
Playmate - Sports Team and Event Management App
Playmate is a web app for amateur and club athletes to create teams, invite friends, plan games and training sessions, and track attendance. I built it end to end as the only full-stack developer. The front end was built with React 18 and TypeScript using Vite, Tailwind, and Headless UI, and includes a reusable dark-themed component library, an event calendar, and a pitch lineup view. The Express API has 35 endpoints on eight MongoDB collections. I built JWT auth with bcrypt and a single-use password reset flow, team admin and member roles with invite codes and links, a friend network with request states, and four event types (team match, network game, pickup game, and training) with Pending, Accepted, and Rejected attendance. I also added Google Places search for event venues.
Bee-right - IoT Beehive Monitoring Dashboard
Bee-right is a web dashboard for commercial beekeepers. Sensors inside the hives record sound, temperature, humidity, and other readings, and the system converts them into indicators of bee health, hive activity, and queen presence. In one week, I turned a generic admin template into a working product. I built organization-scoped Next.js API routes with Prisma and PostgreSQL for dashboard KPIs, hive lists, single-hive history, and load management. I built a metrics engine that compares the selected date range to the previous period and assigns each hive its dominant health state, so a single noisy reading does not flip its status. I rebuilt the hives and loads tables on TanStack Table with sorting, filtering, and pagination, fixed the broken build, and moved deployment to Docker, AWS CodeBuild, and ECR. Later, I found and removed an obfuscated supply-chain malware payload hidden in a config file.
Popup - Apple and Google Wallet Card Integration
https://popup.lol/en/Popup is an Italian platform that links physical venues to digital experiences through NFC tags, QR codes, and an AI chatbot. I am building the Popup Card, a branded card users add to Apple Wallet or Google Wallet with one tap, showing their name, photo, and a QR code that opens their Popup profile. I set up the Apple Pass Type ID certificate and built a signed .pkpass generation in Node.js and TypeScript, with branding and images fetched from S3 and resized to Apple's sizes with sharp. On Google, I set up the service account, issuer, and generic class, and built the object upsert with a signed Save to Google Wallet JWT link. I am now building automatic card updates on both platforms (PassKit web service, APNs push, and Google object PATCH).
Finance Eye - Financial Calculator App (IRR, SIP, and Loans)
Finance Eye is a React Native financial calculator app on Google Play that helps users analyze investments, calculate IRR, plan SIPs, estimate loan repayments, and compare compound interest. I was the lead developer and delivered it in five weeks. I built the financial and mathematical calculation logic with a focus on accuracy, since users make money decisions from it. I integrated Google AdMob for in-app ads, implemented in-app purchases for premium features, and built key screens, including the in-app purchase and PDF screens. I reviewed UI responsiveness across screen sizes and devices, worked on performance, bug fixes, and app stability, and participated in feature planning and technical decisions.
2048 Puzzle Number 4096 - Puzzle Game for iOS
2048 Puzzle Number 4096 is a number puzzle game on the App Store, based on classic 2048 gameplay: players swipe and merge matching tiles to reach 2048, 4096, and beyond. I was the lead developer and delivered it in 4 weeks with React Native. I designed and built the core game logic for tile movement, merging, scoring, and progression, and the game-state management with local persistence so players can close the app and continue later. I built the main game screens and worked on smooth, responsive swipe interactions and animations. I tested and tuned behavior across iOS devices and screen sizes, and handled performance, bug fixing, and stability.