About this Project

Building better software for municipal services

Our Philosophy

This project embodies a philosophy of simplicity and clarity in software development. Rather than defaulting to complex architectures, we follow the principle that good code has two requirements:

  • It solves the problem
  • It doesn't suck to read

We believe that the most sophisticated design choice you can make is to choose simplicity. Our approach focuses on building things that last by making them easy to understand, easy to change, and easy to deploy.

What We're Building

This project is inspired by SIGEM (Sistema de Gestión Municipal), a comprehensive municipal management platform originally developed for the city of San Luis, Argentina. The original system included:

  • Citizen portal for permits, payments, and public services
  • Administrative backend for city employees
  • Financial modules for billing and payment processing
  • Document management for permits and records
  • Reporting dashboards for city management

Our goal isn't to recreate SIGEM exactly, but to rebuild similar functionality with modern tooling while avoiding the complexity of the original implementation.

Tech Stack & Approach

High-Level Game Plan

  • Monolith-first approach with one repo and deploy target
  • Vertical slices instead of layered architecture
  • Single relational database as source of truth
  • Frontend & backend sharing TypeScript
  • Optimizing for the realistic 80% use case

Technology Choices

  • React for the UI framework (popular and familiar)
  • Next.js for the full-stack solution
  • TypeScript for type safety
  • shadcn/ui for accessible components
  • Simple architecture over complex systems
Development Alongside Blog Series

This project is being developed as a proof of concept alongside the "Large Software Projects" blog series. The series shares insights from years of experience building software and explores better approaches to tackle complexity in large systems.

This is not a finished product but a demonstration of concepts and tools that could be applied to similar projects. The goal is to explore how modern tools and simple architectures can deliver the same or better functionality than traditional complex implementations.

Why Build This Way?

Building a large software project doesn't require a large team. Inspired by successful projects like:

Telegram

~30 employees, hundreds of millions of users

Stardew Valley

1 person, 20+ million copies sold

Lichess

Mostly 1 person, #1 chess platform

Small, focused teams can build incredible things when they're not spending half their time in coordination meetings. Sometimes the answer to complex problems is a simpler solution—this proof of concept explores that approach.

The Vision

This project explores the idea that large software doesn't have to mean complicated software. By choosing simplicity, focusing on real-world problems, and using proven technologies, we can potentially build maintainable, scalable systems that are a joy to work with instead of a constant source of frustration.

Get Involved

This is an open source project. You can find the source code and contribute on GitHub: https://github.com/franBec/tas/