Skip to content
Keshab1997Public

About

Docify - Photo, PDF & CV. Resize photo, signature, PDF and CV for job and exam forms. Package com.keshabstudios.docify. Documents stay on device. AdMob only.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Docify — Photo, PDF & CV Maker

📱 Docify: Photo, PDF & CV Maker

Resize photo, signature, PDF and CV for online applications — all on your phone.

Flutter Version Android Privacy Made in India All Rights Reserved

🌐 Web Preview · 🔒 Privacy Policy · 📜 Terms of Service · ✉️ Support


🌟 About Docify

Docify helps you prepare photos, signatures, PDFs and a simple CV for job applications, exam forms and college admissions — all on your phone, private by design.

Resize a photo to the exact KB limit. Make a passport-size photo. Clean a signature. Turn images into a PDF. Merge files. Compress PDF. Build a CV. Keep everything on your phone.


🛠️ What You Can Do

📸 Photo Tools

Photo tools
  • Photo resize — set min–max KB, custom pixels, crop & compress
  • Exam presets — SSC, IBPS, RRB, UPSC, PSC & more
  • Passport size photo — 35×45 mm / 2×2 inch, white / blue / red backgrounds, multiple copies in one sheet
  • Signature resize — draw or pick photo, clean background, resize to required KB
  • Crop image — free, square, 4:3, 16:9, passport ratios
  • JPG ↔ PNG — instant conversion

📄 PDF Tools

PDF tools
  • Image → PDF — multiple images into one PDF
  • Merge PDF — combine multiple PDFs
  • Compress PDF — reduce size for upload limits
  • PDF → Images — extract pages as JPG
  • Document scan — camera capture + auto crop, right on your phone

🎓 CV & Documents

CV builder
  • CV builder — 10 professional templates, simple local PDF, no account, no watermark
  • Job Form Assistant — checklist for one application

📁 My Documents

My Documents
  • All files saved in-app, share via WhatsApp, Email, Drive or any app
  • Fingerprint lock — protect My Documents with biometrics
  • Smart folders: Job Forms, ID Proof, Certificates, Photo & Signature

💼 Built for Online Forms

Job Form Assistant

Many portals reject a photo or signature because size, pixels or format do not match. Docify is a preparation tool:

  • ✅ Shows you the exact KB, pixels and format before you save
  • ✅ Exam presets for India: SSC CGL/CHSL, IBPS PO/Clerk, RRB, UPSC, WBCS and more
  • ✅ Fast, offline, lightweight
  • ℹ️ It does not submit forms for you — and it is not an official app of any exam board or government

📱 See It in Action

Phone (portrait)

Home Tools Documents Profile
Home Tools Documents Profile

7-inch tablet (landscape)

Home Tools Documents Profile
Tablet Home Tablet Tools Tablet Documents Tablet Profile

🔒 Private by Design

Private by design

📱 On-device processing Photos, signatures, PDFs and CV text are processed on your device
🚫 No server upload Docify does NOT upload your documents to a server — we do not operate one
☁️ Optional backup Sign in with Google → files go to a Docify folder in YOUR Google Drive — your account, your storage. Off by default
🔐 Biometric lock My Documents can be locked with fingerprint / face / PIN — Android checks it, we never see your biometrics
📵 Minimal permissions No broad storage, no location, no contacts, no SMS. Camera only when you tap Scan / Capture signature
📢 Ads The app shows ads via Google AdMob — see the privacy policy for ad SDK details

❓ Why Docify?

  • 🔓 No login required — works fully as guest
  • 🧼 No watermark on CV (since v1.1.2)
  • 🇮🇳 Exam presets for India — SSC, IBPS, RRB, UPSC, WBCS & more
  • ⚡ Fast, offline, lightweight
  • 🇮🇳 Made in India with care

🧰 Tech Stack

Flutter Dart Riverpod Firebase AdMob

  • Framework: Flutter ≥ 3.22 (Dart ≥ 3.2)
  • State: Riverpod · UI: Google Fonts, Material
  • PDF & print: pdf + printing · Images: image, crop_your_image
  • Security: local_auth (biometric lock) · Storage: on-device only
  • Optional sync: Firebase Auth + Google Sign-In → user's own Drive

🏗️ Architecture

Docify is a single Flutter codebase (Android + Web) built in clean layers — UI never touches storage or platform APIs directly, and everything is offline-first.

flowchart TB
    User(("👤 User"))

    subgraph UI["🖼️ UI Layer — screens · widgets · theme"]
        direction LR
        Home["🏠 Home"]
        ToolsScr["🧰 Tool Screens<br/>(12 tools)"]
        DocsScr["📁 My Documents"]
        ProfileScr["👤 Profile"]
    end

    Reg["📋 Tool Registry<br/>photo · passport · signature · crop · convert<br/>image→PDF · merge · compress · PDF→images · scan · CV · job form"]

    RP["⚙️ State — Riverpod"]

    subgraph Svc["🔧 Services Layer"]
        direction LR
        Img["🖼️ image_bytes<br/>resize · crop · convert"]
        Pdf["📄 pdf_service<br/>merge · compress · kit"]
        CvSvc["CV Engine<br/>templates · fit · sanitize"]
        Store["💾 doc_store<br/>io / web adapters"]
        Lock["🔐 doc_lock<br/>biometric gate"]
        Ads["📢 AdMob<br/>mobile / web adapters"]
    end

    subgraph Ext["🔌 Platform & Cloud"]
        Local[("📱 On-device Storage<br/>🔒 private by default")]
        Drive[("☁️ Google Drive<br/>optional backup")]
        FB["Firebase Auth<br/>optional sign-in"]
    end

    User --> UI --> Reg --> RP --> Svc
    Store --> Local
    Lock --> Store
    CvSvc --> Store
    Svc -. "optional sync" .-> Drive
    FB -.-> Drive
    Ads -.-> UI

    style UI fill:#1B4965,stroke:#2D9CDB,color:#fff
    style Svc fill:#3D3466,stroke:#A78BFA,color:#fff
    style Ext fill:#12352B,stroke:#33d17e,color:#fff
Loading

📂 Project Structure

lib/
├── main.dart                  # App entry point
├── app_info.dart              # App name, package & metadata
├── tools/
│   └── tool_registry.dart     # 📋 All 12 tools registered in one place
├── screens/                   # 🖼️ UI screens
│   ├── home_screen.dart       #   Dashboard — all tools
│   ├── tools/                 #   12 tool screens (resize, passport, PDF, CV…)
│   ├── documents_screen.dart  #   My Documents — folders, share, lock
│   └── profile_screen.dart    #   Profile, sync & legal
├── widgets/                   # 🧩 Reusable widgets (ad banner, lock gate, sync sheet…)
├── models/                    # 📦 Exam presets, saved docs, CV templates
├── services/                  # 🔧 Core logic (no UI here)
│   ├── image_bytes.dart       #   Image processing (resize, crop, convert)
│   ├── pdf_service.dart       #   PDF create / compress
│   ├── pdf_merge.dart         #   Merge & split
│   ├── cv/                    #   CV templates + PDF kit + text sanitizer
│   ├── drive/                 #   Optional Google Drive sync
│   ├── doc_store*.dart        #   Storage — io / web adapters
│   ├── doc_lock.dart          #   Biometric lock (local_auth)
│   └── ads*.dart              #   AdMob — mobile / web adapters
└── theme/                     # 🎨 App theming

assets/
├── readme/                    # 🛠️ README hero & section visuals (this README uses them)
└── playstore/                 # 🏪 Google Play Store listing assets

🧭 Key Architecture Decisions

Decision Why
Offline-first All processing happens on-device — works without internet, and documents never leave the phone
Platform adapters (*_io.dart / *_web.dart) One codebase runs on Android + Web via conditional imports
Tool Registry Adding a new tool = one screen + one registry entry — tools stay independent
Riverpod state Predictable, testable state with clear UI / logic boundaries
Optional cloud Google Drive backup & sign-in are opt-in — the app is fully usable as a guest

🚀 Getting Started

# 1. Clone the repo
git clone https://github.com/Keshab1997/docify.git
cd docify

# 2. Install dependencies
flutter pub get

# 3. Run on your device / emulator
flutter run

# 4. Build a release APK
flutter build apk --release

📜 License

This project is not open source. The source code is published here for viewing and educational reference only.

Copyright © 2026 Keshab Sarkar — All Rights Reserved.

Without prior written permission from the copyright holder, you may NOT:

  • 🚫 copy, modify, or redistribute this software
  • 🚫 publish it (or any derivative) to any app store — including Google Play Store
  • 🚫 sell, sublicense, or commercially exploit it

✅ You may freely view and study the code for learning purposes.

See the full terms here → LICENSE · Permission requests: 📧 keshabsarkar2018@gmail.com


📬 Support & Links

Questions or feedback? 📧 keshabsarkar2018@gmail.com

🌐 Web Preview · 🔒 Privacy Policy · 📜 Terms

Disclaimer: Docify is a preparation tool, not an official app of SSC, IBPS, RRB, UPSC, or any government body. Please check your form's official notification for exact photo/signature requirements.

Audience: Docify is for adults (18+) preparing job, exam and college forms. It is not directed to children under 13.


Footer wave

✨ Docify — Prepare right. Apply with confidence. 🇮🇳

About

Docify - Photo, PDF & CV. Resize photo, signature, PDF and CV for job and exam forms. Package com.keshabstudios.docify. Documents stay on device. AdMob only.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages