About This Project
After the clone projects, it was time to build an idea of my own — one I'd been carrying since I traveled solo through Europe for a few months. I kept wishing for a way to meet people on the road — to talk, trade travel tips, share information — but all I could find were dating apps and Korean communities. So I learned to program, while still traveling, to build the meet-up app I wished I had. Pinner is that app: my first project with Django, GraphQL (Graphene), and React.
Technical Sheet
React
Apollo
TypeScript
Styled-Components
Sentry
Alts
I never trust the first draft of a design. I laid several alternatives side by side and compared them until the UI felt balanced — weighing performance throughout, because a shorter task time means a happier user.

#EDEDED
#E2E2E2
#318CEE
#1E1E1E
#161616
Calculate Distance Between Nearby Cities
Every city page shows the distance to its neighbors. Each city keeps a list of nearby cities, and that list is refreshed whenever a new city model is created — so the network grows on its own as people search.




Long Term Gains
What I'm proudest of here is the city profiles. Storing every city on Earth was never an option, so I flipped the problem: profiles are generated on demand. When a user searches with the Google Autocomplete Location Search API, the server takes Google's location code and builds that city's profile on the spot.