J3
  • Home
  • Core Services
    • AI-Driven Analytics
    • Agile Acquisition
    • Cloud Services & Sec SAAS
    • AWS Cloud Capabilities
    • IT Modernization
    • Cybersecurity Engineering
  • Our Clients
  • Partners
  • Resources
    • Contracts
    • Capability Statements
  • About
    • About J3
    • J3 Blog
    • News
    • Jobs
  • Contact
  • Shop
J3
  • Home
  • Core Services
    • AI-Driven Analytics
    • Agile Acquisition
    • Cloud Services & Sec SAAS
    • AWS Cloud Capabilities
    • IT Modernization
    • Cybersecurity Engineering
  • Our Clients
  • Partners
  • Resources
    • Contracts
    • Capability Statements
  • About
    • About J3
    • J3 Blog
    • News
    • Jobs
  • Contact
  • Shop

j3 Blog

I Built a Production Application With an AI Pair Programmer. Here’s What Actually Happened By Peter

I’ve been writing code for more than 20 years, so when people talk about “vibe coding” or AI replacing developers, I have opinions. There’s a lot of conversation around what AI means for the future of software development: what it can do, how much faster it can make us, and whether it will eventually replace developers altogether. Rather than speculate, I decided to put it to the test. Over the past several weeks, I built a full-stack application with a React frontend, AWS Lambda backend, DynamoDB, Cognito, AgentCore, and multiple API integrations, using AWS Kiro as my primary AI pair programmer. This wasn’t an experiment or a side project. AI was part of the actual development process for a production system that J3 is taking to market. After eight weeks of building with AI, I came away with a much clearer picture of where it can transform development and where experienced human judgment still matters most.


Where AI Made a Difference

The most immediate difference was speed. I could describe a feature in plain English, including what I wanted it to do, where the data should come from, and how it should behave, and within minutes, AI could produce a working implementation. Changes that traditionally might have become full-sprint features instead became conversations.

AI also became surprisingly effective at retaining context. It remembered our architecture, table schemas, deployment commands, and other details about the environment. At times, it felt like working with a senior engineer who had been part of the project since day one. Infrastructure work was another area where AI excelled. Tasks such as creating Cognito User Pools, scoping IAM policies, and configuring CloudFront distributions can be repetitive and prone to human error, making AI particularly well suited for handling that type of work.

Debugging became faster, too. Providing a CloudWatch log or browser console error could quickly point us toward the root cause, whether it was an incorrect IAM permission, a missing API Gateway route, or a library behaving unexpectedly. But speed wasn’t the whole story.


Where Human Expertise Still Matters

AI can build quickly, but that doesn’t mean it always knows what should be built. One of the biggest limitations I encountered was that AI rarely pushes back on architecture. An experienced engineer might look at an approach and say, “That’s going to become a maintenance nightmare.” AI is more likely to simply build what you requested, even when there may be a better way to solve the problem.

Complex debugging also remains challenging. When an issue spans multiple services and depends on subtle timing or live runtime behavior, AI can help investigate, but it doesn’t have complete visibility into everything happening across the environment. Sometimes, AI simply does too much. Ask for a “simple toggle,” and you may end up with an entire feature-flag system. The more precise you are about scope and requirements, the better the result. That became one of the most important lessons from the entire project: AI is only as effective as your ability to clearly communicate what you need.


A New Development Cycle

As the project progressed, a development model naturally emerged. It wasn’t simply, “AI writes the code, and I review it.” Instead, the process became collaborative. The person architects, determining the component boundaries, data flows, and service choices. The person defines the change, explaining the requirement in plain English but with technical precision. AI implements, handling the code, permissions, deployment, and supporting tasks. The person verifies and course-corrects, determining whether the implementation matches the intended behavior and refining, simplifying, or rethinking the approach when necessary.

Then the cycle starts again. What once could have taken days or weeks can now happen in minutes, but the human remains responsible for deciding what should be built and whether the result is actually right.


What Eight Weeks With AI Produced

After eight weeks, two developers working with an AI pair programmer produced 20 React pages and 16 API endpoints using more than 12 AWS services, with approximately 85% of the code written by AI. But one number matters more than the rest: 0% of the architecture decisions were made by AI. That distinction is important.


AI Needs a Pilot, Not a Passenger

There is no shortage of discussion about whether AI will replace developers, but my experience building a production application suggests a different future. AI can dramatically accelerate development, remove repetitive work, shorten development cycles, assist with debugging, and allow experienced engineers to accomplish significantly more. But it still needs technical judgment, architecture, clear requirements, verification, and course correction from people who understand what they’re building.

AI doesn’t eliminate the need for experienced developers. It amplifies what experienced developers can accomplish. AI needs a pilot, not a passenger, because ultimately, the craft isn’t in the typing. It’s in knowing what to build.


After eight weeks of putting it through a real-world production build, AWS Kiro gets a thumbs up from us at J3. Or, if you prefer, two snaps in a circle.


Peter Cipriano is CIO at J3 and has decades of experience building enterprise systems. These days, that also includes spending a surprising amount of time arguing with AI about CSS padding.

Supporting USDA’s Cloud Journey — J3 and the Cloud Broker Office

April 7, 2026: At J3, we’re proud to support DISC’s Cloud Broker Office (CBO) as it helps USDA and federal partners realize the full value of commercial cloud services. Acting as a trusted contractor, we work side‑by‑side with the CBO to make secure, cost‑effective cloud capabilities available across the enterprise—backed by strong governance, performance oversight, and alignment with federal requirements.

Our work spans technical, contractual, and strategic areas. We help manage hyperscale relationships and optimize IaaS, PaaS, and SaaS offerings so agencies can choose the right tools for their missions. We also provide guidance on federal priorities and compliance frameworks—including FITARA and TBM—so cloud adoption advances both capability and accountability.

The Cloud Broker Office is a critical bridge between industry cloud capabilities and USDA mission priorities. Through vendor engagement, contracting support, cloud business architecture insight, and performance monitoring, J3 helps ensure consistent service delivery, improved visibility into cloud spending, and awareness of emerging technologies that can benefit agency programs.

These collaborative efforts keep cloud services across USDA transparent, efficient, and mission‑driven. We appreciate the opportunity to support a team that’s advancing secure, scalable, and fiscally responsible cloud adoption across the USDA enterprise—and we remain committed to helping agencies meet their cloud objectives now and in the future. 

Businessman interacting with cloud security and connected devices icons.

Connecting USDA Customers to Enterprise Services — J3 and the Customer Engagement Branch

March 31, 2026:  J3 is proud to support DISC’s Customer Engagement Branch as it leads business development, capture, discovery, estimating, intake, and marketing efforts that connect USDA customers with the enterprise services they need to achieve their missions. In our contractor role, we help the branch identify new opportunities, shape requirements, and keep initiatives moving smoothly from concept to delivery.

Our work spans the full customer engagement lifecycle: coordinating target markets, assessing opportunity viability, developing capture strategies, and aligning proposals to customer needs. We maintain a clear, data‑driven business development pipeline and translate qualified opportunities into actionable requirements through discovery and estimating. We also support onboarding via the intake process and contribute to marketing and communications that raise awareness of DISC’s enterprise service offerings.

The Customer Engagement Branch is essential to strengthening the link between customer demand, DISC capabilities, and strategic growth. J3 values the opportunity to collaborate with a team committed to transparency, partnership, and delivering meaningful value to USDA mission partners. 

Turning Strategy into Action: Supporting USDA DISC’s SMCS

 March 10, 2026: Effective IT modernization requires more than technology alone. It requires the ability to translate strategy into solutions that can be delivered across complex organizations and mission environments. At the U.S. Department of Agriculture’s Digital Infrastructure Services Center (DISC), this responsibility is led by the Strategy Management & Complex Solutions (SMCS) Division.

J3 is proud to support SMCS as it works to integrate business strategy, solution architecture, and complex delivery efforts across DISC. The division plays an essential role in helping DISC align long-term strategy with the operational needs of USDA mission partners.

Through our support, J3 assists SMCS in translating strategic direction into actionable plans. This includes helping align customer insights, industry best practices, and operational capabilities into a coordinated solutioning process that supports DISC’s enterprise services and mission priorities.

Our team contributes to strengthening portfolio governance and supporting DISC business lines as they align annual planning efforts with the DISC Five-Year Strategic Business Plan. By helping coordinate practices, facilitate agile collaboration, and align enterprise processes, we support SMCS in enabling complex, cross-functional solutions that deliver measurable value across the USDA enterprise.

As federal organizations continue to modernize their IT environments, the ability to connect strategy with delivery becomes increasingly important. The work performed by the SMCS Division helps ensure DISC remains positioned to evolve its service portfolio while supporting the long-term needs of USDA agencies and programs.

J3 appreciates the opportunity to collaborate with a team dedicated to strategic clarity, operational excellence, and the advancement of enterprise capabilities across the USDA landscape.  

Copyright © 2026 J3 - All Rights Reserved.

Powered by GoDaddy

  • Contact
  • Privacy Policy
  • Terms and Conditions

This website uses cookies.

We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.

Accept