Skip to content
web web-development

RT03 Neighborhood Management System

Community neighborhood administration platform with admin dashboards, resident records, financial ledger, inventory loans, announcements, and an AI assistant grounded in Firestore records.

web │ live · rt03.fun · admin-dashboard· crud· data-analytics· firebase
RT03 Management System screenshot
Admin Dashboard CRUD Data Analytics Firebase Management System Vanilla JS Vercel

An information system for an Indonesian neighbourhood association (RT) — residents, committee, finances, shared inventory, lending, announcements and a small community shop — with an AI assistant that can answer questions about any of it.

Highlights

  • The assistant sees the whole neighbourhood, not one table — the client gathers residents, committee, finances, inventory, loans, announcements, shop products and transactions from Firestore, formats them into a single structured context, and sends that to the model. Questions that span two domains — who has not paid their dues and also has an item on loan — are answerable because both are in the same prompt.
  • Context is built on the client, the key stays on the server — the browser assembles the data it is already authorised to read, and a Vercel serverless function holds the API key and performs the model call. The key never ships to the browser, and the function never needs its own database credentials.
  • Firestore as the whole backend — no server of its own to run or pay for, with the data model living directly in collections and the site deployed as static pages plus one function.
  • Lending is tracked as state, not as a note — shared inventory items carry a borrowing record, which is the difference between an asset register and knowing where the tent actually is.
  • A community shop inside the association's own site — products and transactions are first-class parts of the same database the assistant reads, so shop activity shows up in answers about the RT's finances.
  • Separate admin surface — a dedicated login and dashboard for committee members, kept apart from the public-facing pages.

Key Features

  1. Resident registry — household and resident records as the core of the system.
  2. Committee directory — who holds which position in the association.
  3. Finance tracking — dues and expenditure recorded against the neighbourhood's accounts.
  4. Shared inventory and lending — the association's assets, with who currently holds each one.
  5. Announcements — notices published to residents from the admin dashboard.
  6. Community shop — products and transactions, with a debug view for the inventory data.
  7. AI chatbot — natural-language questions answered from the live Firestore contents through a DeepSeek-backed serverless endpoint.

Tech Stack

  • HTML + CSS + vanilla JavaScript (multi-page, no framework)
  • Firebase Firestore (data) + Firebase Storage
  • Vercel Serverless Functions (api/chat.js) with the OpenAI SDK 4 pointed at DeepSeek
  • Node.js ≥ 18, deployed through the Vercel CLI

Status & Maturity

Completed. There is no automated test suite; verification was manual, with one debug page kept in the repository for inspecting inventory data directly. Building the entire context client-side and sending it in one request is simple and works at neighbourhood scale, but it is the design's natural limit — the prompt grows with the database, so a much larger association would need retrieval rather than a full dump.

Measured Metrics

Commits 16
Date Range 6 Feb 2026 – 14 Feb 2026
Lines of code 30,211
Automated tests none