{"id":42457189,"url":"https://github.com/abh3shek/resume_builder","last_synced_at":"2026-01-28T09:01:32.077Z","repository":{"id":299118603,"uuid":"1002114773","full_name":"Abh3shek/resume_builder","owner":"Abh3shek","description":"resume builder - powered by indexedDB, service workers, cache memory","archived":false,"fork":false,"pushed_at":"2025-06-14T19:31:25.000Z","size":351,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-14T20:02:27.485Z","etag":null,"topics":["cache-storage","cachestorage","html2pdf","indexeddb","service-workers","serviceworkers"],"latest_commit_sha":null,"homepage":"https://resume-builder-abh3shek.surge.sh/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Abh3shek.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-14T18:40:26.000Z","updated_at":"2025-06-14T19:31:28.000Z","dependencies_parsed_at":"2025-06-14T20:02:31.113Z","dependency_job_id":"ceb9eabb-7bd4-4086-a1d1-c006ee6a4f6b","html_url":"https://github.com/Abh3shek/resume_builder","commit_stats":null,"previous_names":["abh3shek/resume_builder"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Abh3shek/resume_builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abh3shek%2Fresume_builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abh3shek%2Fresume_builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abh3shek%2Fresume_builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abh3shek%2Fresume_builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abh3shek","download_url":"https://codeload.github.com/Abh3shek/resume_builder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abh3shek%2Fresume_builder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28843112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T07:39:25.367Z","status":"ssl_error","status_checked_at":"2026-01-28T07:39:24.487Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cache-storage","cachestorage","html2pdf","indexeddb","service-workers","serviceworkers"],"created_at":"2026-01-28T09:01:27.266Z","updated_at":"2026-01-28T09:01:32.068Z","avatar_url":"https://github.com/Abh3shek.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📄 Resume Builder – A Progressive Web App (PWA)\n\nA modern **Resume Builder** built entirely with **HTML, CSS, and JavaScript**, focused on **performance**, **offline support**, and **persistent storage** using modern browser APIs.\n\nThis app works even without internet after the first visit, auto-saves your resume progress, and lets you export a PDF of your resume. Designed with future extensibility in mind.\n\n---\n\n## 📌 Features Implemented\n\n### ✅ 1. Landing + Onboarding Flow\n\n- Start screen with a clear call-to-action (`Start`)\n- Multi-step form navigation (`Next` / `Prev` / `Finish`)\n- Dynamic progress bar\n\n### ✅ 2. Resume Data Handling\n\n- Real-time input capture from all form fields\n- Auto-saving every input using **IndexedDB**\n- **🔥 Debouncing** added to limit frequent IndexedDB writes — **ensures optimal performance**\n\n### ✅ 3. Resume Persistence\n\n- On app load, checks if resume exists in IndexedDB:\n  - ✅ Yes → Loads and auto-fills form\n  - ❌ No → Starts with a blank form\n- User can pick up where they left off — **even after refreshing or closing the browser**\n\n### ✅ 4. Export to PDF\n\n- Uses `html2pdf.js` to convert the preview section to a **downloadable PDF**\n- Triggered with `Finish \u0026 Export` button\n- PDF is clean, raw, and includes all user data\n\n### ✅ 5. Offline-First Support with Service Workers\n\n- App works even without internet after first visit\n- Assets and shell cached using **Cache Storage API**\n- Powered by **Service Worker**, which:\n  - Caches static files during install\n  - Serves from cache if network is unavailable\n  - Caches future network requests as fallback\n  - **Ensures the app is usable offline**\n\n### ✅ 6. Local Storage (for lightweight preferences)\n\n- Although the resume data is in IndexedDB, lightweight user preferences (like last used theme) can be stored using `localStorage` (prepared for future use)\n\n---\n\n## 🧠 Application Architecture (Flow)\n\n![Resume App Flowchart](/assets/images/flowchart.png)\n\n## 🧠 Technologies Used\n\n| **Technology**             | **Description**                                                     |\n| -------------------------- | ------------------------------------------------------------------- |\n| **HTML + CSS**             | UI layout and structure                                             |\n| **JavaScript (Vanilla)**   | Handles all logic, data flow, and event handling                    |\n| **Service Workers**        | Implements background caching and offline support                   |\n| **Cache Storage API**      | Stores the app shell and other static assets for offline access     |\n| **IndexedDB**              | Saves form data persistently, enabling resuming incomplete resumes  |\n| **Debouncing (Custom)**    | Efficiently saves data to IndexedDB without overloading the storage |\n| **localStorage**           | Stores lightweight settings (future scope for further enhancements) |\n| **html2pdf.js**            | Converts resume data to a PDF for easy exporting and printing       |\n| **File System Access API** | (Planned) Enables saving resume files locally in supported browsers |\n\n## 🧪 Current Limitations\n\n- **Minimal styling**: The UI is currently raw and functional, without much design or visual enhancements.\n- **Single resume instance**: Only one resume can be saved at a time (no support for multiple projects yet).\n- **No authentication or cloud sync**: Users cannot sign in or sync their resumes across devices or browsers.\n- **No sharable or hosted resumes**: Resumes cannot be easily shared via a URL or hosted online.\n- **Limited editor features**: There is no rich text formatting or component-based editor at this time.\n\n## 📢 Status\n\nThe project is in active development.\n\nEverything is built from scratch using native web technologies — no frameworks, no libraries (except for **html2pdf.js**).\n\n## 🔗 Links\n\n- **🌍 [Link to Deployed Site](https://resume-builder-abh3shek.surge.sh)**: Try the app live in your browser.\n\n## 📦 Made By\n\n- **:octocat: [GitHub](https://github.com/abh3shek)**\n\n## 🙌 Final Note\n\nThis is a foundational resume builder built with clean architecture and future extensibility in mind.  \nExpect many features to roll out soon.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabh3shek%2Fresume_builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabh3shek%2Fresume_builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabh3shek%2Fresume_builder/lists"}