Skip to content

ManavGulati/EmpowerAble

Repository files navigation

EmpowerAble

A unified digital platform for persons with disabilities β€” to connect, learn, work, and access opportunities.

Built with React Β· Dark Premium UI Β· Accessible by design


Overview

EmpowerAble is a full-featured web application that brings together every resource a person with a disability needs in a single, beautifully designed platform. From finding jobs and government schemes to learning new skills and buying art made by disabled creators β€” EmpowerAble is built for the community, by thinking about the community first.

The UI follows a consistent dark premium design system: deep navy gradients, twinkling starfield backgrounds, glassmorphism cards, and serif editorial typography β€” consistent across every page.


Pages & Features

🏠 Home / Community β€” CommunityPage.jsx

The landing experience. Users discover disability-specific communities to join, browse featured spaces, and filter by category.

  • Hero section with massive editorial typography and live "joined" count
  • Featured Spaces β€” 3 handpicked community cards (BlindTech Builders, DeafConnect Hub, Wheelchair Warriors)
  • Community Browser β€” 12+ communities filterable by category (Visual, Hearing, Mobility, Cognitive, Mental Health, Chronic Illness) with live search
  • Marquee strip and CTA banner to create a new space
  • Join / unjoin toggle with state persistence

πŸ“š Learn β€” LearnPage.jsx

A Coursera-inspired learning marketplace rebuilt in the EmpowerAble design system.

Layout mirrors Coursera section-by-section:

Section Description
Split hero banners "Skills for every ability" + "Upskill your team inclusively"
Provider logos strip 8 disability-led organisations
New & Popular (3-col) Most Popular Β· Hot New Releases Β· Trending Now
Explore Categories 10 category pills
Horizontal scroll strip Editor's picks with β€Ή β€Ί scroll arrows
Explore Careers Accessibility Specialist, AT Consultant, Rights Advocate, etc.
2-col promo banners New courses + EmpowerAble Plus
Testimonials (4-col) Learner quotes
FAQ accordion 5 expandable questions

24 courses across Assistive Tech, Communication, Disability Rights, Mental Wellness, Career, Finance, Arts, Adaptive Fitness.


πŸŽ“ Mentorship β€” MentorshipPage.jsx

One-on-one sessions with disabled professionals. Users browse mentors, pick a slot, and book directly.

  • Hero with search bar (filter by name, skill, disability type)
  • How It Works β€” 4-step process panel with watermark step numbers
  • Mentor cards β€” avatar with live availability dot, badges, bio expand/collapse, topics, rating, session count, languages, free/paid indicator
  • Filters β€” expertise area pills + "Available now only" toggle
  • 3-step booking modal:
    1. 7-day date picker + 8 time slots (with booked slots shown as strikethrough)
    2. Name input + topic quick-pick chips + free-text goal
    3. Full confirmation summary β†’ booking confirmed screen
  • Testimonials and Become a Mentor CTA banner
  • 6 mentor profiles across Tech, Law, Arts, Sports, Psychology, Education

πŸ›οΈ Marketplace β€” MarketplacePage.jsx

Buy and commission original artworks and handcrafted goods from disabled creators. Inspired by Atypical Advantage.

Two distinct views via Explore / Shop Now tabs:

Explore tab:

  • 3 feature highlight cards
  • Split Corporate Art panel (image left, CTA right)
  • Browse Collections grid (6 categories)
  • For Corporates section (Office Interiors, Custom Commissions, Gift Collections)
  • Artist Spotlights (4 disabled artist cards)

Shop Now tab:

  • Sticky left filter sidebar β€” Price Range slider, Category radio, Size checkboxes, Color swatches, Medium checkboxes
  • Right product grid β€” 12 artworks with generative abstract thumbnails, artist name, disability tag, price, wishlist β™₯ toggle
  • Sort By dropdown (Featured / Price Lowβ†’High / Price Highβ†’Low / Newest)
  • Live filtering with result count

πŸ“° News & Schemes β€” NewsSchemesPage.jsx

Stay informed about disability-related news and know your government entitlements.

News tab (3-column newspaper layout):

  • Left β€” Latest News vertical list with category color bars
  • Centre β€” Top Story featured card with BREAKING badge + article modal on click
  • Right β€” Trending numbered list + Quick Links panel
  • Sub-category filter strip (Policy & Rights / Technology / Sports / Welfare / Education / Health)
  • 9 realistic news stories with full article modal

Schemes tab (2-column directory):

  • 8 government schemes: UDID, NHFDC Loans, Top Class Education Scholarship, DISHA Housing, ADIP Devices, Disability Pension, Rail & Air Concessions, NAPS Apprenticeship
  • Expandable cards with Benefits list, Eligibility box, Apply Online link
  • Right sidebar: Official Helplines (tap-to-call), How to Apply guide, "Start with UDID" banner
  • Category filter strip

πŸ’Ό Post Resume β€” PostResumePage.jsx

A 5-step resume builder for PwD job seekers, with an AI profile review before submission.

5-step form:

Step Fields
1 Β· Personal Info Name, email, phone, city, experience, job title, bio
2 Β· Skills 20 preset skill chips + custom skill input + selected skills summary
3 Β· Disability Info Disability type, UDID number, disability % slider, accommodation needs
4 Β· Preferences Work mode, job type, categories, location, salary, joining timeline
5 Β· Upload & Review Drag & drop resume + full profile summary table

AI Review Flow (triggered on final submit):

  1. Scanning screen β€” animated pulsing orb, 8 sequential check rows with live progress bar
  2. Recommendations screen β€” profile score out of 100 (computed from actual form data), colour-coded rec cards (Fix suggested / Pro tip / Looks great), Apply suggestions or Submit anyway
  3. Success screen β€” confirmation with trusted employer logos

Left sidebar β€” sticky progress tracker + Quick Tips card
Step progress bar β€” horizontal with connectors, done/active/future states


Design System

All pages share a consistent visual language:

Token Value
Background linear-gradient(160deg, #060c1a, #0a1628, #0d1e3a, #060c1a)
Starfield 130 twinkling stars, fixed position, randomised size/opacity/duration
Glow orbs Purple rgba(99,102,241,0.1) top-left Β· Cyan rgba(8,145,178,0.07) bottom-right
Heading font 'Georgia', serif β€” bold, high letter-spacing
Body font system-ui, sans-serif
Card bg #080f20 (solid, no backdrop-filter to prevent stacking context bugs)
Primary accent #7c3aed (purple)
Secondary accents #0891b2 (cyan) Β· #be123c (red) Β· #0f766e (teal) Β· #4f46e5 (indigo)
Border rgba(255,255,255,0.07) default Β· rgba(255,255,255,0.16) on hover
Hover transform translateY(-3px) to translateY(-6px) depending on card size

Tech Stack

Layer Choice
Framework React 18 (functional components + hooks)
Styling Inline styles (no external CSS library)
Animations CSS keyframes via <style> tag injection
Icons Unicode symbols (β—ˆ ⬑ β—† β—‰ β˜… ✦) β€” no icon library dependency
Charts / Viz SVG (hand-coded, inline)
State useState, useEffect, useRef β€” no external state library
Routing Designed as individual page components β€” plug into React Router

Project Structure

empowerable/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ CommunityPage.jsx       # Home & community discovery
β”‚   β”‚   β”œβ”€β”€ LearnPage.jsx           # Course marketplace
β”‚   β”‚   β”œβ”€β”€ MentorshipPage.jsx      # Mentor booking
β”‚   β”‚   β”œβ”€β”€ MarketplacePage.jsx     # Art & goods shop
β”‚   β”‚   β”œβ”€β”€ NewsSchemesPage.jsx     # News & government schemes
β”‚   β”‚   └── PostResumePage.jsx      # Resume builder + AI review
β”‚   └── App.jsx                     # Router entry point
β”œβ”€β”€ public/
└── README.md

Getting Started

# Clone the repo
git clone https://github.com/your-username/empowerable.git
cd empowerable

# Install dependencies
npm install

# Start development server
npm run dev

Routing setup (React Router v6)

import { BrowserRouter, Routes, Route } from "react-router-dom";
import CommunityPage   from "./pages/CommunityPage";
import LearnPage       from "./pages/LearnPage";
import MentorshipPage  from "./pages/MentorshipPage";
import MarketplacePage from "./pages/MarketplacePage";
import NewsSchemesPage from "./pages/NewsSchemesPage";
import PostResumePage  from "./pages/PostResumePage";

export default function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/"            element={<CommunityPage />}   />
        <Route path="/learn"       element={<LearnPage />}        />
        <Route path="/mentorship"  element={<MentorshipPage />}  />
        <Route path="/marketplace" element={<MarketplacePage />} />
        <Route path="/news"        element={<NewsSchemesPage />} />
        <Route path="/jobs/resume" element={<PostResumePage />}  />
      </Routes>
    </BrowserRouter>
  );
}

Navigation Structure

EmpowerAble
β”œβ”€β”€ Home          β†’ CommunityPage
β”œβ”€β”€ Explore       β†’ (dropdown)
β”œβ”€β”€ Jobs          β†’ (dropdown)
β”‚   └── Post Resume β†’ PostResumePage
β”œβ”€β”€ Learn         β†’ (dropdown)
β”‚   β”œβ”€β”€ Courses   β†’ LearnPage
β”‚   └── Mentorship β†’ MentorshipPage
β”œβ”€β”€ Community     β†’ CommunityPage
β”œβ”€β”€ Marketplace   β†’ MarketplacePage
└── News & Schemes β†’ NewsSchemesPage

Key Implementation Notes

No backdropFilter on interactive containers
CSS backdrop-filter creates a new compositing layer that can sit above sibling DOM elements, intercepting pointer events. All interactive card containers use solid #080f20 backgrounds instead.

Star field is position: fixed
Stars are rendered once in a fixed layer (z-index: 0) so they don't scroll with content and don't affect layout flow.

AI Review is fully frontend
The AI scanning animation and recommendations are deterministic β€” computed from the user's actual form data (bio length, skill count, UDID presence, etc.). No API call is made. The check timings are simulated with setInterval.

No blocking validation
Form fields marked (required) are advisory only. The Continue button always advances. Validation feedback is delivered through the AI recommendations screen after step 5.


Accessibility Notes

EmpowerAble is built for the disability community, so accessibility is taken seriously:

  • Semantic button elements for all interactive controls
  • Keyboard-navigable forms (Enter to submit custom skills, tab order preserved)
  • Colour contrast ratios maintained for text on dark backgrounds
  • No reliance on colour alone to convey meaning (icons + text labels always paired)
  • Focus-visible outlines preserved (no outline: none without replacement)
  • ARIA labels to be added in production build

Contributing

Contributions are welcome! Please open an issue before submitting a pull request for major changes.

# Create a feature branch
git checkout -b feature/your-feature-name

# Commit with a descriptive message
git commit -m "feat: add screen reader support to MentorshipPage booking modal"

# Push and open a PR
git push origin feature/your-feature-name

Roadmap

  • Backend integration (Node.js / Supabase)
  • Authentication (login, profile persistence)
  • Real-time mentor availability (WebSockets)
  • Live news feed via RSS/API
  • Government scheme eligibility checker (form-based)
  • Marketplace payment integration (Razorpay)
  • Mobile app (React Native)
  • Full WCAG 2.2 audit and remediation
  • Multi-language support (Hindi, Tamil, Telugu)

License

MIT License β€” see LICENSE for details.


Built with care for the disability community Β· EmpowerAble 2026

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages