Skip to content
IG
system:ignacio-gunstlast session: 04 aug 2026

IGNACIO
GUNST

backend & frontend · systems integration · process automation

I build backend services, REST APIs, integrations with external services and database-backed applications.

§ ABOUT

How I work

I focus on building maintainable solutions, tuning SQL/NoSQL queries, stabilising existing systems and improving processes through automation.

I also have hands-on experience with AI projects, vector databases and modern AI-assisted development tools.

location
Argentina
education
Systems Analyst
languages
native Spanish · professional English
focus
backend · integration · automation

§ STACK

What I work with

backend
C#.NETGoNode.jsSupabaseRabbitMQ
frontend
TypeScriptJavaScriptReactAstroHTMLCSSTailwindBootstrap
databases
PostgreSQLMySQLSQLiteMongoDBRedisChromaDB
tools
DockerKubernetesGitGitHub Actionsn8n
ai
OllamaClaude CodeCodexCopilot
other
UnityUnreal Engine

§ PROJECTS

Projects

  • Local AI English tutor

    LocalTeacherGoOllamawhisper.cppPiperFFmpeg

    detail

    CLI to practise spoken English with an AI tutor. You type or talk and it answers back in text and out loud. Everything runs locally, with Ollama, whisper.cpp and Piper.

    the hard part

    Working with audio and models running locally. Building a CLI tool that works the same on every OS.

  • Ticket queue system

    wsTicketBunTypeScriptWebSocketReactZodTailwind

    detail

    Real-time ticket queues. WebSocket server in Bun, React frontend. Several screens see the same changes instantly, without refreshing.

    the hard part

    Working with WebSockets and real-time sync. Designing my own message protocol and validating all of it.

  • Pastebin

    SnippetSnippetGoMySQLHTMLCSSJavaScript

    detail

    Web app in Go to create and manage text snippets. User accounts, sessions in MySQL, server-side validation. Templates and static files embedded, ships as a single binary.

    the hard part

    Building by hand what a framework hands you. Go has no sessions, no middleware chain and no form validation, so you pick every piece and fit it yourself.

  • Online store

    Bulky-WebC#.NETASP.NET CoreEF CoreSQL ServerBootstrap

    detail

    A store built with ASP.NET Core and .NET 8. It has the customer catalogue and a separate admin panel where you load categories and products with their image. Accounts and roles come from Identity.

    the hard part

    Building a layered app with a generic repository and unit of work over EF Core. Handling authentication and roles with Identity.

  • Country roulette

    couldvebeenanywhereTypeScriptReactViteTailwindshadcn/uiD3

    detail

    It tells you how likely you were to be born in your country and then rolls again to give you another one, weighted by real population. Whatever comes up is shown on a map.

    the hard part

    Building a weighted random algorithm. Making maps that scale themselves to the size of each territory.

  • Real-time chat

    Basic-ChatRoom-with-SignalR-no-DBC#.NETASP.NET CoreSignalRJavaScriptBootstrap

    detail

    Real-time chat room with ASP.NET Core and SignalR. You pick a room, you type, and the message reaches everyone else instantly. It also announces when someone joins.

    the hard part

    Working with SignalR, a big library from the .NET ecosystem. Handling rooms and real-time broadcast.

  • Web crawler

    crawlerGogoqueryHTMLJSON

    detail

    Command-line crawler in Go. You give it a URL and it walks the pages of that same domain collecting links, images and text, and leaves everything in a JSON file. It runs in parallel with a cap.

    the hard part

    Scraping websites. Working with concurrency in Go, coordinating goroutines with mutexes and buffered channels.

  • RSS aggregator

    gatorGoPostgreSQLRSSsqlcgoose

    detail

    Command-line RSS aggregator in Go. You follow feeds, leave the loop running in another terminal pulling posts into Postgres, and read them with a command. Duplicates get filtered by URL.

    the hard part

    Writing SQL by hand and generating the data access layer with sqlc. Building a background process that decides what to fetch and when.

  • URL shortener

    linko-starterGoOpenTelemetryPrometheusGrafanaJaegerDocker

    detail

    URL shortener in Go, deliberately small. What matters is everything hanging off it. Structured logs with slog, metrics in Prometheus, traces in Jaeger and profiling with pprof.

    the hard part

    Instrumenting a whole service with structured logs, metrics, traces and profiling. Bringing the stack up with Docker Compose and reading it in Grafana. Learning what to look at to spot that something is wrong.

  • Postman clone

    Postman-cloneC#.NETWinFormsJSON

    detail

    Desktop client to test APIs, like Postman but minimal. You pick the method, paste the URL, it sends the request and shows you the response with the JSON indented. WinForms on .NET 8.

    the hard part

    Understanding the HTTP protocol from the inside by rebuilding a tool like Postman. Using WinForms to put together a desktop app.

  • 2D platformer

    WhatVaniaUnityC#Cinemachine

    detail

    2D platformer in Unity. You run, jump, shoot, pick things up and move through levels, with score and lives that carry across scenes. Input System, Cinemachine and 2D tilemaps.

    the hard part

    Working with Unity and thinking in frames instead of request and response. Programming movement, enemies and state that survives between levels.

  • AI job search

    AIJobReactViteExpressZustandZodOpenAI

    detail

    Job listing search with AI-generated summaries. You filter, you page through, you open a listing and the summary shows up word by word while the model writes it. React with Vite and Express.

    the hard part

    Working with streamed responses from a model. Building the context it gets and putting a request limit on it.

  • Shared map

    wsMapsBunTypeScriptWebSocketReactMapboxZod

    detail

    Shared map in real time. You come in with a name and a colour, and everyone shows up as a marker the others watch move while you drag it. Server in Bun, map with Mapbox.

    the hard part

    Working with maps and coordinates in real time over WebSockets. Defining explicit contracts between the front and the back.

  • Live vote count

    political-partiesBunTypeScriptWebSocketReactChart.jsZod

    detail

    Live vote counting. You load parties, you vote, and the bar chart moves right away on every connected screen. Server in Bun with pub/sub, frontend in React with Chart.js.

    the hard part

    Working with charts that update themselves in real time. Building a whole CRUD over WebSocket, with no REST.

§ CONTACT

Email me

If you have a project, an opening or a technical question, send me an email. I answer all of them.

© 2026 Ignacio Gunstbuilt with Astro · no frameworks I didn't need