The Problem with "Free" Tools
A few months ago, I needed to send a quick invoice for a freelance gig. I Googled "free invoice generator," clicked the top result, spent 10 minutes filling out the details, and hit "Download."
Pop-up: "Create an account to download your PDF." Next Pop-up: "Start your 7-day free trial."
I was frustrated. I just wanted a simple PDF, not a monthly subscription to an accounting ecosystem.
The Solution: SmoothLedger
I decided to solve this problem by building SmoothLedger.com.
My goal was simple:
- No Signups: You land on the page, you type, you print.
- No Watermarks: Professional output immediately.
- Fast: Built on a modern tech stack.
The Tech Stack
As a full-stack developer (currently in my 5th semester!), I wanted to use tools that were fast and handled state management well.
Frontend: Next.js (App Router). I love Next.js for its SEO benefits and how easy it makes routing.
Styling: Tailwind CSS. It allowed me to build the invoice preview to look exactly like A4 paper on the screen.
Deployment: Vercel (for the frontend speed) and Azure (for backend services).
State Management: React Hooks. Since there is no database login required for the basic features, managing the invoice state locally makes the app incredibly snappy.
The Challenge: Printing to PDF
One of the hardest parts of this build was getting the web view to convert perfectly to a PDF. Browsers render HTML differently than PDF engines. I had to do a lot of tweaking with print-specific CSS (@media print) to ensure that when a user hits "Save," the margins, fonts, and layout remain perfect.
Future Plans
I am currently working on adding more tools to the suite, like a richer salary slip generator and potentially some AI-driven features to help categorize expenses.
Try it out
If you are a freelancer or dev who hates friction, give it a try. I’d love to hear your feedback on the UX or the code implementation!
Link: SmoothLedger.com
(I'm also open to connection requests here on Dev.to!)
Top comments (0)