No description
  • TypeScript 72.4%
  • Python 13.7%
  • JavaScript 7.2%
  • CSS 5.6%
  • HTML 0.6%
  • Other 0.4%
Find a file
2026-08-12 18:48:05 +00:00
.vscode kitkit 2026-07-04 19:42:45 +00:00
app changes 2026-08-12 18:48:05 +00:00
backend base 2026-07-30 23:04:37 +00:00
docs kitkit 2026-07-04 19:42:45 +00:00
frontend base 2026-07-30 23:04:37 +00:00
Sokpop Collective - homepage_files kitkit 2026-07-04 19:42:45 +00:00
.gitignore kitkit 2026-07-04 19:42:45 +00:00
Makefile changes 2026-08-12 18:48:05 +00:00
PLAN.md transplant test 2026-07-04 21:18:11 +00:00
README.md Make local dev Conductor-friendly (dynamic ports, LAN IP, dev CORS) 2026-07-22 23:28:15 -04:00
Sokpop Collective - homepage.html kitkit 2026-07-04 19:42:45 +00:00
Todo kitkit 2026-07-04 19:42:45 +00:00

KitKit is a return to blog-based communication between friends, as in the y2k era, while still maintaining the conveniences of modern applications. The most similar application in the space currently is LetterLoop, which allows users to create private newsletters between friends. I would like to maintain that base funcitonality, especially for casual users, while allowing more personalization and fun, as in the html y2k era App Structure: frontend/, app/, backend/. Backend will be fastapi, hosted on a VPS. Frontend/ will be React. App will be React Native.

BACKEND: Backend follows the template full-stack-fast-api-template at https://github.com/fastapi/full-stack-fastapi-template#.

DATABASE: PSQL database stored on the same VPS as the backend. For right now this will store user information as well.

APP: React Native applicaiton, using tanstack and zustand for state management, queries, and general storage.

FRONTEND: React application, using tanstack and Zustand(see APP).

Example App Flow:

  1. User logs into/creates their account (linked to email)
  2. On Home screen you can view past blog posts, change your mailing list (also invite others to the app), and edit your current blog post.
  3. In editing currently, you will be locked to having Titles and paragraph text, or photos and captions. Eventually will be more advanced. a. Also eventually wil have stickers you can place, and change the theme around
  4. Every 27th, everyone's current blog post gets mailed out to everyone on their mailing list.

Development:

  1. Start with backend and routes a. Open Question: Photo Storage
  2. App
  3. Web Frontend (keep basic for right now, maybe even the same as app)

Local development

Copy backend/.env.example to backend/.env (keep ENV=development so the API accepts requests from localhost and your LAN).

make dev-info prints the ports and URLs for the current checkout, then:

  • make run-backend — FastAPI on 0.0.0.0:$BACKEND_PORT (reachable from your phone)
  • make run-frontend — Vite dev server, pre-pointed at the local backend
  • make run-app — Expo, pointed at the backend over your machine's LAN IP

Ports are derived per-workspace from the checkout path, so several Conductor workspaces can run the full stack at once without colliding. Override any of them explicitly, e.g. make run-backend BACKEND_PORT=8000.