Selected work at ART+COM POiPOi
POiPOi
Shared places. A reason to reconnect.

About the project
POiPOi is a VREUNDE research prototype that links photographs and messages to places, giving friends another way to share memories across distance. At ART+COM, I worked across its mobile interface and backend, from creating a memory to finding it on the map.
- Client / project
- VREUNDE research
- Studio
- ART+COM
- My work
- Frontend & backend development
- My contribution
- August 2024–April 2026
Technologies used
- Mobile app & backend
- React
- Capacitor
- Leaflet
- TanStack Query
- Node.js
- PostgreSQL
- Drizzle ORM
- MinIO
Places and friendships
A place to return to.
Someone to reconnect with.
A shared place can bring an experience back to mind. POiPOi lets friends leave a photograph and a message at that location, choose a group to share it with, and discover memories nearby or browse them from afar through Explore.
The prototype forms part of VREUNDE, a research project exploring how technology can support friendships across distance. Rediscovering a memory is designed to offer an occasion to get back in touch.
I built parts of the creation flow, group selection, map exploration, and camera controls. I also connected creator and group information across the backend and the screens where people browse and open memories.
The application
From shared memory
to discovery.
Groups give a memory its audience. The map and Explore list offer different ways to find it again, with author, group and viewing state carried into the detail view.
A demonstration memory opens from Explore. Closing it updates the seen count; the expanded map lets you choose another position. April 2026 build with seed content, simulated GPS and a local API.
Demonstration photo: NPS/M. Quinn
Map: © Stadia Maps · © Stamen Design · © OpenMapTiles · © OpenStreetMap

Running April 2026 development build · Demonstration content, simulated location and local backend
© Stadia Maps · © Stamen Design · © OpenMapTiles · © OpenStreetMap
From map to memory
A chosen place.
A moving position.
Letting the map hold its position
Exploring means moving between a live position and a chosen point. I added explicit manual-position state so incoming GPS updates would not immediately overwrite a selection, then returned control to live location when the map closed.
Keeping the sharing context
A memory carries more than a photo. I worked on the group-aware data queries and their presentation so a story keeps its author and group as it moves from the discovery list into detail.
I also made the camera controls read each device’s zoom limits and refresh them when switching cameras.
Across app and backend
A web interface.
Connected to the phone.
The React interface is packaged for iOS and Android with Capacitor. Native plugins connect it to the camera, location and notifications, while the map and memory views share the same application code.
Behind the interface, cloud functions expose a REST API. PostgreSQL holds memories and their user/group relationships; S3-compatible object storage holds the photographs. My backend work supplied the creator and group context that the discovery screens needed.
POiPOi was developed as a research prototype for test rounds on iOS and Android, with TestFlight and Google Play as the planned distribution channels. It is documented in the official VREUNDE showcase.
