Details

product / prototype

Tatovering

Tatovering pairs a frontend with a Go API for a tattoo-scheduling prototype using Next, Ant Design, Tailwind, i18n, studio discovery and MapBox markers. The API presents Go/Gin/Supabase CRUD plus agendamento routes.

Problem

I built a tattoo-studio prototype for appointment scheduling, catalog discovery, and studio management. The Go/Gin/Supabase API provides CRUD routes for users, tattoo artists, artwork, and studios.

Contribution

I built separate frontend and API surfaces around tattoo users, artists, artwork/tattoos, studios and appointment routes. The Go API uses Gin with Supabase, and the frontend uses a Next.js/TypeScript product shell with internationalization and MapBox studio markers.

Prototype Architecture

Separate public repos split the Next frontend from the Go/Gin API. The API main function loads Supabase credentials, creates a Gin router, installs CORS, creates one Supabase client and registers user, tattoo artist, tattoo, studio and appointment route groups.

Technical Decisions

Separate frontend and API repositories
Go/Gin for HTTP API implementation
Supabase-backed CRUD resources for users, artists, artworks/tattoos and studios
public repository route group for availability and appointments
Next.js/TypeScript frontend with Ant Design, Tailwind, internationalization and MapBox studio markers

Tradeoffs

Prototype speed over complete marketplace maturity
Clear API resources before deeper booking logic
Product breadth before final operational polish

Outcome

A product-engineering example covering fullstack CRUD, marketplace modeling, booking UX, and frontend/backend integration.

Stack and domains

  • Next.js
  • React
  • TypeScript
  • Ant Design
  • Tailwind
  • Go
  • Gin
  • Supabase
  • next-intl
  • Mapbox