Next.jsReactCorporate Website

NestFind — Next.js Business Template

By intellectwithvivek

NestFind is a Next.js real estate website template built with the VivekUI component library. It includes property listings, filtering, comparison, price trend charts, and an EMI calculator, with all data being fictional examples.

Explore the design

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

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

Homepage search criteria (locality, type, buy/rent, budget) are passed to the /listings results page via query parameters

02

The results page supports cumulative filters for price, locality, type, bedrooms, eight amenities, keywords, and ready-to-move, and can switch between a card grid and a sortable comparison table

03

Each listing page includes a five-year price-per-unit trend line chart and an EMI calculator based on equal principal and interest, with a pie chart breaking down principal and interest

04

Per-route Metadata, canonical, OG/Twitter cards, plus sitemap, robots, manifest, and build-time OG images

05

Outputs JSON-LD for RealEstateListing, ItemList, RealEstateAgent, SoftwareSourceCode, FAQPage, BreadcrumbList, and more

06

Listings, localities, agents, FAQ, and site configuration are centralized in five files under data/ and lib/site.ts, making demo data easy to replace

Template Details

NestFind is a Next.js website template for real estate scenarios, built entirely with the VivekUI component library and released under the MIT license. The repository notes explicitly state that the 18 Bengaluru listings, prices, agents, ratings, and reviews on the site are all fictional and serve as replaceable demo data.

The template includes a homepage search (locality dropdown, type selection, buy/rent toggle, budget slider), and the search results page reads query parameters. The results page offers cumulative filters for price range, locality, type, number of bedrooms, eight amenities, keywords, and a ready-to-move toggle, and can switch between a card grid and a sortable comparison table. Each listing detail page includes a gallery, tabs, a five-year price-per-unit line chart, and an EMI calculator (three sliders, calculated on an equal principal and interest basis with principal and interest broken down).

The site does considerable work on SEO and structured data: per-route Metadata, canonical, Open Graph, and Twitter cards, plus sitemap, robots, manifest, and build-time generated OG images, and outputs JSON-LD for RealEstateListing, ItemList, RealEstateAgent, SoftwareSourceCode, FAQPage, BreadcrumbList, and more. The repository also states accessibility measures, including a single h1 per page, visible focus, respect for reduced-motion, 24px touch targets, and data tables for charts.

Usage limitations: the template is tied to the VivekUI component library, and the repository notes that using it as-is requires that library. Demo images come from Unsplash and i.pravatar.cc, referenced by URL and allowlisted in next.config.ts; replacing them with your own CDN requires adjusting remotePatterns. Except for /listings, which is server-rendered because it reads searchParams, all other pages (including the 18 listing pages) are prerendered at build time. The repository requires Node.js 20.9 or higher.

Next.jsCorporate Website

Is it right for your project?

Use Cases

  • You need a real estate showcase site skeleton with directly replaceable data to quickly build listing lists and detail pages
  • You want to see how filtering, comparison tables, charts, and structured data are organized under the Next.js App Router
  • You want to build the entire site UI with a single component library (VivekUI) without introducing Tailwind, shadcn, or MUI
  • You need an implementation example of SEO metadata, sitemaps, and JSON-LD structured data for listing-type pages

Suitable For

  • Developers familiar with Next.js and TypeScript who want to start from a template
  • Individuals or small teams needing a real estate or property agency showcase site
  • Developers wanting to study how the VivekUI component library is used in a complete project

Getting started & customization

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

  1. 1

    After cloning the repository, run npm install and npm run dev; the local default address is http://localhost:3000

  2. 2

    Requires Node.js 20.9 or higher; the repository recommends 22 LTS

  3. 3

    Before deployment, modify SITE_URL in lib/site.ts; canonical, sitemap, OG images, and JSON-LD @id are all generated from it

  4. 4

    The template has no environment variables, database, or API keys; except for /listings, all pages are static or prerendered at build time

  5. 5

    Demo images come from Unsplash and i.pravatar.cc; replacing them with your own image source requires updating remotePatterns in next.config.ts

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

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

Must comply with when using

  • You may use, modify, commercialize, and distribute the code of this version for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full 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

  • Using the template as-is requires the VivekUI component library (@the_viveksingh/vivek-ui); the entire site UI is composed of 47 components and 2 charts from that library and cannot be used directly without introducing that dependency.
  • Demo images are referenced by URL from Unsplash and i.pravatar.cc and allowlisted in next.config.ts; replacing them with your own image source requires modifying remotePatterns, and these third-party image assets themselves are not covered by the MIT code license.
  • The runtime requires Node.js 20.9 or higher (22 LTS recommended); lower versions cannot run it.
  • The template itself requires no environment variables, database, or API keys; however, before deployment you must modify SITE_URL in lib/site.ts, otherwise canonical, sitemap, OG images, and JSON-LD @id will still point to the original domain.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

To use this template as-is, yes — it is the whole point of the project.

Original README

Unsplash and i.pravatar.cc, referenced by URL and allow-listed in

Original README

**Requires Node.js 20.9+** (22 LTS recommended) — Next.js 16 will not run on older.

Original README

No environment variables, no database, no API keys. The site is fully static apart

Original README
https://github.com/intellectwithvivek/NestFind/blob/main/LICENSEhttps://github.com/intellectwithvivek/NestFind/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. 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 · 83 / 100
Technologies
Next.js · React
Website type
Corporate Website
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-08-29
Screenshot last checked
2026-10-02

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.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 3bd0faf2d994c8bde3b2c7c8bd27715d175b4d0cd481ff23a4d9b1437cef0f3c

2026-10-02T07:22:43.865Z

Source file / repository
<div align="center">

<img src="app/icon.svg" alt="" width="76" height="76">

# NestFind

**A free, open-source real estate website template for Next.js 16 — built entirely with [VivekUI](https://ui.vivekkumarsingh.in).**

[![Live demo](https://img.shields.io/badge/demo-nestfind.vivekkumarsingh.in-1257c9)](https://nestfind.vivekkumarsingh.in)
[![Next.js](https://img.shields.io/badge/Next.js-16.3-000000?logo=next.js&logoColor=white)](https://nextjs.org)
[![React](https://img.shields.io/badge/React-19-149ECA?logo=react&logoColor=white)](https://react.dev)
[![TypeScript](https://img.shields.io/badge/TypeScript-5-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org)
[![VivekUI](https://img.shields.io/npm/v/@the_viveksingh/vivek-ui?color=1257c9&label=VivekUI)](https://www.npmjs.com/package/@the_viveksingh/vivek-ui)
[![Runtime dependencies](https://img.shields.io/badge/UI%20runtime%20deps-0-1257c9)](#why-this-exists)
[![Licence: MIT](https://img.shields.io/badge/licence-MIT-1257c9)](LICENSE)

### [**View the live demo →**](https://nestfind.vivekkumarsingh.in)

[![NestFind — a free real estate website template for Next.js](https://nestfind.vivekkumarsingh.in/opengraph-image)](https://nestfind.vivekkumarsingh.in)

</div>

---

## Contents

[Why this exists](#why-this-exists) ·
[What you get](#what-you-get) ·
[Quick start](#quick-start) ·
[Deploy](#deploy) ·
[Make it yours](#make-it-yours) ·
[Project structure](#project-structure) ·
[SEO and AEO](#seo-and-aeo) ·
[Accessibility](#accessibility) ·
[Components used](#components-used) ·
[FAQ](#faq) ·
[Licence](#licence)

---

## Why this exists

Component libraries are usually demonstrated with a button page and a form page. That
proves nothing about whether you can finish a product with one.

NestFind is the counter-argument: a complete property marketplace — **18 fictional
Bengaluru listings**, locality price trends, a live EMI calculator, a side-by-side
comparison table, six agents — assembled from **one package with zero runtime
dependencies**.

No Tailwind. No shadcn. No MUI. No CSS-in-JS. No charting library. One `npm install`,
two CSS imports, and roughly 600 lines of custom CSS for the identity.

Everything on this site is invented. It is a template, so the data is there to be
replaced.

## What you get

| | |
|---|---|
| **Search that carries through** | Locality combobox, type select, Buy/Rent toggle and a budget slider on the homepage; the query string is read back by `/listings` |
| **A filter rail that means it** | Price range, locality, type, bedrooms, eight amenities, free keywords and a ready-to-move switch — every filter is cumulative |
| **Grid or Compare** | A tab flips results between cards and one sortable `DataTable` comparing area, ₹/sq ft, upkeep, possession and furnishing |
| **Locality price trends** | A `LineChart` on every listing page — ₹/sq ft across five years, with the change since 2021 written out in a sentence, not left as homework |
| **A live EMI calculator** | Three sliders → the standard reducing-balance instalment, counted up, with a `PieChart` splitting principal from interest |
| **Real SEO** | Metadata API per route, `sitemap.ts`, `robots.ts`, `manifest.ts`, canonicals, a generated OG image, and six kinds of JSON-LD |
| **AEO** | An FAQ answered honestly plus `public/llms.txt` for answer engines |
| **Accessible** | One `h1` per page, visible focus, reduced motion respected, 24px touch targets, zero axe violations in both themes |
| **Responsive** | Verified with no horizontal overflow from 320px to 1920px on every route |
| **Light and dark** | `ThemeProvider` with an anti-flash script inlined in `<head>` |

## Quick start

```bash
git clone https://github.com/intellectwithvivek/NestFind.git
cd NestFind
npm install
npm run dev
```

Open <http://localhost:3000>.

**Requires Node.js 20.9+** (22 LTS recommended) — Next.js 16 will not run on older.

| Script | What it does |
|---|---|
| `npm run dev` | Development server (Turbopack) |
| `npm run build` | Production build — all 18 listing pages prerender |
| `npm start` | Serve the production build |
| `npm run lint` | ESLint |

## Deploy

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fintellectwithvivek%2FNestFind&project-name=nestfind&repository-name=nestfind)

**Before you deploy, change one line.** `SITE_URL` in [`lib/site.ts`](lib/site.ts) is
what `metadataBase`, every canonical URL, the sitemap, the OG image URLs and every
JSON-LD `@id` are built from. Point it at your domain and the whole site follows.

```ts
// lib/site.ts
export const SITE_URL = 'https://your-domain.com'
```

No environment variables, no database, no API keys. The site is fully static apart
from `/listings`, which is server-rendered so it can read the search query.

## Make it yours

Everything you would normally have to hunt for lives in five files:

| File | What it holds |
|---|---|
| [`data/listings.ts`](data/listings.ts) | The 18 properties — price, specs, amenities, copy, photos |
| [`data/localities.ts`](data/localities.ts) | Twelve localities and the five-year ₹/sq ft series each chart plots |
| [`data/agents.ts`](data/agents.ts) | Six agents |
| [`data/faqs.ts`](data/faqs.ts) | FAQ copy, which is also the source for the `FAQPage` JSON-LD |
| [`lib/site.ts`](lib/site.ts) | Domain, name, description, repository links, UTM helper |

### Theming

The accent colour, the blueprint grid and the tabular-figure price styling are CSS
custom properties at the top of [`app/globals.css`](app/globals.css):

```css
:root {
  --vk-color-primary: #1257c9;           /* the accent, everywhere */
  --nf-grid-fine: rgb(18 87 201 / 0.07); /* the blueprint grid */
  --nf-grid-bold: rgb(18 87 201 / 0.13);
}
```

Change `--vk-color-primary` and the whole site follows. Every VivekUI selector is
wrapped in `:where()`, so a single flat class of yours wins with no `!important`
anywhere in this repository.

### The logo

One drawing on a 32-unit grid — a gable sheltering a cradle — used in five places:

| File | Where it shows up |
|---|---|
| [`components/logo.tsx`](components/logo.tsx) | Header and footer, inline SVG |
| [`app/icon.svg`](app/icon.svg) | Browser tab, `sizes="any"` |
| `app/favicon.ico` | 16 / 32 / 48 px, for Windows and older browsers |
| `app/apple-icon.png` | 180×180, opaque — iOS rounds it itself |
| [`app/opengraph-image.tsx`](app/opengraph-image.tsx) | Social card, inlined as a data URI |

The roof is a filled triangle rather than a stroked chevron on purpose: a stroked roof
and the cradle below it land less than a pixel apart at 16px, where anti-aliasing welds
them into a ring. `--nf-logo-tile` and `--nf-logo-ink` recolour the mark.

## Project structure

```
app/
  layout.tsx              root layout, theme script, site-wide metadata
  page.tsx                homepage
  listings/page.tsx       results — filters, grid/compare, pagination
  listings/[slug]/        one property — gallery, tabs, price chart, EMI
  agents/page.tsx         six agents
  built-with/page.tsx     every section mapped to its component
  opengraph-image.tsx     social card, generated at build time
  icon.svg · favicon.ico · apple-icon.png
  sitemap.ts · robots.ts · manifest.ts
  not-found.tsx
components/               cards, filter rail, charts, EMI calculator, logo, nav
data/                     listings, localities, agents, FAQs, component map
lib/                      formatting, the EMI formula, JSON-LD builders, site config
public/llms.txt           attribution and facts for answer engines
```

## SEO and AEO

Everything is generated from the data — nothing is hand-maintained, so nothing drifts.

**Per route:** a unique `<title>` and description via the Metadata API, a canonical
URL, Open Graph and Twitter cards, and exactly one `<h1>`.

**Site-wide:** [`app/sitemap.ts`](app/sitemap.ts) emits all 22 URLs (four static routes
plus every listing) at `/sitemap.xml`; [`app/robots.ts`](app/robots.ts) points at it;
[`app/manifest.ts`](app/manifest.ts) carries the icons and theme colour.

**Structured data** — six types, all built in [`lib/jsonld.ts`](lib/jsonld.ts):

| Schema | Where |
|---|---|
| `RealEstateListing` + `Residence`/`Place` + `Offer` | Each listing page |
| `ItemList` | `/listings` and `/agents` |
| `RealEstateAgent` | `/agents`, and as the seller on each listing |
| `SoftwareSourceCode` | `/built-with` |
| `FAQPage` | Homepage |
| `BreadcrumbList` + `WebSite` | Every page |

**AEO.** The FAQ answers are plain strings used for both the rendered page and the
`FAQPage` JSON-LD, so a crawler and a visitor can never be told different things.
[`public/llms.txt`](public/llms.txt) states plainly that the listings are fictional,
explains the EMI formula, and lists the structured data the site publishes.

## Accessibility

Verified, not asserted:

- **Zero axe violations** (WCAG 2.1 A and AA) across five pages in both themes
- One `h1` per page; headings keep a correct outline via `level` / `size` separation
- Every image has meaningful `alt` text derived from the frame and the property
- Touch targets meet the 24px minimum (WCAG 2.5.8), including the sliders
- Visible focus rings; `prefers-reduced-motion` respected throughout
- Charts publish a real `<table>` of their numbers for screen readers
- No horizontal scrolling at any width from 320px up

## Components used

**47 components and 2 charts**, all from `@the_viveksingh/vivek-ui`. The
[`/built-with`](https://nestfind.vivekkumarsingh.in/built-with) page maps every one of
them to the section it builds, each linked to its documentation.

```bash
npm i @the_viveksingh/vivek-ui
```

[Docs](https://ui.vivekkumarsingh.in/docs?utm_source=vivekui-template&utm_campaign=realestate&utm_medium=readme)
· [npm](https://www.npmjs.com/package/@the_viveksingh/vivek-ui)
· [GitHub](https://github.com/intellectwithvivek/vivek_UI)
· [Vivek Kumar Singh](https://vivekkumarsingh.in/?utm_source=vivekui-template&utm_campaign=realestate&utm_medium=readme)

## FAQ

**Are the listings real?**
No. Every property, price, agent, rating and review is invented. This is a template.

**Can I use this commercially?**
Yes. MIT licensed, free for any use. The footer credit is removable.

**Do I have to use VivekUI?**
To use this template as-is, yes — it is the whole point of the project. It is one
dependency with zero runtime dependencies of its own.

**Where do the images come from?**
Unsplash and i.pravatar.cc, referenced by URL and allow-listed in
[`next.config.ts`](next.config.ts). Swap the `remotePatterns` for your own CDN.

**Why is `/listings` server-rendered when everything else is static?**
It reads `searchParams` so the homepage search can hand it a locality and a budget.
Everything else, including all 18 listing pages, is prerendered at build time.

## Contributing

Issues and pull requests are welcome — bug reports especially. If you build something
with this, a link back is appreciated but not required.

## Licence

[MIT](LICENSE) © 2026 Vivek Kumar Singh. Free forever, for any use, commercial
included.

A ⭐ on [VivekUI](https://github.com/intellectwithvivek/vivek_UI) is appreciated if the
component library saved you time.

---

<div align="center">

**[Live demo](https://nestfind.vivekkumarsingh.in)** ·
**[Clone this template](https://github.com/intellectwithvivek/NestFind)** ·
**[Built with VivekUI](https://nestfind.vivekkumarsingh.in/built-with)**

*Every property, price, agent and review on this site is fictional.*

</div>
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.