Skip to content
All projects
Featured
Startup
Startup project

Instant Empleos

A two-sided job marketplace platform for Uruguay connecting workers and companies, with AI-powered matching, payments with e-invoicing, and an internal admin portal — designed and built solo, full stack.

Instant Empleos

Highlights

Worker mobile app (iOS / Android) and company web app from one Flutter monorepo
Go API with hexagonal architecture, PostgreSQL + PostGIS for location-based matching
AI candidate scoring, CV parsing and a two-tower personalized feed on AWS Bedrock + pgvector
dLocal payments wired to DGI e-invoicing through a transactional outbox
Terraform-managed AWS across dev, staging and production, with one-command deploys
Platform end-to-end suite that runs every user story against the full stack

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.

Instant platform architecture overview: clients, AWS and Firebase
Platform overview: clients, AWS (sa-east-1) and Firebase
EC2 hosts and the Docker containers running on each
EC2 hosts and containers: production request serving, the database host and async workers
SQS queues feeding the AI inference, chat auto-reply and notification workers
Async processing and AI pipeline on SQS + Bedrock
Route 53, CloudFront, S3 and API routing
Edge, DNS and delivery for the web apps and the API
Firebase services used by the clients and the backend
Firebase integration: client SDKs and Admin SDK
Deployment pipeline from the developer machine to EC2 via ECR and SSM
Deployment pipeline

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.

Gallery