About this template
Community Bank Website is a single-page site for a local community bank, in deep evergreen, brass gold and paper white with a refined serif — money-site gravitas that earns trust by being calm, not by shouting badges. Two working financial tools carry the page: a loan calculator with its amortization chart drawn in code (amount, rate, term → monthly payment, principal/interest split, cumulative-interest curve that redraws live), and a CD ladder builder that spreads a deposit across four rungs and shows each rung's APY, maturity value, the blended rate and the year-by-year maturing schedule. Around them: a sample rates table with an honest as-of note, personal/business/lending sections, a stylized SVG branch-and-ATM map with hours and filters, an interactive switch-to-us checklist, and a security center with plain fraud tips. The template never names real institutions, never claims deposit insurance, and labels every rate as sample data. It suits community banks, credit unions and local lenders, and adapts to investment advisors by re-pointing the tools. Five variables swap bank name, town, president, phone and age; rates, branches and ATMs are invented sample data in one content file.
The template prompt
The live demo was built from exactly this text — nothing added.
# Community Bank Website
Build this website exactly as described below. Replace the [VARIABLES] with your own values; keep everything else.
## Brief
Build a one-page site for [BRAND], the community bank serving [CITY] for [EXPERIENCE], led by president [FOUNDER]. The page presents personal, business and lending services around two working tools: a loan calculator with a code-drawn amortization chart, and a CD ladder builder with a blended-rate and maturity schedule. A sample rates table, a stylized branch-and-ATM map with hours, a switch-to-us checklist and a security center complete the page. Rates are sample data with an as-of note; the site never names real institutions, never claims deposit insurance, and never offers financial advice. All branches, ATMs and figures are invented.
- Audience: Primary: households and small businesses around [CITY] choosing between a local institution and a megabank app — people who want better rates visible, a branch they can walk into, and no dark-pattern account openings. Secondary: credit unions and local lenders adapting the tools.
- Goal: Move a visitor from 'is the local bank actually competitive' to a started conversation: show the numbers first (rates and tools with visible math), prove the branches exist, make switching feel like five checklist items, then offer the short contact form.
- Tone: Plain, unhurried banker's English — explains numbers the way a good branch manager would across a desk. Informative, never advice; confident, never sales-y.
## Stack
- Framework: Vite 6 + React 18 + TypeScript
- Styling: Tailwind CSS 3.4
- Libraries: react (MIT), react-dom (MIT), vite (MIT), typescript (Apache-2.0), tailwindcss (MIT), motion (MIT), lucide-react (ISC), @fontsource/lora (OFL-1.1), @fontsource/public-sans (OFL-1.1)
- Build: `npm run build` → static files in `dist/`. No backend, no server code, no external APIs.
- Setup:
- Create a Vite 6 + React 18 + TypeScript project with base './', build.outDir 'dist', build.sourcemap: false. No router, no backend, no server code.
- Install Tailwind CSS 3.4 with PostCSS and Autoprefixer. Extend the theme with the exact palette below, fontFamily.display 'Lora' and fontFamily.body 'Public Sans'.
- Self-host Lora weights 600 and 700 and Public Sans weights 400, 500, 600, 700 through @fontsource/lora and @fontsource/public-sans, imported in src/main.tsx. Never load fonts from a CDN.
- Use Motion from 'motion/react' (motion, useInView, useReducedMotion) for reveals and number tweens; gate every animation on useReducedMotion().
- Keep all copy and data in src/content.ts: brand strings, hero copy, services, rates table rows (product, term, APY, note), calculator defaults, CD rung rates, branches and ATMs with hours, checklist steps, security tips, stats, form options. When variable values change, rewrite the dependent copy there and derive storage keys and the tel: link from [BRAND] and [PHONE] so no default-brand remnants remain.
- Loan calculator math, exactly: monthly = P × r(1+r)^n ÷ ((1+r)^n − 1) with r = rate ÷ 1200, n = term months; controls: amount slider $5,000–$600,000 (default $320,000 mortgage-style), rate slider 3.0%–9.0% step 0.05 (default 6.40%), term chips 120 / 180 / 240 / 360 months (default 360); outputs: monthly payment, total interest, total paid, all rounded to whole dollars; the chart is a hand-rolled SVG of two series over time — remaining balance line and cumulative-interest area — recomputed at 24 evenly spaced points, redrawn with a 250ms transition; footnote 'Sample math, not an offer.'
- CD ladder builder math, exactly: deposit input $5,000–$500,000 step $1,000 (default $25,000) split evenly across four rungs — 12-month 4.00% APY, 24-month 3.85%, 36-month 3.70%, 60-month 3.55%; each rung's maturity value = share × (1 + APY ÷ 12) ^ months; blended APY = average of rung APYs weighted by share (equal shares → simple average); outputs: blended APY, each rung's row (term, APY, share, maturity value), total value if all four run through their terms, and a schedule note 'a rung matures every 12 months — roll each into a new 60-month CD to keep the ladder walking'; persist inputs to localStorage under [BRAND_SLUG]-ladder.
- Draw the branch map as a stylized inline SVG on a paper panel: a simplified street grid, a river curve, three brass branch markers (evergreen pins with brass cores) labeled with branch names, six gold ATM dots; filter chips (All / Branches / ATMs only) toggle marker visibility; each branch's hours sit in a list beside the map; a sample note 'Hours shown for this demo — holiday hours post in-branch.' No real map tiles, no real geography.
- The switch-to-us checklist is interactive: five items ('Open your [BRAND] account online or in-branch — 15 minutes', 'Move your direct deposit (we give your payroll department the form)', 'Point your bill-pay and auto-pays at the new account', 'Let checks and card charges clear for two weeks', 'Close the old account and ask for a written confirmation'), checkboxes persist to localStorage under [BRAND_SLUG]-switch with a '3 of 5' progress chip.
- Use only these lucide-react icons: Phone, Landmark, PiggyBank, Briefcase, Home, Car, ShieldCheck, Lock, AlertTriangle, CheckCircle2, MapPin, Clock, ChevronRight, ArrowRight, Menu, X, Calculator, TrendingUp, Users, FileCheck.
- Persist the ladder inputs, checklist state and the contact form to localStorage, namespaced with [BRAND_SLUG]; validate restored JSON and recover silently from malformed data.
- Download the five generated photos to the exact public paths listed in Assets before building. Create ASSETS.md at the project root listing every file's path, source URL, author or generator, and license.
- A plain <title> of [BRAND] and a favicon (the evergreen square with a brass coin mark) are enough; no meta descriptions, Open Graph tags, JSON-LD, or sitemaps.
## Variables
- [BRAND] — Bank name (default: "Almstead Community Bank"). Invented bank name; a brass-coin logomark is derived from it in code.
- [CITY] — Town (default: "Calverton"). The bank's home town; appears in hero, branches, map labels and footer.
- [FOUNDER] — President (default: "Ellen Marchetti"). Invented bank president, named in hero and about copy.
- [PHONE] — Phone (default: "(555) 664-1000"). Branch line; links as tel: with digits only.
- [EXPERIENCE] — Years serving (default: "93 years"). Plain phrase like '93 years'; used in hero and stats copy.
- [CREDIT] — keep a small "Template by VibeFather" link to https://vibefather.ai/t/community-bank-website in the footer (default: yes; delete this line to remove it)
The copy under Pages & Sections is written for the default values. If your values differ, rewrite every headline, paragraph, label and image for them — same length, tone and structure. Layout, colors, type and motion stay as described.
Keep all copy, image paths and links in one content file (for example `src/content.ts`), keyed by section, so the content can be swapped later without touching components.Pro template. The design, sections, motion and assets parts of this prompt are for Pro members. The live demo and DESIGN.md stay free.
DESIGN.md
The design system on its own — colors, type, spacing and motion. Apply this look to a project you already have.
---
name: "Community Bank Website"
colors:
deep_evergreen: "#0F3D3E"
evergreen_deeper: "#0A2C2D"
brass_gold: "#C9A227"
brass_tint: "#F6EFD8"
paper_white: "#FBFAF6"
white: "#FFFFFF"
ink: "#1F2B2A"
steel: "#5A6967"
hairline: "#E3E1D7"
typography:
display_headlines_rates_big_numbers: { family: "Lora", weights: [600, 700] }
body_paragraphs_controls_table_cells: { family: "Public Sans", weights: [400, 500, 600, 700] }
spacing: "Sections separated by 96px desktop / 64px mobile; section headers use a 13px letter-spaced brass eyebrow over a Lora 700 title at clamp(30px, 3.4vw, 46px); cards 28px padding, 24px gaps; tables get 12px vertical cell padding."
radius: "Bank restraint: 4px on cards and chips, 2px on tables; only photos round to 6px."
---
# Community Bank Website — Design System
Apply this design system to an existing project. It describes the look and feel only; for the full site, use prompt.md.
## Colors
- **Deep evergreen** `#0F3D3E` — Header ground, dark bands, authority color
- **Evergreen deeper** `#0A2C2D` — Footer ground
- **Brass gold** `#C9A227` — Accents: rates, wordmark details, active chips, CTAs
- **Brass tint** `#F6EFD8` — Highlight panels and notes
- **Paper white** `#FBFAF6` — Page ground
- **White** `#FFFFFF` — Cards and panels
- **Ink** `#1F2B2A` — Headings and body on light
- **Steel** `#5A6967` — Secondary text; #A9B8B5 on dark
- **Hairline** `#E3E1D7` — Hairline rules and card borders
## Typography
- **Display: headlines, rates, big numbers** — Lora (OFL), weights 600/700. Self-host the font files.
- **Body: paragraphs, controls, table cells** — Public Sans (OFL), weights 400/500/600/700. Self-host the font files.
## Spacing & shape
- Spacing: Sections separated by 96px desktop / 64px mobile; section headers use a 13px letter-spaced brass eyebrow over a Lora 700 title at clamp(30px, 3.4vw, 46px); cards 28px padding, 24px gaps; tables get 12px vertical cell padding.
- Radius: Bank restraint: 4px on cards and chips, 2px on tables; only photos round to 6px.
## Motion
- Fade-rise reveals (14px, 550ms, 70ms stagger) via useInView, once.
- The calculator and ladder outputs tween 200ms on change; the amortization chart redraws with a 250ms path transition.
- Map markers pop 1.1× once on section entry, staggered 60ms; stat numbers count up over 900ms.
- All motion disables instantly under prefers-reduced-motion; no parallax, no scroll-jacking, no autoplay media.
## Imagery
Warm institutional photography from one shoot: a walnut-and-evergreen bank lobby with brass details, a teller counter close-up, a small-town main street, and two studio banker portraits (fictional people, plain suits, warm light). No readable signage, no real bank marks, no customers in close-up.
## Tone
Plain, unhurried banker's English — explains numbers the way a good branch manager would across a desk. Informative, never advice; confident, never sales-y.
---
— Prompt by VibeFather · https://vibefather.ai/t/community-bank-website · CC BY-NC 4.0 (non-commercial; commercial use needs a VibeFather Pro license) · Request removal: https://vibefather.ai/takedown
Make it yours
- A credit union in a small town: set BRAND and CITY to your field of membership, keep the loan calculator, and rewrite the personal and business sections around member-owned language.
- An independent mortgage broker: keep the loan calculator and amortization chart, swap the rates table for your loan programs, and replace the branch map with office hours and a booking form.
- A farm credit lender: point the CD ladder builder at seasonal deposit planning, retitle the rungs, and rewrite the switch checklist for agricultural accounts.
- A fee-only investment advisor: repoint the two tools at portfolio scenarios, replace the rates table with a services overview, and keep the calm serif layout.
Community Bank Website: questions and answers
How does the loan calculator on the Community Bank Website work?
The loan calculator on the Community Bank Website takes an amount from $5,000 to $600,000, a rate from 3.0% to 9.0% and a term of 120, 180, 240 or 360 months, then shows the monthly payment, total interest and total paid in whole dollars. A code-drawn chart plots the remaining balance and cumulative interest across the term and redraws as you move the sliders.
What does the CD ladder builder in the Community Bank Website show?
The CD ladder builder in the Community Bank Website splits a deposit of $5,000 to $500,000 evenly across four rungs at 12, 24, 36 and 60 months, each with its own sample APY. It shows each rung's share and maturity value, the blended APY, the total value if all four run to term, and a note that a rung matures every 12 months.
Is the branch map on the Community Bank Website a real map?
The branch map on the Community Bank Website is a stylized inline drawing, not a real map service. It shows a simplified street grid, a river curve, three branch markers with names and six ATM dots, with filter chips for All, Branches and ATMs only, plus branch hours beside it. All branches, ATMs and hours are invented sample data for the demo.
Can I use the Community Bank Website template for a credit union or a local lender?
The Community Bank Website template suits credit unions and local lenders as well as community banks, because the structure is rates, tools, branches and security rather than anything specific to a bank charter. Commercial and client use requires Pro. Change the five variables and rewrite the copy in the content file so the tools, rates table and branch list match your institution.
What should I change first in the Community Bank Website template?
Start with the five variables: set BRAND to your institution's name, CITY to your town, FOUNDER to your president, PHONE to your branch line and EXPERIENCE to your years serving. Then replace the sample rates table, branch and ATM data and calculator defaults in the content file, since the template labels every rate as sample data and names no real institution.
How do I build a community bank website with AI?
Copy the full prompt (Pro) from this page or run npx vibefather add community-bank-website, replace [CITY], [BRAND], [PHONE] and [FOUNDER] with your own content, and paste it into Claude Code, Codex, Cursor or another AI coding agent. The live demo was built from exactly that text.
Which AI model built the Community Bank Website demo?
The Community bank, Harmony Grove case was built by Kimi K3.1 Pro in Kimi Code. Each build used the published prompt with nothing added.
What tech stack and pages does the Community Bank Website template use?
Community Bank Website is a single-page site built with Tailwind CSS, Motion and React, with scroll animation and micro-interactions. The prompt fixes the stack so every AI tool builds the same kind of project, and the result runs as a static site you can host anywhere.
Is the Community Bank Website template free to use?
Community Bank Website is a Pro template: the brief, stack and variables are public, and the full prompt, the source code of the live demo and a commercial license come with VibeFather Pro. Its DESIGN.md is free for personal projects.
Does the Community Bank Website template work on mobile?
Yes. Every Community Bank Website build was tested on a phone-sized screen as well as desktop before it went live, checking layout, text size and touch targets. Open the live demo on your phone, or switch the preview on this page to mobile view, to check it yourself.