DEMO TOKEN: 524a085b20ea1c53758a45bccf90584724500870bbce20dd498a57bb69e0bf9c
Growing up in New York City, our team member Jack watched a vibrant, spontaneous street culture gradually retreat behind glowing screens. Today, reliance on technology often results in superficial connections, allowing us to accumulate online friends while losing touch with our actual physical neighborhoods. Meanwhile, planning a simple outing requires an exhausting juggling act between group chats, map links, and review sites. The current ecosystem is heavily fragmented, with utility applications offering discovery without social collaboration, and social platforms lacking the logistical tools to actually coordinate a meetup. Inspired by Hermes, the god of swift connection, and our mascot, the hermit crab, we built Hermi to remove this friction. We designed a platform that intentionally incentivizes users to step out of their digital shells and embark on "Anti-Tourist" adventures, turning the initial spark of discovery into a concrete, physical-world hangout.
Hermi brings place discovery, social content, itinerary planning, and exploration progress into a single, cohesive iOS application built for college students. Moving away from dense text and cluttered controls, we implemented a playful, pixel-art design system centered around a full-screen geographic map. Nearby local recommendations appear as category-colored dots, allowing users to organically filter and discover hidden gems that are actively inspired by their unique tastes, rather than just displaying whatever happens to be nearby. From there, users browse a visual feed to bookmark places and seamlessly transition from inspiration to collaborative action. Planning is inherently social on Hermi; users can easily build active itineraries, invite friends, adjust durations, and even discover new people through shared outings. To actively incentivize these physical-world experiences, we introduced game-style mechanics that reward consistent face-to-face meetups with "IRL" streaks and track the geographic tiles a user has explored, visualizing their real-world progress as a growing stack of cairn stones. Once a plan is set and it is time to meet, Hermi shifts into Adventure mode. This mode strips away distracting interface elements to foster a "just go" mentality, paring the screen down to essential navigation and a dedicated camera mode so users stay present in the moment rather than buried in their phones.
To ensure the technology effectively brings people together in person, we reverse-engineered our development process to start entirely with the human experience, mapping out the physical user journey before writing a single line of code. We built a native iPhone interface using Swift and SwiftUI, leveraging reusable visual components for a fluid experience. The geographic map is rendered by MapLibre GL JS, supplied by OpenFreeMap and Overture Maps data, and embedded securely through WebKit. To power this, we architected a unified truth backend that seamlessly syncs data across the social and utility modules. This backend infrastructure was constructed using TypeScript, Node.js, Fastify, MongoDB, and PostgreSQL with TimescaleDB, relying on Zod schemas to guarantee strict data contracts across the entire application.
Our primary technical challenge was coordinating native SwiftUI controls with an embedded WebKit map, which created significant gesture conflicts. We had to carefully engineer the interface to distinguish between a user swiping a category, dragging a pin, or simply panning the map. Additionally, rendering high-density geographic data without creating visual clutter required ruthless iteration and design restraint. On the backend, we faced the complex task of resolving conflicting logic between user-to-user social interactions and user-to-location utility data to maintain our unified schema. Through this process, we learned that desktop simulators fail to capture the nuances of physical interactions, making incremental on-device testing absolutely vital for identifying performance bottlenecks. We also realized the immense value of explicit API contracts in allowing our frontend and backend development to proceed concurrently. Ultimately, we discovered that to successfully incentivize in-person exploration, the underlying technology must feel entirely frictionless and nearly invisible.
Built With
- atlas-vector-search
- backboard
- core-location
- cryptokit
- docker
- fastify
- ffmpeg
- google-gemini-api
- javascript
- maplibre-gl-js
- mongodb
- node.js
- openfreemap
- overture-maps
- photon-spectrum
- postgresql
- swift
- swiftui
- tiger-data
- timescaledb
- typescript
- vitest
- webkit
- xcode
- zod


Log in or sign up for Devpost to join the conversation.