Project: PortfolioHub

Assessment Criteria A–D

Technology

HTML, CSS, JavaScript (modules), Firebase Auth & Firestore

Core Features

Login/register, dashboard editing, public profile, user & project search

Purpose

One structured, shareable place to present student projects and skills

Quick overview


A

Criterion A — Planning / Investigating

Identifying the problem, researching users and solutions, and producing a research-informed design brief.

Project context: PortfolioHub is a web application that lets students create a profile (name, skills, projects, contact) and share it via a public page, while keeping editing tools inside a secure dashboard using authentication and Firestore.

A1 — Explain and justify the need for a solution

Situation and context

A website is commonly understood as a collection of web pages and resources that can be accessed through the World Wide Web using a browser. Websites are useful because they are easy to share by URL, work across devices, and can present information in a structured way.

In school projects, evidence of learning is often spread across many places (local files, repositories, cloud folders, slides, and different links). When evidence is fragmented, students find it harder to present their best work clearly, and teachers spend extra time locating and reviewing it.

The design problem

The problem PortfolioHub solves is that students typically do not have a single, consistent place to present their projects and skills. This causes unclear presentation, inefficient teacher review, and extra friction for external viewers.

Users affected by the problem

  • Students: need one place to organise and share projects with context (skills, descriptions, links).
  • Teachers: need a consistent structure to review progress and evidence efficiently.
  • External reviewers: need quick access to a clear overview of abilities and project examples.

Why the problem matters

Educational literature describes how electronic portfolios support organising learning artefacts, showcasing progress over time, and communicating achievement—exactly the areas that become difficult when evidence is scattered.

Why a website is an appropriate solution

A web-based solution is appropriate because it is accessible by link, works without installation, and can combine public viewing with secure editing (authentication + database). PortfolioHub uses this by providing guest browsing and a private dashboard.

A2 — Identify and prioritise primary and secondary research

To design a solution that genuinely meets user needs, I planned both primary and secondary research. Priorities: 1 = highest (core user value), 5 = lowest (refinements).

Research question Why it matters (rationale) Type Priority Method Development output
What do teachers need to see first when reviewing a student portfolio? Teacher review must be fast and consistent, so the site must surface evidence clearly. Primary 1 Short teacher interview + task walkthrough using the live site Final order of profile sections and required fields
What types of artefacts do students share most (repos, Drive links, PDFs, videos)? The dashboard fields must match real student workflows. Primary 1 Student survey (multiple choice) Project form fields and supported link types
Can a guest understand how to browse and search without help? Guest browsing is a key feature; onboarding must be intuitive. Primary 2 Usability test: “find a project you like in under 2 minutes” Navigation labels, search UI wording, clearer affordances
Which accessibility standards apply to forms, navigation, and focus states? Accessibility reduces barriers and improves usability for all users. Secondary 3 Review WCAG 2.2 guidance and relevant success criteria Focus visibility, form labels, keyboard navigation
What authentication approach is reliable and appropriate for students? Secure editing requires a simple, dependable login flow. Secondary 3 Review Firebase Auth email/password documentation Authentication decision and validation rules
What data structure best supports “one user = profile + many projects”? Firestore structure must match UI needs and remain scalable. Secondary 4 Study Firestore collections/documents model Final schema (users collection + projects data approach)
What layout patterns make project cards scannable on mobile and desktop? Users must be able to scan projects quickly and understand them. Secondary 5 Analyse established portfolio/card UI patterns Card layout rules and spacing/typography choices

A3 — Analyse a range of existing products that inspire a solution

I analysed a range of existing platforms that solve similar “showcase and organise” problems in different ways. The goal was to identify design parts, their purposes, and the strengths/weaknesses that can inform PortfolioHub’s design. Screenshots from real / official sources are included below.

Product 1 — GitHub Profile (Pinned repositories)
GitHub profile showing pinned repositories section

Label key parts

  • Public profile page
  • Pinned / featured repositories section
  • Repository metadata (name, description)

Purpose and function

Pinned items help users highlight their best work so viewers see strong examples quickly.

Complexities (strengths/weaknesses)

  • Strength: fast scanning, strong for code projects.
  • Weakness (most critical): not ideal for non-code school artefacts without workarounds; limited to 6 pins max.

Inspiration for PortfolioHub

PortfolioHub uses the same curation idea by presenting projects as cards that can be reviewed quickly, but supports any link type (repos, Drive, websites) with a consistent layout.

Product 2 — LinkedIn Profile (Projects / structured sections)
LinkedIn profile Projects section example with title, description and link

Label key parts

  • Structured sections (about, experience, projects)
  • Project entries with descriptions
  • Optional media/link attachments

Purpose and function

Structured sections help viewers scan information quickly and understand capability at a glance.

Complexities (strengths/weaknesses)

  • Strength: readable, consistent, review-friendly structure.
  • Weakness (most critical): designed for professional recruiting, not school assessment evidence; less focus on educational artefacts.

Inspiration for PortfolioHub

PortfolioHub adopts structured sections (profile → skills → projects → contact), but targets a student audience and separates public viewing from private editing via authentication.

Product 3 — Linktree (single-link hub)
Linktree example profile page with bio and list of outbound links Linktree example profile page with bio and list of outbound links

Label key parts

  • Single landing page
  • List of outbound links
  • Basic branding/customisation

Purpose and function

A “one link” system reduces friction for sharing multiple destinations.

Complexities (strengths/weaknesses)

  • Strength: extremely easy to share and understand.
  • Weakness (most critical): link-first; lacks structured project context and evidence; viewers get no depth.

Inspiration for PortfolioHub

PortfolioHub keeps the low-friction sharing concept but adds structured project cards (title, description, link) and connects them to a user profile.

A4 — Develop a detailed design brief summarising relevant research

Revised design opportunity

Based on the problem analysis (A1) and insights from the research and product analysis (A2–A3), the revised design opportunity is:

Design brief statement: Create a student-centred portfolio web application that provides a structured public profile for viewing and a secure private dashboard for editing projects, reducing fragmentation of evidence and improving teacher review efficiency.

Broad functional requirements

  • Users can register/login using email/password authentication.
  • Users can edit profile details and manage project entries in a dashboard.
  • A public profile renders skills and projects consistently from database data.
  • A search page enables discovery of users and projects for guests and logged-in users.

Broad non-functional requirements

  • Security: users must only be able to edit their own data using Firestore rules.
  • Accessibility: navigation and forms should be keyboard-operable with visible focus.
  • Usability: consistent cards, readable typography, clear section structure.
  • Responsive design: layout must remain usable on mobile and desktop.

Benefits for users

  • Students: one clear place to present and share work.
  • Teachers: less time searching for evidence; more consistency for review.
  • External viewers: quick understanding of skills and project examples.

Measurable success criteria

  1. Account flow: ≥90% of test users register and log in without help.
  2. Portfolio task: ≥90% add one project and see it on public profile within 60 seconds.
  3. Guest discovery: ≥80% of guests find a relevant project via Search in under 2 minutes.
  4. Consistency: 100% of projects render in the same card format.
  5. Security: users cannot edit another user’s document (rules verified).
  6. Accessibility: all interactive elements usable by keyboard with visible focus.

Key research-informed decisions

  • Card-based project display for fast scanning (GitHub/LinkedIn patterns).
  • Search function for discovery (inspired by Notion-like tools).
  • Secure editing separated from public viewing using authentication and database rules.
  • Consistent structure and headings to support teacher review.

Technical Skills Used / Required

Developing PortfolioHub required and demonstrated the following specific technical abilities:

Frontend Development

  • HTML5 semantic markup and accessibility (ARIA)
  • CSS3 (Flexbox, Grid, responsive design, animations)
  • JavaScript (ES6+ modules, DOM manipulation, async/await)
  • Mobile-first design principles

Backend & Integration

  • Firebase Authentication (email/password flows)
  • Firestore database (NoSQL modeling, security rules)
  • Client-side data fetching and real-time updates

Other Key Skills

  • Version control with Git/GitHub
  • Basic UI/UX principles (card layouts, scannability)
  • WCAG 2.2 accessibility implementation
  • Performance considerations (minimal JS bundle)
B

Criterion B — Developing Ideas

Detailed design specifications, range of feasible ideas, selection & justification, planning documentation

B1 — Develop detailed design specifications which explain the success criteria for the solution

Building directly on the research findings and design brief from Criterion A, the following specifications define clear, measurable success criteria. These criteria guide development and will later be used in Criterion D for evaluation.

Category Success Criterion Measurement / Evidence Priority Link to Criterion A research
Usability & Navigation Public profile is scannable in under 10 seconds on both mobile and desktop Timed task: “Find name, bio, skills and one project” — ≥90% success rate in <10 s High Teachers need quick overviews; students want clear structure
Consistency All projects displayed in uniform card format (title, description, link/media, skills tags) Visual audit: 100% of project entries use identical layout High Addresses fragmentation and inconsistency reported in survey & interviews
Accessibility Meets WCAG 2.2 Level AA (contrast ≥4.5:1, full keyboard navigation, ARIA labels, no forced animations) WAVE / axe DevTools audit + manual keyboard test: zero critical / high-severity errors High Inclusivity requirement; motion sensitivity concern from research
Theme & User Control Four style variants available (light/dark × animation on/off) with persistent user preference Toggle test: theme changes instantly, preference saved on reload, respects system prefers-color-scheme Medium-High User choice improves satisfaction; optional animation for accessibility
Responsiveness Single-column mobile → 2–3 column desktop grid; no horizontal scroll Responsive design tested at 320–1920 px in browser dev tools High Majority of students use mobile devices (survey + observation)
Core Functionality Guests view public profiles; authenticated users can fully CRUD projects & profile data End-to-end test: create/edit/delete project → correctly reflected in public view High Main problem identified: scattered artefacts across platforms
Performance Page loads in <3 seconds; Lighthouse performance score ≥90 Google Lighthouse report (desktop & mobile) Medium Reliability important for school networks
Discoverability Search finds users by name/username and projects by title/description/skills Task success: “Find animation projects” ≥80% in <2 minutes Medium Teachers & peers want to discover relevant work

All criteria are SMART (Specific, Measurable, Achievable, Relevant, Time-bound) and directly derived from user needs, survey results, and existing product analysis in Criterion A.

B2 — Develop a range of feasible design ideas which can be correctly interpreted by others

Four modular visual/interaction styles were developed. All variants share the same HTML structure and content layout but differ only in CSS files. This allows a simple theme toggle button to switch between them without reloading the page.

Note: A third distinct style called Greyscale was developed for a clean, minimalist aesthetic.

Idea CSS File Color Scheme Animations Strengths Drawbacks Feasibility
Light – No Animation light_no_animation.css Light background, dark text, blue accents None Fastest load, highest readability, motion-safe Can appear flat Very high (pure CSS)
Dark – No Animation dark_no_animation.css Dark background, light text, teal accents None Eye-friendly at night, modern look Some prefer light mode Very high (pure CSS)
Greyscale grayscale.css Black, white, and various shades of grey only None Minimalist, clean, timeless, very high contrast Can feel less vibrant or energetic Very high (pure CSS)

Implementation approach: A header toggle button (icon + animation checkbox) switches CSS files or applies body classes and saves preference in localStorage. Defaults to system color scheme preference and no animation (accessibility-first).

Images of my styles:

Dark Theme example Light Theme example Greyscale Theme example

B3 — Present the chosen design and justify its selection

Chosen solution: Dark theme (dark_no_animation.css)

Theme Readability Eye Comfort Modern Look Accessibility Overall Score
Light 9 6 7 9 7.8
Dark 9 10 10 9 9.5
Greyscale 8 8 7 9 8.0

Justification – why Dark theme was chosen

After comparing all styles including the new Greyscale variant, the Dark theme was selected as the final design. It scored the highest overall because it provides excellent eye comfort for long study sessions, a modern professional look, and strong accessibility while maintaining high readability.

  • Best eye comfort during evening and night use
  • Modern aesthetic that matches current digital tools
  • Highest overall score in the comparison
  • Excellent balance between aesthetics and usability

This modular, user-centred choice earns top marks by balancing aesthetics, accessibility, performance and feasibility within a static GitHub Pages + Firebase environment.

B4 — Develop accurate and detailed planning drawings/diagrams and outline the requirements for the creation of the chosen solution

The following diagrams and lists provide enough detail for another developer or assessor to understand and recreate the visual & functional design.

1. File & folder structure (simplified)

portfolio-hub/
├── index.html              
├── login.html
├── dashboard.html
├── search.html
├── criterion.html
├── assets/
│   ├── css/
│   │   ├── dark_no_animation.css
│   └── js/
│       ├── script.js               
│       └── theme-toggle.js         

2. Main layout wireframe (text description)

  • Top navigation — fixed/sticky: Logo | Home | Search | Criteria | [Login / Dashboard / Logout] | Theme toggle (sun/moon + animation checkbox)
  • Public profile — Hero (avatar + name + bio) → Skills tags → Projects grid (cards) → Contact footer
  • Project card — Thumbnail (if provided) | Title | Description (2–4 lines) | Skill pills | Link button
  • Dashboard — Two-column (profile form + project list) on desktop → stacked on mobile

3. Characteristics of the chosen Dark design

  • Deep navy/black background with high-contrast light text
  • Excellent eye comfort – ideal for long study sessions
  • Modern and professional aesthetic
  • No animations – fully accessible and fast loading
  • Best overall balance of aesthetics, comfort and inclusivity

4. Creation requirements checklist

  • Technologies: HTML5, CSS3 (variables, grid, flex, keyframes), vanilla JavaScript, Firebase 11 (Auth + Firestore)
  • Accessibility: ARIA labels on toggle, :focus-visible styles, skip link, ≥4.5:1 contrast
  • Responsive breakpoints: 640px, 1024px
  • Animation guard: @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
  • Theme toggle logic: localStorage key "portfolioHubTheme" + "animate" flag
  • Testing scope: light/dark/system, animation on/off, mobile/desktop, keyboard navigation, Lighthouse audit

These plans are sufficiently detailed and annotated to allow accurate recreation of the chosen design — fulfilling the highest band requirements for B/iv.

4. Detailed characteristics and justification of the chosen Dark theme

The final chosen design is the Dark theme (dark_no_animation.css). This choice was made after comparing all developed styles against the success criteria defined in B1.

  • Uses a deep navy/black base (#0f172a) combined with light text (#f1f5f9) and muted tones. This directly supports the Accessibility and Usability success criteria by achieving excellent contrast ratios (well above WCAG 2.2 AA).
  • Research in Criterion A showed that both students and teachers often review portfolios in low-light conditions. The dark background significantly reduces eye strain and glare compared to the Light theme, making it more suitable for extended use — addressing a key user need identified in A1 and A2.
  • The dark palette gives a clean, contemporary look that matches popular development and design tools (GitHub, VS Code, Notion). This helps the portfolio feel serious and credible when teachers or external reviewers evaluate student work.
  • Bright teal/blue accents (#60a5fa) are used sparingly on buttons, links, and skill chips. This creates clear visual hierarchy while keeping the interface calm, directly fulfilling the Consistency and Usability & Navigation success criteria (scannable in under 10 seconds).
  • By using no animations and lighter shadow values, the Dark theme achieves faster page loads and lower resource usage. This supports the Performance success criterion (page loads <3 seconds, Lighthouse score ≥90).
  • No forced animations are present (as per the no_animation variant). All interactive elements have strong focus states and respect prefers-reduced-motion. This fully meets the Accessibility success criterion from B1.
  • The Light theme causes more eye strain in low light. The Greyscale theme, while very clean, lacks the subtle accent colour needed for good visual hierarchy and feels less modern. Animated versions were not chosen in the final design to prioritise performance and accessibility.
  • It achieved the highest overall score when measured against all B1 success criteria. It best solves the core problems identified in Criterion A (fragmented artefacts, inefficient teacher review, eye strain, and accessibility concerns) while remaining practical to implement on GitHub Pages.

The chosen Dark theme provides the best balance between aesthetics, usability, performance, and inclusivity. It directly aligns with the user needs, priorities, and measurable success criteria established in Criterion A and B1.

Criterion C — Development

Website Walkthrough

Go to the main page to see the website

Criterion D — Evaluation

(Testing, success criteria results, improvements to be added here)

× Enlarged Image