DEV Community

Cover image for How Kiro Accelerated Our Long-Planned SaaS, RateSheet
Noman Dhoni
Noman Dhoni

Posted on

How Kiro Accelerated Our Long-Planned SaaS, RateSheet

I Had the Vision for Years. Kiro Helped Me Build It in a Hackathon.

Home Page of the https://ratesheet.blinkeye.app/

Let me tell you a story. It’s not about building an app from scratch. It’s about having a huge vision, a real-world problem that you’re obsessed with solving, but hitting a wall of complexity so high that the dream stays on the whiteboard.

This is the story of RateSheet. And how @kirodotdev became the partner that helped me break through that wall.

The Dream and the Wall

I'm from Bangladesh, the heart of the global garment industry. I’ve seen the inside of these factories. They are miracles of human coordination, producing clothes for the entire world. But behind the scenes, there's a secret enemy: paper.

Garments Factory Production

The daily reality for many factory managers.

Production is tracked on paper. Payroll, based on complex, ever-changing piece-rates, is calculated by hand. It's a system begging for errors, costing millions in lost time and creating a total lack of transparency.

My vision, RateSheet, was the solution: a slick, real-time system for production tracking and payroll. The problem? This wasn't a simple CRUD app. The requirements were enterprise-grade:

  • A multi-tenant system to isolate data for different factories.
  • Dynamic, time-sensitive pricing logic (a nightmare to get right).
  • Role-based access for Admins and Managers.
  • Real-time data sync across all users.

For years, this vision felt too big to tackle. The architecture alone was overwhelming. Then, I heard about the Code with Kiro Hackathon.

Enter Kiro: Not an Autocomplete, an Architect

I’ll be honest, I went in skeptical. I expected another glorified autocomplete.

What I found was a co-pilot that understood intent. It didn't just write code; it helped me architect the entire system based on the business logic I'd had in my head for years.

The first breakthrough was the database schema. I didn't ask it to "create a table." I described the business problem:

"I need to store piece-rates for different clothing styles. A rate is valid from a start date and can be replaced by a new rate later. The system must always use the historically correct rate when calculating payroll for a past date."

Instead of a generic SQL table, Kiro generated a perfect schema for my Convex backend, explaining why it chose that structure for handling time-sensitive data.

// in convex/schema.ts

// I described the business logic in plain English.
// Kiro generated this schema, perfectly designed for my needs.
export default defineSchema({
  styles: defineTable({
    name: v.string(),
    description: v.optional(v.string()),
    orgId: v.string(),
  }).index("by_org", ["orgId"]),

  // This is the magic for dynamic pricing!
  rates: defineTable({
    styleId: v.id("styles"),
    orgId: v.string(),
    rate: v.number(),
    effectiveDate: v.number(), // Using a timestamp
  })
    .index("by_style", ["styleId"])
    .index("by_org", ["orgId"]),
});
Enter fullscreen mode Exit fullscreen mode

This wasn't just code. This was a conversation about a business problem, resulting in a robust technical solution. My jaw was on the floor.

Worker Logs

Styles

Bonus

Specs, Not Tickets: Building with Confidence

The biggest hurdle was the multi-tenant organization system. Getting security and permissions right is critical.

Instead of writing dozens of user stories, I wrote a simple spec right in the Kiro chat:

/*
  SPEC: Multi-Tenant Organization System

  1.  An 'Admin' can create an Organization and gets a unique invite code.
  2.  Admins can invite 'Managers' using the code.
  3.  Managers can ONLY see and manage data (workers, logs) for the organization they belong to.
  4.  Data from one organization must be completely invisible to another.
*/
Enter fullscreen mode Exit fullscreen mode

Kiro took this and implemented the entire logic. It used Clerk for authentication and wired it up to my Convex backend, creating security rules and frontend components that respected those permissions. This spec-driven approach didn't just speed things up; it gave me the confidence that my security model was solid from day one.

The Real-World Impact: This Isn't a Toy Project

Here’s the best part: RateSheet isn’t just a hackathon concept. It’s a real, production-ready solution.

Thanks to the massive acceleration from Kiro, we were able to build, polish, and deploy a system that is already being used by leading manufacturers in Bangladesh, including Legacy Innovations Limited, Urmi Group, and Disney Sweaters.

They're seeing a 90% reduction in payroll calculation time and have gained real-time visibility into their entire production floor. This is the real-world impact I had always dreamed of.

My New Workflow: Human Vision, AI Execution

Kiro has fundamentally changed how I develop. It’s not about letting AI do all the work. It’s about a new partnership:

  • My Role: Hold the vision, understand the user's pain, define the business logic, and make the critical architectural decisions.
  • Kiro's Role: Handle the execution. Translate my logic into clean, robust code. Automate the tedious parts. Act as an infinitely patient sounding board for ideas.

I went from feeling stuck to shipping a real-world, enterprise-grade application. Kiro was the accelerator that finally let me bring a long-held vision to life. It's more than a tool; it's a partner. And honestly, I can't imagine building without it now.


Check out the RateSheet project on GitHub to see the full codebase! And visit here to start using RateSheet

Top comments (0)