Work

The stuff I've built, and why it mattered at the time.

No filler bullet points, just what the project needed and what I actually did about it.

NowVPlay

Visit

Sports technology platform connecting players, venues, and academies

Next.js, Django, Redux Toolkit, OAuth, Material UI

The problem: The platform needed to connect players, venues, academies, and other members of the sports community, with each group seeing a different dashboard and live tournament data that actually stayed live.

The result: A dashboard system that scales by role instead of by special-casing everything, and a frontend that is easier to extend than it was on day one.

  • Built the core Next.js app: dynamic routing and role-based dashboards so players, venues, and academies each see what they need.
  • Wired up OAuth so access control was not just a checkbox. The right people got the right tools.
  • Built the Redux Toolkit state layer that keeps live tournament data from turning into a stale-data mess.

Pecunia and Custom Dev Integrations

Visit

Compliance, payments, and internal AI workflow integrations

Next.js, Stripe, NextAuth, Ollama, Qwen

The problem: Onboarding needed to be automated without cutting corners on validation, government webhooks had to behave, and an internal AI tool needed to exist without sending anything sensitive off-site.

The result: Less manual onboarding work, tighter security, and an internal AI setup that stays inside infrastructure we actually control.

  • Automated compliance onboarding with strict validation and official UK government webhook integrations.
  • Wired up Stripe and NextAuth without turning the security-sensitive parts into a black box.
  • Set up local AI endpoints with Ollama and Qwen so internal tooling never had to leave the building.

Kunji

Visit

Society management and collaboration platform

React Native, Redux Toolkit, Socket.IO, OAuth

The problem: A residential community needed one app to replace a pile of paperwork: visitor approval and entry logs, complaints, billing, deliveries, polls, parking, and a panic button for emergencies.

The result: Residents got one app instead of a folder of forms, and complaints and visitor entries started moving faster because nobody was waiting on a security guard with a clipboard.

  • Built the resident-facing React Native screens: visitor management, complaint tracking, billing, all in one place.
  • Used Redux Toolkit for state and OAuth for access, so residents and staff each saw the right version of the app.
  • Added real-time updates over sockets for visitor entries, delivery pings, and emergency alerts.
  • Worked across a multi-app system: admin dashboard, resident app, and a separate security-staff app.

GoodFynd

Visit

POS and operations platform for food trucks and mobile vendors

React Native, Expo, Redux Toolkit, React Query, Socket.IO

The problem: Food trucks needed a POS that could take a hit of orders during a lunch rush without turning laggy, work offline when a signal dropped, and still sync up cleanly after.

The result: Smoother day-to-day vendor operations, and roughly 15-18% faster responsiveness from the caching and sync work.

  • Built React Native and Expo screens for POS, order tracking, and in-app chat.
  • Hooked up payment systems and the third-party services vendor checkout actually needs.
  • Split global state from server state with Redux Toolkit and React Query so busy screens stayed responsive.
  • Added Socket.IO live updates plus offline ordering, caching, and background sync.

VueCent

Visit

Personal finance tracker and expense-logging app

React Native, Expo, Redux Toolkit, React Query, Gemini API

The problem: I wanted a finance tracker that could log expenses without me typing in every purchase by hand, and that actually told me something useful about my spending instead of just listing it.

The result: Manual expense entry turned into "point phone at receipt": the app extracts and categorizes it, and Gemini generates the spending insights I actually read.

  • Built the whole thing in React Native with Expo: expense logging, categorization, the works.
  • Used the Gemini API to scan receipts and invoices and pull out the expense data automatically.
  • Redux Toolkit for state, React Query for fetching and caching.