Explore - IT
You're a developer trying to grow. You want hackathons, meetups, workshops, anything that puts you in the right room with the right people. You search around, browse a few sites, and move on. Three weeks later someone mentions a great event that happened last weekend in your city. You didn't know it existed.
That is not a rare experience. And the frustrating part is that it is not for lack of events. It is for lack of a tool that surfaces the right ones for you.
That was the starting point for Explore It: a cross-platform mobile app for iOS and Android that combines real-time event discovery with an AI recommendation engine that learns your niche. Not what's trending globally. What's relevant to you specifically.
The problem worth solving
Most event platforms rank by popularity. They show what's hot, what's nearby, what has the most RSVPs. That works for a music festival. It does not work if you are a developer looking for a React workshop, an AI study group, or a design hackathon with a prize pool.
Students and early-career developers feel this hardest. You do not yet have a network that forwards you the right invites. You are not in the Slack channels where organisers post announcements. You rely on whatever Google surfaces, and Google does not know your niche.
Explore It puts discovery and personalisation in the same app, so you stop missing the things that matter to you.
What the app does
Personalised AI event recommendations
When you set up your profile, giving age and interests and the kinds of events you care about, the recommendation engine starts calibrating. As you browse, click, bookmark and attend, it sharpens. It learns which categories you engage with, weights recent behaviour more heavily than old behaviour, and applies diversity boosting so the feed does not collapse into variations of the same event.
The result is an Explore feed that is genuinely different from one user to the next.
Natural language search
You can search in plain language, like "extreme sports weekend events" or "Python workshops for beginners", and the backend interprets intent rather than matching keywords. It uses TF-IDF vectorisation and cosine similarity to rank results against what you actually meant.
Full event detail pages
Each event page carries everything needed to decide whether to go: weather at the venue on the date, map integration with the fastest route, the full description, organiser details, and ratings from previous attendees. Most event apps make you open three other apps to assemble this. Explore It puts it in one place.
Multi-user chat per event
This gets overlooked in most event apps. People do not just want to know an event exists, they want to talk about it before committing. Is it worth going? What should I bring? Who else is attending? Explore It attaches a chat to each event so interested users can coordinate before the day itself.
Satisfaction prediction
Underneath the recommendations, an XGBoost model predicts how satisfied a given user is likely to be with each event, based on their profile and interaction history. It is never shown to the user. It just makes the ranked list better.
How it is built
Explore It is two repositories working together.
Frontend: React Native and Expo
Repository: github.com/Zubair-hussain/Explore-IT-
The mobile app is React Native with Expo, TypeScript throughout for type safety. Navigation uses Expo Router, a file-based routing system that keeps the screen structure legible as it grows. Styling is NativeWind, which brings Tailwind utility classes into React Native.
Backend: FastAPI and machine learning
Repository: github.com/Zubair-hussain/Backend-Ai--Model-
The backend is a Python FastAPI service, the part that decides which events each user sees. The core logic lives in exploreit_ai.py, in the ExploreItAI class.
The recommendation pipeline
- Onboarding captures initial interests and age
- Every interaction, whether a view, click, bookmark or attendance, is logged to SQLite (
exploreit.db) - TF-IDF vectors are built from event descriptions and user interest profiles
- Cosine similarity ranks events against those preferences
- A preference decay function reduces the weight of older interactions over time
- Diversity boosting stops the feed becoming repetitive
- XGBoost predicts satisfaction as a final ranking layer
Backend stack
- FastAPI + Uvicorn
- scikit-learn
- XGBoost
- pandas
- numpy
- SQLite3
- Render
The /docs route on the running server exposes a full interactive Swagger UI, which is useful both for testing endpoints during development and for showing a client the API structure.
How the two sides connect
When a user opens the Explore tab or runs a search, the React Native app sends a request to the FastAPI backend. The backend processes it against the stored profile and interaction history, runs the recommendation logic, and returns a ranked list. The app renders it. The whole loop is fast enough that it feels native.
Technical decisions worth explaining
FastAPI over Node.js
The ML stack is Python-native. Running the recommendation logic behind a Node backend would mean spawning Python subprocesses or duplicating the logic. FastAPI keeps Python doing the ML and wraps it in a proper REST interface.
Expo Router over React Navigation
File-based routing is easier to maintain as the screen count grows. New screens are new files, with no manual registration or config changes.
SQLite over a hosted database
Speed of iteration. Zero infrastructure setup, and more than sufficient for a prototype with a bounded user set. Swapping in PostgreSQL or Supabase later needs adjustments to models and queries, not a rewrite.
NativeWind for styling
Anyone who knows Tailwind can contribute to the React Native UI without learning a second styling system, and design tokens stay consistent if the project expands to web.
Where it stands
Explore It is a complete product: a mobile app with AI-driven personalisation, real-time event data, map and weather integrations, multi-user chat, and a machine learning backend that improves recommendations from actual user behaviour.
Technically it covers a lot of ground. Cross-platform mobile development, a Python ML backend, REST API design, file-based routing, real-time features, and third-party integrations. That was deliberate. The goal was to build something that works as a product, not something that ticks a portfolio box.
If you are hiring
If you need a developer who can take a product from idea to working app, handling both the frontend experience and the backend logic behind it, this is the kind of work I do.
Full stack referenced
- React Native
- Expo
- TypeScript
- Expo Router
- NativeWind
- Python
- FastAPI
- Uvicorn
- scikit-learn
- XGBoost
- pandas
- numpy
- SQLite3
- Render
Related posts
Zubair Hussain is a full-stack developer and co-founder of Xovato Digital Agency, based in Hyderabad, Pakistan. He builds web and mobile applications for clients in the US and Australia, focusing on AI integration, real-time systems, and cross-platform mobile development.

Comments
Post a Comment