PeoplePerson

Difficulty:
Medium

Website: peopleperson.klazr.com GitHub: github.com/rklaeser/PeoplePerson

I've been wanting to build something like PeoplePerson for at least a year and last week I finally felt like I had my development stack and process honed to quickly make something worthwhile.

What is it?

PeoplePerson is basically a CRM focused on helping you remember facts and memories about your friends. I'm also trying to give it texting capabilities but that's pending approval of a business account in Twilio.

Who would use PeoplePerson

  • You
  • Your uncommunicative partner
  • Your mom who can't remember your partner's name

What's the tech stack

Frontend

  • Framework: React 19.1.1
  • Build Tool: Vite
  • Routing: TanStack Router (file-based routing)
  • State:
    • TanStack Query (React Query) for server state
    • Zustand for client state
  • Styling: Tailwind CSS with custom components
  • UI Components: Radix UI primitives (dialogs, dropdowns, tabs, etc.)
  • Language: TypeScript

Backend

  • API: Python FastAPI
  • Authentication: Firebase

DevOps

  • Infrastructure: Cloud Run in Google Cloud Platform
  • CI/CD: Google Cloud Build (cloudbuild.yaml)
  • Infrastructure as Code: Terraform
  • Version Control: Git/GitHub

Takeaways

Focusing on a specific stack has made development times much faster. I know exactly which tools to reach for and how they work together, which eliminates the analysis paralysis that used to slow me down.

Running each issue I'm developing through an overengineering/YAGNI check has been useful for accelerating development time. I do wish I had an easier workflow for this. The crux is that after developing an issue in an llm's context window that instance gets stuck in its perspective. Perhaps using subagents and explicitly prompting them would save time. "Ask Greg" (the senior architect who believes strongly in keeping things simple to critique this plan).