Atlas
A small trusted-network recommender that turns saved places and friend signals into explainable local suggestions.
What I Built
Atlas is a trusted-network place recommender. Users can import saved places, share them inside a small private circle, and ask for recommendations that are grounded in group context instead of anonymous public ratings alone.
The app is intentionally narrow: it is for people who trust each other’s taste, not for building another public review network.
Why It Matters
Most local recommendation products optimize for popularity. That is useful for some decisions, but not for “where would people like me actually go?” A friend’s saved places, repeat visits, notes, and neighborhood patterns can be more useful than a star average from strangers.
The product bet behind Atlas is that small-group context can make recommendation systems feel more personal and more accountable.
Product And Technical Decisions
Atlas uses a single Express server for API routes, authentication, SQLite persistence, Google Places lookups, and OpenRouter calls. The React client is served from the same backend in production, which keeps deployment simple on the shared VPS.
The import flow accepts Google Takeout place data, normalizes it, removes duplicates, and maps places into a shared circle. That import step matters because the system is only useful if users can bring their existing history with low effort.
The recommendation engine assembles structured context before calling the model:
- Taste profile insights, including category affinity and city patterns.
- Social proof from the user’s circle.
- Place-level context from saved metrics and Google Places data.
- Constraints that block prompt-injection attempts and system-prompt leakage.
AI System Design
The model is used for synthesis, not as the source of truth. Place facts, user saves, circle context, and review signals are assembled first. The model then writes a recommendation explanation that should be traceable to those inputs.
That distinction is important: the product should not invent taste. It should explain why a place fits based on available evidence.
Evidence / Outcomes
- Live at atlas.patonpoints.com.
- Deployed with PM2 and Nginx on the same Hostinger VPS as the other PatOnPoints properties.
- Supports Google Takeout import, place matching, shared-circle context, and LLM-generated recommendation rationale.
- Uses scoped invite-only data rather than a public social graph.
What I Would Improve Next
The next step is an eval loop for recommendation quality: sample user profiles, expected recommendation traits, rejected examples, and a simple rubric for whether each explanation is specific, grounded, and useful. I would also measure where users get stuck in the import flow.
Screenshots & Visuals