Tech Stack
- Frontend: React, TypeScript, React Router, Axios for HTTP requests, CSS
- Backend: Node.js, Express.js, TypeScript, CORS, serves static JSON datasets for places & tags via custom /api/places and /api/tags routes
- DevOps & Testing: Git & GitHub for version control, npm & ts-node-dev for local development scripts
Screenshots
Coming Soon...
Github Repo: github.com/jnycolej/SpotRoulette
Live Demo Link: Coming Soon
Case Study
- Challenge 1: Designing a flexible, tag-based filter with "any" vs. "all" match modes.
Solution: Solution: Built a reusable filterPlaces utility to combine type and tag filters dynamically. <br />
What I Learned: Functional programming patterns in TypeScript and robust API design. - Challenge 2: Serving location data without a full database.
Solution: Used static JSON files (places.json, tags.json) and simple Express routes to mock production-style endpoints
What I Learned: Trade-offs of prototyping with static vs. dynamic data sources. - Challenge 3: Rapidly prototyping cross-platform mobile experiences.
Solution: Created early Android (Kotlin) and iOS (Objective-C++) demos to validate UX flows
What I Learned: Foundations of mobile development workflows and platform differences.