Uber Reporter
What is Uber Reporter:
Uber Reporter is a desktop application that helps users efficiently manage their Uber trip receipts and generate professional travel reports. It solves the problem of manually downloading individual receipts from Uber's website by allowing batch downloads across any date range. Users can categorize their trips as work or personal, create custom location aliases (like naming an address "Home" or "Office"), and generate formatted PDF reports suitable for expense reimbursement. The tool is particularly valuable for business travelers, freelancers, and anyone who needs organized trip records for accounting purposes.
Tech Stack:
Uber Reporter is built with Electron 27 as a cross-platform desktop application. The frontend uses React 18.2 bundled via Webpack 5 with Babel transpilation. The backend (Electron main process) handles authentication through browser session cookies and communicates with Uber's internal GraphQL API at riders.uber.com to fetch trip data. PDF receipts are downloaded and can be merged using pdf-lib, while custom reports are generated using pdfkit. The app uses a local file-based caching system stored in the user's home directory to avoid redundant API calls. All communication between the renderer and main process uses Electron's IPC with context isolation enabled for security. The application can be built for macOS (Intel and Apple Silicon), Windows, and Linux using electron-builder.
Disclosure: This project was built purely for personal use and education. The application and its systems are not deployed for public use, however code access can be requested.