Sky-blue and paper-texture visual system, including drifting clouds, blue gradients, warm orange details, and grain texture
Portfolio-Template-20 — Rails Portfolio Template
By Muhammad112233-creator
A static creative studio portfolio template with a sky-blue and paper-texture visual base, featuring horizontal project rails, a pricing switcher, and a small Matter.js physics interaction, written in vanilla HTML/CSS/JS.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Horizontal rails for projects and services, supporting touch scrolling, mouse dragging, and arrow controls
Pricing plan switcher that updates sample prices, inclusions, and button copy without refreshing
Built-in Matter.js physics mini-interaction, with the library loaded locally and able to run offline
Detail interactions such as custom cursor, scroll ruler, scroll reveal, magnetic buttons, case popups, and accordion
Local fonts, images, and favicon, with no remote font or image requests at runtime
Template Details
This template is aimed at creative studios or personal portfolio showcases, with page structure covering long-page sections such as hero, selected works, studio introduction, process, services, comparison, testimonials, contact, pricing, FAQ, and footer. Visually, it uses sky-blue gradients, warm orange accents, drifting clouds, and grain texture, along with interactions including a custom cursor, scroll ruler, scroll reveal, magnetic buttons, carousel, case popups, and accordion. Projects and services are presented in horizontal rails that support touch scrolling and mouse dragging; the pricing area provides plan switching that updates sample prices, inclusions, and button copy without refreshing the page. The template also includes a Matter.js-based physics mini-game area, with the library file loaded locally.
Technically, this is a hand-written static site with no package manager or build step; you can preview it by opening index.html directly in a browser, or publish it via any static hosting service. The source separates HTML, CSS, and JavaScript into index.html, styles.css, and script.js for easier editing. Fonts, images, favicon, and Matter.js are all stored locally in the assets directory, and no remote fonts or images are requested at runtime. The sample studio, project names, prices, reviews, and contact details in the README are fictional demo content and must be replaced with real information before publishing.
For accessibility, navigation, carousel, pricing, and FAQ controls support keyboard operation, the custom cursor is limited to fine-pointer devices, motion responds to prefers-reduced-motion, images have alt text, popups can be closed, and the page includes skip links. The template code is MIT licensed, and Matter.js is also MIT with its upstream license header retained; local font files come from Google Fonts under the SIL Open Font License, and sample photos come from Pexels / Vecteezy, with specific licensing notes in THIRD_PARTY.md.
Is it right for your project?
Use Cases
- Creative studios or design teams showcasing brand stories, service offerings, and selected cases
- Freelancers building a personal portfolio to present project process, pricing plans, and contact details
- Lightweight portfolio pages that need static hosting and no build step
- Showcase websites that want to enhance the browsing experience with interaction details and motion
Suitable For
- Creative studios, design agencies, or independent designers
- Developers who prefer vanilla HTML/CSS/JS and static hosting
- Portfolio projects that need to go live quickly after replacing copy and images
- Scenarios that want to keep local assets and avoid remote font and image requests
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
No dependencies or build commands are required; you can preview by opening index.html directly, or run python3 -m http.server 8000 to start a local static server
- 2
Replace the sample studio name, copy, project names, services, prices, and contact details in index.html, script.js, and styles.css
- 3
Place images in assets/images/ and update the relative paths in index.html, noting that GitHub uploads have a 25 MiB per-file limit
- 4
Main color variables are in the :root of styles.css; you can first modify variables such as --sky, --blue, --orange, --ink, and --paper
- 5
The live clock defaults to the Asia/Karachi timezone; you can replace it in script.js with another IANA timezone name and update the LAHORE / PKT labels on the page accordingly
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code for that version and does not mean external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercialize, and distribute the code for 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
- 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 domains, hosting, databases, payments, or AI may incur separate charges.
- The README clearly states that the sample studio, project names, prices, reviews, and contact details are fictional demo content and must be replaced with real information before publishing.
- Sample photos come from Pexels / Vecteezy and must be used according to the licensing notes in THIRD_PARTY.md; if your use requires it, replace or relicense them, and do not imply they are original client work.
- The live clock defaults to the Asia/Karachi timezone; for other timezones, replace it in script.js with the corresponding IANA timezone name and update the LAHORE / PKT labels on the page accordingly.
- When replacing images, keep paths lowercase and relative, otherwise the page may not load images correctly.
- When uploading images via the GitHub web interface, each file must not exceed 25 MiB; larger photos need to be compressed before adding.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Replace them with your own before publishing.
Original README
Replace or re-license the sample photos if your use case requires it; don't imply that they are original client work.
Original README
The live clock is currently set to `Asia/Karachi` in `script.js`.
Original README
Keep image paths lowercase and relative.
Original README
https://github.com/Muhammad112233-creator/Portfolio-Template-20/blob/main/LICENSEhttps://github.com/Muhammad112233-creator/Portfolio-Template-20/blob/main/README.mdthe GitHub browser uploader has a **25 MiB per-file limit**
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-10. 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 · 85 / 100
- Technologies
- Rails · HTML
- Website type
- Portfolio
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-10-10
- Screenshot last checked
- 2026-10-10
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 Rails 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: [email protected] · 2026-10-11
Inspect the recorded source material
SHA-256: aba6b40d2a88fa6dd01f7c73f11214049df766c6514b660e780c504a45b16875
2026-10-10T19:37:18.654Z
Source file / repository<p align="center"> <img src="assets/readme-banner.gif" alt="Goodfield Studio — a little more heart in your browser" width="100%"> </p> <p align="center"> <strong>A human-sized portfolio for a human-sized creative studio.</strong><br> Brand stories, useful websites, tiny details, and a few things that move when you poke them. </p> <p align="center"> <code>HTML</code> · <code>CSS</code> · <code>Vanilla JavaScript</code> · <code>Matter.js</code> </p> <p align="center"> <a href="#make-it-yours">Make it yours</a> · <a href="THIRD_PARTY.md">Asset credits</a> </p> <img src="assets/rainbow-rule.gif" width="100%" alt="Animated rainbow divider"> ## A note before you scroll Goodfield is a **fictional demo studio** created to show how this template can feel when it is filled in. Project names, results, prices, testimonials, location and contact details are sample content—not real client claims. Replace them with your own before publishing. This is a deliberately simple static site. There is no framework to install, no build command to remember, and no mystery folder full of generated files. Open `index.html`, edit the parts that sound like you, and make it your own. <img src="assets/rainbow-rule.gif" width="100%" alt="Animated rainbow divider"> ## What's inside | A little feature | What it does | | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | Sky-and-paper visual system | Drifting clouds, blue gradients, warm orange details, soft grain and measured little labels. | | Long-form studio story | Hero, selected work, studio bento, process, services, comparison, proof, contact, pricing, FAQ, playful corner and footer. | | Tiny interactions | Custom cursor on desktop, live Lahore clock, scroll ruler, reveal-on-scroll, magnetic buttons, carousels, modal case notes and accordions. | | Horizontal project & service rails | Touch-friendly scrolling, mouse-drag support for projects, arrow controls and service pagination. | | Choose-a-plan switch | Updates example price, inclusions, button subject and selected state without reloading. | | Matter.js playground | Tap the orange button and let a few little shapes tumble around. The library is included locally. | | Mobile-friendly layout | Navigation becomes a menu, cards stack cleanly, touch scrolling stays native. | | Self-contained assets | Local font files, local photos, favicon, and no remote font or image requests. | | Animated README | The rainbow banner and section rules are local GIFs, so they travel with the repository. | <img src="assets/rainbow-rule.gif" width="100%" alt="Animated rainbow divider"> ## Preview it ### Right here, in the repository 1. Open `index.html` in your browser for a quick look. 2. For the most reliable local preview, run a tiny static server from this folder: ```bash python3 -m http.server 8000 ``` On Windows, `py -m http.server 8000` works if Python is installed. 3. Visit **[http://localhost:8000](http://localhost:8000)**. 4. Stop the server with `Ctrl + C` in the terminal. There is no `npm install` step. If you use VS Code, the **Live Server** extension is another easy way to preview the page. <img src="assets/rainbow-rule.gif" width="100%" alt="Animated rainbow divider"> ## Make it yours ### 1. Change the studio name, story and links Search the project for `Goodfield`, `GOODFIELD` and `[email protected]`. Update: - `index.html` — visible copy, section headings, project names, services, contact links and footer. - `script.js` — the content behind project/service dialogs, sample notes, example plan prices, the Lahore timezone and interactive states. - `styles.css` — colors, spacing, type sizes, cloud movement, card treatments and breakpoints. Quick tip: use your editor's **Find in Files** to replace the email address consistently. ### 2. Replace the pictures Put your images in `assets/images/`, then update the relative paths in `index.html`. The supplied files are: ```text assets/images/coffee.webp assets/images/skincare.webp assets/images/architecture.webp ``` Keep image paths lowercase and relative. Compress large photos before adding them; the GitHub browser uploader has a **25 MiB per-file limit**. See the official [GitHub upload guidance](https://docs.github.com/en/repositories/working-with-files/managing-files/adding-a-file-to-a-repository). ### 3. Replace sample claims before launch The displayed stats, quotes, project outcomes and prices are examples. Make sure every claim on your live portfolio is yours, approved for use, and accurate. For case studies, a clear “concept project” label is better than implying a client relationship that did not happen. ### 4. Tune the palette The main colors live near the top of `styles.css` in `:root`: ```css --sky: #5eaeea; --blue: #0d99ff; --orange: #ee5a28; --ink: #172631; --paper: #fffefa; ``` Change the variables first; most components use them. ### 5. Change the clock's timezone (optional) The live clock is currently set to `Asia/Karachi` in `script.js`. Replace that timezone with an [IANA time-zone name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) and update the visible `LAHORE` / `PKT` labels in `index.html` to suit your studio. <img src="assets/rainbow-rule.gif" width="100%" alt="Animated rainbow divider"> ## Stack & structure **The original reference is a hand-authored static page**, not a React/Next/Webflow export. Its source exposes HTML, a large inline stylesheet, native browser JavaScript and Matter.js for the physics interaction. This remake keeps that lightweight approach but separates the files so they are easier to edit and publish. ```text goodfield-studio-portfolio-template/ ├── index.html # all page sections and editable copy ├── styles.css # responsive design, motion and color system ├── script.js # carousels, dialogs, pricing, clocks and interactions ├── README.md # this animated project overview ├── THIRD_PARTY.md # font, photo and library notes ├── LICENSE # MIT for the template code ├── .gitignore # common editor / OS / build exclusions └── assets/ ├── favicon.svg ├── fonts/ # local WOFF2 files; no runtime font request ├── images/ # local project imagery ├── readme-banner.gif # animated README header ├── rainbow-rule.gif # animated README section divider └── vendor/matter.min.js # Matter.js 0.19.0, local/offline ``` No package manager or build step is required. The page can be served from any static host, including GitHub Pages. <img src="assets/rainbow-rule.gif" width="100%" alt="Animated rainbow divider"> <img src="assets/rainbow-rule.gif" width="100%" alt="Animated rainbow divider"> ## Accessibility & motion - Navigation, carousels, pricing and FAQ controls are keyboard-operable. - The custom cursor is limited to fine pointers; native touch behavior stays intact. - Motion responds to `prefers-reduced-motion`. - Images have alt text, controls have labels, dialogs can be dismissed, and the page includes a skip link. <img src="assets/rainbow-rule.gif" width="100%" alt="Animated rainbow divider"> ## Credits & license - Template code: **MIT** — see [`LICENSE`](LICENSE). - Matter.js: **MIT**, included locally with its upstream license header. - Local font files: Google Fonts families under the **SIL Open Font License**; details and links in [`THIRD_PARTY.md`](THIRD_PARTY.md). - Supplied sample photographs: Pexels / Vecteezy sources and license notes in [`THIRD_PARTY.md`](THIRD_PARTY.md). - Replace or re-license the sample photos if your use case requires it; don't imply that they are original client work. <p align="center"> <strong>Made slowly enough to get the small things right.</strong><br> <sub>Now go make it sound like you.</sub> </p> <p align="center"> ## 🌟 Support the Project If you find this template useful, please consider giving it a star! It helps others discover the repository and supports future development. </div>
Explore similar templates
Compare previews and descriptions within the same stack and category.

Portfolio-Template-12
A Netflix-style developer portfolio template built with React, Vite, Tailwind CSS, GSAP and Framer Motion.
Rails · Portfolio

al-folio
A Jekyll academic homepage theme for scholars and researchers, with a clean responsive design and out-of-the-box support for publication lists, project showcases, CVs, and blogs.
Jekyll · Portfolio

simplefolio
Simplefolio is a minimal single-page portfolio template for developers, built with HTML, Bootstrap, SCSS, and Parcel under the MIT license. It includes Hero, About, Projects, Contact, and Footer sections, with content edited in /src/index.html and theme colors controlled by two SCSS variables.
HTML · Portfolio

Beautiful Jekyll
Beautiful Jekyll is a mature, easy-to-use Jekyll blog theme maintained by Dean Attali since 2015, with over 50,000 users.
Jekyll · Blog

Freelancer
A bright, single-page Bootstrap portfolio template for freelancers, designers, and small studios. It includes a responsive portfolio grid with modal detail windows and an SB Forms contact form that requires an API token.
HTML · Portfolio

Resume
A single-page resume and CV template from Start Bootstrap, built on Bootstrap with a fixed sidebar and content sections.
HTML · Portfolio
