Highlights
Instant (instantempleos.com) is a two-sided job marketplace connecting workers and companies in Uruguay, plus an internal admin portal for the Instant team. I'm the CTO and sole developer behind the entire platform: mobile and web clients, the main API, the async and AI microservices, payments and e-invoicing, the admin portal, the deployment tooling and the AWS infrastructure.
Client apps (Flutter monorepo)
- Worker mobile app (iOS / Android): job search and a personalized feed, applications, real-time chat with companies, push and in-app notifications
- Company web app (Flutter Web): job posting, candidate kanban pipeline, AI-ranked applicants, credits and subscriptions
- Shared Melos package with models, repositories, cubits and theming, plus a Remote Config-driven force/recommended update gate
Backend (Go + NestJS monorepo)
- api: main REST API in Go (hexagonal architecture, uber/fx), with PostgreSQL + Firestore hybrid persistence and PostGIS geospatial queries for location-based job search and matching
- cron: job-lifecycle transitions, reminders and the transactional-outbox relays that publish notification and billing events
- inference: AI candidate scoring, CV parsing and Titan embeddings (pgvector) for a two-tower personalized feed, on AWS Bedrock
- chat: AI chat auto-reply agent, with a preview HTTP / gRPC API for companies to test their agent
- notifications: push, in-app bell and email fan-out (FCM + SES) with user preferences, delivery ledger and bounce/complaint suppression
- invoicing (NestJS): DGI electronic invoicing (CFE: e-Ticket, e-Factura, credit notes) through InvoiCy, driven by billing events
- internal (NestJS): admin API with dual-DB access (its own DB plus the main platform DB) for user/plan management, analytics, audit logs and support chat
Payments
- dLocal integration for in-app purchases (credits and subscriptions), with webhooks feeding a billing outbox so every confirmed payment or refund produces its fiscal document
Internal admin portal
- React + Mantine admin frontend for the Instant team, backed by the internal API and Firebase for support chat
Platform operations
- Terraform-managed AWS infrastructure in sa-east-1: EC2, ECR, SQS (with DLQs), CloudFront + S3, Route 53, ACM, IAM instance roles and SSM Parameter Store, across dev, staging and production
- Self-hosted PostgreSQL 18 (PostGIS + pgvector) behind PgBouncer, with a least-privilege role per service and daily EBS snapshots
- Firebase for auth, real-time chat, storage, push notifications and Remote Config, one project per environment
- One-command deploys (
make deploy ENV=… S=…): build, push to ECR and roll out Docker Compose on the target host, with secrets kept in tmpfs, never on disk - Test-driven development, plus a platform end-to-end suite that runs every user story against the full stack, using the production database roles, real queues and Firebase emulators
Architecture
The diagrams below show the platform as it runs today. Click any diagram to open it at full resolution.






End-to-end ownership: product architecture, mobile and web UI, API design, AI-driven microservices, payments and fiscal compliance, admin tooling, the deploy pipeline and cloud infrastructure, all built and maintained independently.
