PINS | People Interactive Neighborhood System

2026
Role: Product Architect / AI Agent Operator
Angular 21 Node.js Express TypeScript Prisma MySQL

Neighbor contact exchange application enabling residents to share contact information with map-based visualization and address management.


Overview

Pins is a web application that enables neighbors to share contact information. Residents can register, add their profile with contact details, and view other residents on an interactive map. The application supports multiple persons per address and includes administrative features for managing the map area and user data.

The project was developed entirely using OpenCode with the Big Pickle model. The primary goal was to explore the capabilities and workflow of AI agents in software development. Working with AI allowed rapid prototyping, iterative feature development, and learning how to effectively collaborate with intelligent agents to build complete applications.

Technical Details

Architecture

The application uses a RESTful API backend built with Express and TypeScript, paired with an Angular 21 frontend. Data is stored in MySQL and managed through Prisma ORM.

Map Implementation

Key Features

Lessons Learned

Working with OpenCode and the big-pickle model proved to be an efficient approach for full-stack development. The AI agent demonstrated strong understanding of Angular, Express, and database integration patterns, enabling rapid iteration on features.

This collaboration provided valuable insights into effective AI-assisted development. Clear and specific instructions yielded significantly better results than vague requests, and providing context about the existing codebase proved essential for the agent to make appropriate decisions. Breaking development into incremental steps and building gradually helped maintain quality throughout the process.

The agent showed particular strength in implementing well-defined features, following existing code patterns, and handling boilerplate code. Complex architectural decisions still benefit from human oversight, but day-to-day feature development can proceed efficiently with AI assistance. The ability to work in multiple programming languages, when given proper context, makes the agent a versatile development partner.

This project demonstrated that AI agents can be valuable collaborators in software development. Successful partnership requires clear communication, realistic expectations about capabilities and limitations, and sharing relevant context to enable informed decisions.

Conclusions

Contrary to widespread fears that AI will take jobs from programmers and make them unnecessary, I believe AI will not replace us. AI tools have tremendous potential to become programmers’ “partners.” An AI agent is an interesting tool that supports the software development process, but knowledge of this domain as well as understanding of key technologies and aspects remains essential. Working on this project clearly showed me that regardless of which LLM we work with, AI will not replace a senior developer. Agents often lose conversation context and “forget” earlier instructions or described project requirements, which means working with them still requires constant attention and continuous code verification.

However, constant code verification is not simple because agents do not execute commands precisely. A command to remove all occurrences of console.log repeatedly caused additional unwanted changes not only in code formatting but also in logic. My experience shows that LLM agents handle simple tasks well when we don’t have high requirements, but for more complex logic, a vigilant eye, professional knowledge, and at least a few years of developer experience are still needed.

I also noticed that one of the biggest challenges for AI in this project was styling the application correctly. Each subsequent attempt to fix the same element resulted in increasing regression.

In summary, an AI agent is an interesting tool that undoubtedly supports the work of an experienced developer, but it drastically reduces our control over the code. For professional and serious projects, I prefer to write code independently, as this gives me control over the code, 100% knowledge of it, and allows me to ensure excellent quality.