Next.jsReactTool Site

renter-rights-hub — Next.js Tool Template

By thedalycreative

A Next.js application for Western Australian renters that provides Gemini Q&A based on the Residential Tenancies Act 1987, a bond calculator, and template letter generation.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-14View source

What stands out

A quick read of the recorded project description.

01

Chat Q&A is based on the full text of the Residential Tenancies Act 1987, with answers generated by Gemini 2.5 Flash

02

lib/act.ts scrapes and server-side caches the Act HTML from the Western Australian legislation website in real time

03

The bond calculator outputs the maximum bond, the bond lodgment deadline, and a refund estimate

04

Template letters cover three types—inspection refusal, repair requests, and bond refunds—with live preview and copy support

05

Uses Next.js 15 App Router, TypeScript, React 19, and Tailwind CSS 3

06

Provides Vercel deployment configuration and steps for setting the GEMINI_API_KEY environment variable

Template Details

renter-rights-hub is a Next.js 15 (App Router) + TypeScript + React 19 project that explains Western Australian (WA) tenancy law in plain English. The README states that its data source is the full text of the Residential Tenancies Act 1987 from the Western Australian legislation website; the Q&A feature is powered by Gemini 2.5 Flash, and the full text of the Act is injected as context on every request; lib/act.ts is responsible for scraping and caching the Act HTML from the Western Australian legislation website.

The application contains three pages: the home page is chat Q&A (ChatPage), with sidebar navigation, a top bar, a welcome card, and quick questions; /bond is the bond calculator (BondCalculator), which after entering weekly rent and move-out date gives the maximum bond, the bond lodgment deadline, and a refund estimate; /letters is the template letters page (LettersPage), offering three types of templates for inspection refusal, repair requests, and bond refunds, with form fields, live preview, and a copy button.

The README does not provide information about user accounts, data persistence, multilingual support, or testing. The project states it is MIT licensed, by author Tim — The Daly Creative, and includes a disclaimer: the tool does not constitute legal advice, and complex disputes should be directed to Consumer Protection WA or a community legal center.

Next.jsTool Site

Is it right for your project?

Use Cases

  • A WA renter wants to quickly understand specific provisions of tenancy law in plain English
  • A renter needs to calculate the bond cap, lodgment deadline, or estimate a refund amount
  • A renter needs to generate an inspection refusal, repair request, or bond refund letter citing specific legal provisions
  • A developer wants to reference the structure of a Q&A application combining Next.js App Router with the Gemini API

Suitable For

  • Renters who need to understand Western Australian residential tenancy law
  • Users who want to quickly generate tenancy-related letter templates
  • Developers who want to study how Next.js 15 + Gemini 2.5 Flash are integrated

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Run npm install to install dependencies

  2. 2

    Create .env.local in the project root and set GEMINI_API_KEY; the key can be obtained from https://aistudio.google.com/apikey

  3. 3

    Run npm run dev and then visit http://localhost:3000

  4. 4

    When deploying to Vercel, first add the key with vercel env add GEMINI_API_KEY, then run vercel --prod

  5. 5

    The README does not describe any required configuration other than the data/ directory and .env.local

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version in the public repository under the MIT license; the free scope is the code of that version and does not mean that external services or third-party materials are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution of that version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Demo images, fonts, icons, and other third-party materials must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur separate charges.
  • Running the Q&A feature requires applying for and configuring the GEMINI_API_KEY environment variable yourself; otherwise the AI Q&A cannot be used.
  • A Gemini API key must be obtained from Google AI Studio, which is an external service account requirement.
  • When deploying to Vercel, GEMINI_API_KEY must be added as a project secret, which depends on an external platform account.
  • The full text of the Act must be scraped in real time from the Western Australian legislation website, which depends on the accessibility of that external site.
  • The tool only explains Western Australian law in plain English, does not constitute legal advice, and complex disputes require separate consultation.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

GEMINI_API_KEY=your-gemini-api-key-here

Original README

Get a Gemini API key from: https://aistudio.google.com/apikey

Original README

vercel env add GEMINI_API_KEY

Original README

│ ├── act.ts # Fetches + caches full Act text from WA legislation site

Original README

This tool explains WA law in plain English and is not legal advice.

Original README
https://github.com/thedalycreative/renter-rights-hub/blob/main/LICENSEhttps://github.com/thedalycreative/renter-rights-hub/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-14. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 80 / 100
Technologies
Next.js · React
Website type
Tool Site
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-04-26
Screenshot last checked
2026-10-14

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Review declaration: codex-user-requested-batch-review-20261015 · 2026-10-15

Inspect the recorded source material

SHA-256: bbafd9978a0e5faccedfa76a16034cb7afde2f1b6c61bf00a2c9a15c5cfc5e5a

2026-10-14T18:41:25.828Z

Source file / repository
# Perth Renter Rights Hub

Plain-English WA tenancy law, powered by Gemini 2.5 Flash + the full Residential Tenancies Act 1987.

## Project Structure

```
renter-rights-hub/
├── app/
│   ├── globals.css            # Tailwind base + custom component styles + animations
│   ├── layout.tsx             # Root HTML layout + meta tags + font preloading
│   ├── page.tsx               # Chat (home)
│   ├── bond/page.tsx          # Bond calculator page
│   ├── letters/page.tsx       # Template letters page
│   └── api/
│       ├── ask/route.ts       # Gemini 2.5 Flash + full Act context endpoint
│       └── bond/route.ts      # Bond calculation endpoint
├── components/
│   ├── Sidebar.tsx            # App-wide sidebar nav with active indicators
│   ├── BondCalculator.tsx     # Bond calc form + results cards
│   ├── LettersPage.tsx        # Letter templates + live preview + copy
│   └── chat/
│       ├── ChatPage.tsx       # Chat container + state management
│       ├── MessageBubble.tsx  # User/assistant message rendering + follow-ups
│       ├── ChatInput.tsx      # Textarea + hint chips + send button
│       ├── Topbar.tsx         # Chat header bar with Act badge
│       └── WelcomeCard.tsx    # Intro card + stat cards + quick-start prompts
├── lib/
│   ├── act.ts                 # Fetches + caches full Act text from WA legislation site
│   └── types.ts               # Shared TypeScript interfaces
├── data/                      # (local only — not committed)
├── .env.local                 # API keys (not committed)
├── next.config.js
├── tailwind.config.ts
├── tsconfig.json
├── postcss.config.js
├── vercel.json
└── package.json
```

## Table of Contents

| Page | Section | Content |
|---|---|---|
| `/` (Home) | `<Sidebar>` | Logo + amber glow, nav links (Tools/Topics/Resources), legal disclaimer |
| `/` (Home) | `<Topbar>` | Page title, live Act badge with pulse, template letter link |
| `/` (Home) | `<WelcomeCard>` | Intro text, stat cards (7-day notice, 4× inspections, 28-day bond), quick-start chips |
| `/` (Home) | `<ChatPage>` | Conversation thread, `<MessageBubble>` with citations + follow-ups, `<ChatInput>` |
| `/bond` | `<BondCalculator>` | Weekly rent input, vacate date, max bond result card, key date cards, info box |
| `/letters` | `<LettersPage>` | Template picker (inspection/repairs/bond), form fields, live letter preview, copy button |
| External | WA Tenancy Act 1987 | https://www.legislation.wa.gov.au |
| External | Consumer Protection WA | https://www.commerce.wa.gov.au/consumer-protection |

## Features

| Tool | Description |
|---|---|
| Rights assistant | AI Q&A grounded in the full *Residential Tenancies Act 1987 (WA)* via Gemini 2.5 Flash |
| Bond calculator | Max bond, lodgement deadline, refund estimate |
| Template letters | Inspection decline, repairs request, bond refund — cite real sections |

## Stack

- **Next.js 15** (App Router) + TypeScript + React 19
- **Tailwind CSS 3** — custom sand/teal/amber palette with animations
- **Google Gemini 2.5 Flash** — 1M token context, full Act ingestion per request
- **WA Legislation website** — live fetch + server-side cache of the full Act HTML
- **Vercel** — deployment + serverless functions

## Packages Required

```bash
# Install all dependencies
npm install

# Key packages (auto-installed by above):
# next ^15.3.0       — React framework (App Router)
# react ^19.0.0      — UI library
# tailwindcss ^3.4.3 — Utility-first CSS
# typescript ^5      — Type safety
```

## Setup

### 1. Install dependencies

```bash
npm install
```

### 2. Configure environment variables

Create `.env.local` in the project root:

```
GEMINI_API_KEY=your-gemini-api-key-here
```

Get a Gemini API key from: https://aistudio.google.com/apikey

### 3. Run locally

```bash
npm run dev
```

Open [http://localhost:3000](http://localhost:3000).

## Deploy to Vercel

```bash
# Add your Gemini key to Vercel project secrets
vercel env add GEMINI_API_KEY

# Deploy
vercel --prod
```

## Git Deployments

```bash
git reset --hard 1~InitialSetup
git reset --hard 2~APIRoutes+RAG
git reset --hard 3~UIComponents
git reset --hard 4~EnvLocal+SDKUpdate
git reset --hard 5~GeminiMigration+StylingUpgrade
```

## Repo & Links

- **Repo URL:** https://github.com/thedalycreative/renter-rights-hub
- **GitHub Pages:** https://thedalycreative.github.io/renter-rights-hub/
- **Live Site:** (Vercel deployment URL — add after first deploy)

```bash
# Clone into VS Code
git clone https://github.com/thedalycreative/renter-rights-hub.git
cd renter-rights-hub
code .
```

## Package / Framework Links

- Next.js 15: https://nextjs.org
- React 19: https://react.dev
- Tailwind CSS 3: https://tailwindcss.com
- Google Gemini API: https://ai.google.dev
- Vercel: https://vercel.com

## Author & License

- **Author:** Tim — The Daly Creative
- **License:** MIT

## Disclaimer

This tool explains WA law in plain English and is not legal advice.
For complex disputes, contact [Consumer Protection WA](https://www.commerce.wa.gov.au/consumer-protection)
or a community legal centre.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.