Claude, Cursor and CTO

Claude, Cursor and CTO
GitHub Productivity Dashboard

Exploring AI-driven coding has taken me from skeptic to supporter—here’s how I built a developer productivity web app with a powerful tech stack and insights on using AI tools for real-world engineering.

Introduction: An Engineer’s “AI Moment”

April 2023 marked the beginning of my deliberate journey into the AI renaissance. Like many technology leaders, I watched as the landscape transformed from what initially seemed like another tech bubble into something far more profound. The evolution was relentless – from the initial wave of chat agents to fine-tuned LLMs, from basic RAG applications to increasingly sophisticated AI toolchains. The pace of innovation made even seasoned technologists feel like beginners again.

The landscape shifted weekly. Monday's breakthrough would be obsolete by Friday. Language models doubled in capability every few months. Tools like Claude, GPT-4, and Gemini pushed boundaries we thought were years away. As a CTO, this wasn't just interesting – it was simultaneously exciting and terrifying. The questions kept me up at night: How would this reshape our development practices? What competitive advantages were we missing? What risks were we taking by not adapting quickly enough?

Then came the next wave – AI agents like Devin and Devika, promising to replace entire engineering teams. The headlines were bold: "The End of Software Engineering as We Know It." I'll admit, my initial reaction was dismissive. Perhaps it was my engineering ego, built over decades of solving complex technical challenges, that couldn't fathom software replacing the nuanced decision-making and creativity of experienced developers.

But leadership isn't about comfort – it's about staying ahead. As a CTO, I have a responsibility to my team and board to ruthlessly evaluate new technologies, regardless of my personal biases. If these tools could genuinely accelerate our development velocity or give us a competitive edge, I needed to know. Not just through reading papers or watching demos, but through hands-on experimentation.

So, I decided to put these tools to the test. Not with a trivial "Hello World" project, but with something substantial – something that would validate or challenge my assumptions about AI's capabilities in software development. I chose to build a full-stack application, stepping outside my comfort zone of backend and platform engineering.

What transpired over the next few days working with Claude and Cursor didn't just surprise me – it fundamentally shifted my perspective on the future of software development. This is that story, along with its implications for engineering teams and technology leaders navigating this new landscape.

The Idea: Building a Developer Productivity Web App

I set out to build something I'd actually use: a developer productivity webapp that aggregates statistics from private GitHub repositories. Similar tools exist in the market, but they often come with hefty price tags that don't justify the ROI for smaller teams. The challenge? Despite years of backend experience, I had never built a full-stack application end-to-end. so taking on this full-stack project meant stepping out of my comfort zone and into AI’s supportive capabilities.


Step-by-Step: How I Built the App with AI

1. Ideation and Planning with ChatGPT

With few attempts I realised that ChatGPT is much better than Claude , to help structure my ideas and define an implementation plan. Using the prompt

"A web application to track and visualise GitHub organisation metrics, developer productivity, and team collaboration patterns, with google authentication"

ChatGPT broke down the app’s structure, suggesting a clear plan:

  • Backend Setup: Using Next.js API routes for serverless functions, connecting to PostgreSQL with Prisma.
  • Data Fetching: Leveraging the GitHub GraphQL API to gather repo statistics, with caching for improved efficiency.
  • Frontend Design: Integrating Next.js, React Query, and Recharts to display metrics visually.

This high-level outline guided the entire development process with cursor, giving me a solid starting point for each component.


2. Frontend Development

I started with Frontend as it was the most challenging part. To my surprise cursor assistant followed the requirements to the 'T " and quickly build a responsive working design without too much of intervention. It took me few hours and 15 mins of one of my front end staff engineers time to refine it to an acceptable level.

Data Fetching with React Query

Cursor used React Query to fetch and manage data on the frontend. It simplified API requests and handled caching, rate limits etc, ensuring that data stayed in sync without redundant network requests. Cursor’s assistance here was invaluable, providing optimised hooks and configurations to ensure smooth data loading.

Data Visualisation with Recharts (In Progress)

To visualise GitHub metrics, ChatGPT suggested Recharts for building responsive charts. The goal is to display commit histories, pull request trends, and contributor activity over time. Though still in progress, the integration of Recharts has added a dynamic, interactive layer to the app, helping users easily interpret the data.


3. Implementing Authentication

Authentication was not new to me, but I had never implemented it using Front end libraries. Here also cursor made it super simple using NextAuth. I followed a simple prompt on Cursor: “Add Google authentication with NextAuth.js.” It generated code to set up a secure sign-in flow, linking user profiles with their GitHub data and creating a smooth user experience. It also helped me to setup the Oauth app on our google workspace with clear instructions which worked like a charm.


4. Backend Development

Once I had a plan, I dove into backend development, primarily using Cursor and Claude as coding assistants.

Fetching Data with GitHub GraphQL API

This is one the biggest learning and pain in the process. I had never used GraphQL but Cursor helped me write a GraphQL query to pull data directly from GitHub. This API integration allowed the app to access data on commits, pull requests, and contributors for each repository in our GitHub organization. Working with GraphQL was initially challenging, but Cursor’s guidance made the process smoother, and it generated queries that were both efficient and easy to modify.

Data Storage with PostgreSQL and Prisma

To persist GitHub data, I used PostgreSQL as the database, managing it with Prisma ORM. Prisma’s type-safe query system simplified data handling and streamlined database interactions. Claude provided helpful code snippets to define data schemas, making it easier to structure the tables and relationships. For example, I created a “Repositories” table to store metrics and a “Contributors” table to track individual stats.

Caching for Efficiency

With the volume of GitHub data, caching was crucial. I set up database caching for frequently accessed data, and Redis is planned for even faster data retrieval, particularly for common queries. This caching layer helped reduce API calls, improving response times and user experience.


Technical Key Learnings:

This project taught me a "new way" of coding . I must agrees it has it's own challenges as the field is quite new. I am taking away these two important learnings:

Optimised Tool Usage: AI tools are most effective when used in tandem. ChatGPT excelled in creating a roadmap, Claude handled complex code generation, and V0.dev simplified the frontend design process.

Managing AI Hallucinations: AI tools can sometimes generate overly complex or irrelevant code—something I observed several times during development. Breaking down prompts into clear, small steps minimised this issue, keeping the generated code manageable and relevant.


Strategic Insights & Business Impact

This hands-on experiment revealed transformative opportunities that extend far beyond technical benefits. I think this is what technology leaders need to know:

Operational Excellence

  • Development Velocity: 30-40% increase in output with existing teams
    • Projects that took months can now be prototyped in days
    • Complex features shipped in weeks instead of months
    • Faster iteration cycles for product improvements
  • Resource Optimisation: More output without proportional headcount growth
    • Engineers can work across full stack despite specialisation
    • Reduced dependency on specialised consultants
    • Teams can handle increased workload without additional hiring

Risk Mitigation & Innovation

  • Accelerated Onboarding: New engineers productive in days vs months
    • AI assists in codebase understanding
    • Reduced key-person dependencies
    • Lower training and ramp-up costs
  • Quality & Maintenance: Better code quality from day one
    • Consistent documentation and best practices
    • Reduced technical debt
    • Lower maintenance costs over time

Financial Impact

  • Direct Cost Savings:
    • 40% reduction in development time
    • Reduced need for specialised hiring
    • Lower training and onboarding costs
  • Revenue Opportunities:
    • Faster time-to-market for new features
    • Increased capacity for parallel projects
    • Quicker response to market opportunities

What’s Next for My AI Journey

Building this app was both challenging and inspiring. Using AI transformed the experience, allowing me to create a functional, polished product quickly and efficiently. I’m excited to continue refining this app and am already planning my next AI-driven project.

I’ll be sharing the code and a full breakdown of my interactions with Cursor and Claude on GitHub soon.


This project was a game-changer for me. While AI won't replace software engineers anytime soon, it's an incredibly powerful tool that's already transforming how we write code. The key is learning to work with AI effectively - breaking down problems, choosing the right tools, and maintaining high standards for code quality.

I'm developing a comprehensive playbook for AI-assisted development transformation. Connect with me to stay updated on insights and best practices for implementing these strategies in your organisation.