live //
SEO PPC Email Marketing Social Media Marketing Websites & Analytics AI Creative Content Custom AI Builds
Work About Blog Contact →
build --type=internal --stack=react,firebase,electron
Internal Build

Pickles CRM

A full-stack CRM and finance platform that replaced five paid SaaS tools — built entirely in-house, in production every day.

Build something similar ← All case studies
Back to Work

Most agencies run on a patchwork of SaaS subscriptions — a CRM here, an invoicing tool there, a project management board somewhere else, a spreadsheet for the P&L. The integrations are fragile, the data is siloed, and the monthly cost compounds.

We decided to build one thing that does all of it.

Pickles is a self-hosted, full-stack CRM and finance management platform built specifically for Expandza. It replaces the combined functionality of HubSpot, FreshBooks, Trello, Harvest, and a GST filing assistant — in a single web app, deployed at crm.expandza.in, with a native Mac desktop wrapper.

The result: One system. Full data ownership. Zero subscription fees. And a tool designed exactly for how we actually work — not how a SaaS product assumes we work.

Tool Replaced Pickles Module
HubSpot CRMClients module — full contact records, retainer health, linked invoices
FreshBooks / Zoho InvoiceInvoices module — GST-aware PDF generation, TDS flags, e-signature
Trello / AsanaTasks module — multi-board Kanban with drag-and-drop
Harvest / time trackingFreelancers module — task tracking, payment logging
Manual spreadsheetP&L module — full profit and loss, GST filing helper, profit split calculator
Dashboard
Real-time KPI cards: total income, expenses, net profit, unpaid invoices, overdue counts. Revenue vs. expense charts. Overdue invoice alerts with one-click WhatsApp and email reminders. Today's tasks and upcoming due dates at a glance.
Clients (CRM)
Full contact records with status tracking (Retained / Pitching / Inactive). Per-client KPI header showing overdue, unpaid, and total revenue. All linked invoices, tasks, transactions, and documents under one client view. Automated monthly report generation per client.
Invoices
Professional PDF invoice generation with GST number, UPI/bank details, place of supply, auto-applied digital signature, and full GST compliance. Invoice numbering, status tracking (Draft → Unpaid → Paid / Overdue), partial payment support, TDS flags. Recurring invoice auto-creation on the 29th via Firebase Cloud Function. One-click email and WhatsApp payment reminders.
Tasks (Kanban)
Multi-board Kanban with drag-and-drop. Custom columns per board. Task details: priority, assignee, due date, labels, checklists, comments with @mention autocomplete, full activity log. Cmd+K spotlight search. Board linked to client — all tasks inherit client context automatically.
P&L and Finance
Full profit and loss breakdown by month and year. Profit split calculator per team member. GST Filing Helper — output GST, input GST, net GST payable with per-invoice breakdown. Invoice aging report.
Client Portal
PIN-protected, read-only client-facing view. Clients see their own invoices, download PDFs, access shared documents. E-signature flow — dual-party signing with PDF certificate generation via pdf-lib.
Freelancer Mgmt
Freelancer profiles with skills, day rate, and contact details. Per-freelancer task tracking. Payment logging that auto-creates expense entries in Transactions.
Revenue Forecast
Monthly forecast entries per client tagged as Confirmed or Tentative. Visual revenue projection chart across months.
pickles-crm.stack
StackReact 18 (no build step) · Firebase Realtime DB · Firebase Auth · Firebase Cloud Storage · Firebase Hosting · Firebase App Check (ReCAPTCHA Enterprise)
AuthEmail/password + TOTP 2FA + 15-min session timeout
Cloud FnsAuto email queue (Gmail SMTP) · Monthly invoice generator (cron)
PDFjsPDF (invoices) · pdf-lib (signature certificate appending)
DesktopElectron wrapper · arm64 DMG · CI/CD via GitHub Releases
MobilePWA — installable on Android and iOS via service worker
Domaincrm.expandza.in
Lines of code~8,700 lines of HTML — zero build toolchain
TypographySyne + JetBrains Mono · Lime accent · Full dark/light theme
Zero build toolchain

The entire app is ~8,700 lines of HTML with no npm, no webpack, no bundler. Deployed with firebase deploy. Instant development, zero dependency rot.

GST-aware invoicing for Indian tax requirements

Output GST, Input GST, TDS flags, and a full filing helper that calculates net GST payable from live invoice data. Built for how Indian businesses actually file — not adapted from a Western invoicing template.

E-signature with PDF certificate generation

Legally traceable dual-party signing without a third-party service. Provider signs, client signs in the portal, certificate page appended to the PDF.

Native Mac desktop app with CI/CD auto-release

The app updates itself via GitHub Releases. Dock badge shows today's open task count. Quick task via Cmd+N without opening the full app.

Replaced five paid SaaS tools

The combined subscription cost of the tools replaced by Pickles would exceed ₹15,000–25,000/month for a team of Expandza's size. Pickles runs for free.

Want something built for
your exact workflow?
Discuss your build
free scoping call. fixed-price proposal within 48 hours.