once upon a goa morning…

Hi, I'm Shubham.

Senior software engineer in Goa. By day at Tutero — Flutter, Go, and a Rust core. By night on Outfii, an AI wardrobe app I'm building solo. The page below is the short version, told as a picture book.

Shubham Gupta
5.7k
commits @ tutero
4y+
yrs @ tutero
14+
go services owned
48★
github stars
dear reader,

what I'm doing right now.

1

Iterating on Outfii in production — Flutter, Supabase, and the AI layer.

2

Shipping the new whiteboard at Tutero — Flutter + Rust core.

3

Tinkering with a fresh Sofle layout — combos, home-row mods, and a thumb cluster I keep tweaking.

4

Learning Rust properly — borrow rules, async, FFI from Dart.

part one

how I got here.

Tutero

· Full-time · 4 yrs 7 mos

EdTech platform serving thousands of students with adaptive learning.

Senior Software EngineerOct 2022 — Present
  • Ship across the full Tutero stack — Flutter clients, Go microservices, Rust core. ~5,700 commits over four years.
  • Working on the whiteboard product — fixing shape and tool behaviour, polishing freehand drawing, and moving the perf-critical tools into a Rust core via FFI for smoother interaction on lower-end devices.
  • Drove the Firebase → Go migration: moved core data and auth flows off Firebase onto first-party Go services backed by Neo4j and Postgres.
  • Migrated the API to a federated GraphQL design with Apollo Router — each service owns its subgraph; the router stitches them at the edge.
  • Authored custom Helm charts for Neo4j backup, scheduled jobs, and ops scripts so every service ships its operational tooling alongside its code.
  • Led the error-handling migration across 14+ Go services (eris → fault → oops). Zero production regressions.
  • Re-architected the snapshotter pipeline to render on the client across multiple apps — moved load off the server, faster snapshots.
  • Rolled out clean architecture across new and existing modules; built shared Neo4j and code-gen tooling the rest of the team ships on top of.
  • Contributed across the breadth — Terraform modules for new services and environments, transactional email flows via NATS, plus design-system and student-app UI polish.
FlutterGoRustGraphQLApollo RouterNeo4jNATSKafkaKubernetesHelmGCPTerraformPostgres
Flutter DeveloperOct 2021 — Oct 2022
  • Joined the early Flutter team. Helped lay the foundations of the main student app — onboarding, design system, shared widget library.
  • Clean-architecture migration of the main client app. Restructured into use-case driven layers the team continues to ship on top of.
FlutterDartFirebaseNeo4j

Outfii

· Founder · 5 mos

AI wardrobe styling app — live in production with active users.

FounderDec 2025 — Present
  • Snap your wardrobe, get AI outfit suggestions tailored to what you actually own, and track wear history so you never repeat a look.
  • Solo build, end-to-end: product, design, Flutter app, Supabase backend, and the AI layer (provider-swappable so I can move with the model landscape).
  • Now live in production. Day-to-day work is bug-fixing, polish, and rolling out improvements based on real usage.
FlutterSupabasePostgresAI

Seva Exchange

· Full-time · UIPEP Technologies · 1 yr 10 mos

US-based timebanking platform — earn and spend hours of community service. Worked on it through UIPEP Technologies.

iOS / Flutter DeveloperJan 2020 — Oct 2021
  • Shipped features end-to-end on Seva Exchange — a US-based timebanking platform — across iOS (Swift) and Flutter clients, plus Firebase Cloud Functions (JavaScript) and Elasticsearch-backed search on the backend.
  • Owned API integration, performance, and UI polish from spec through release.
FlutteriOSSwiftFirebaseCloud FunctionsElasticsearch
part two

the cast of characters.

each project is a little creature with its own personality.

chapter 01

Outfii

outfii.in · live

AI wardrobe app. Photograph your closet, get tailored outfit suggestions, and stop re-wearing the same fit. In production with active users; iterating on bugs and polish.

“snap a fit. i'll handle the rest.”
FlutterSupabaseAI
chapter 02

designdoc.tech

designdoc.tech · live

Web platform for writing, organising, and reviewing RFCs and tech design docs. Tiptap rich-text editor with code blocks, tables, KaTeX math, and task lists. Go API on clean architecture (uber/fx + samber/oops), Postgres, Next.js, Auth0. Built solo end-to-end.

“rfcs. as a real product. not a wiki page.”
GoNext.jsPostgresTiptapAuth0
designdoc$designdoc newRFC-007
10:00FOCUS
chapter 03

streakr.in

streakr.in · personal app

Gamified life OS and activity hub — habits, household tasks, and group quests with XP, streaks, and a points-redeemable shop. Cross-platform Flutter client and a Go backend on uber/fx + Chi with Postgres.

“xp for doing the dishes. levels for life.”
FlutterGoPostgres
chapter 04

claude-history

2026 · Raycast · 2★

Browse, search, resume Claude Code sessions from Spotlight.

“remember that thing claude said?”
TypeScriptRaycast
chapter 05

pulse

2026 · multi-surface

Self-hosted ambient timer. A small Go server holds the state; a CLI, a macOS menu-bar app, and an Android client all stay in sync over HTTP. Started a focus block on the phone, see it count down in the menu bar — that's the whole pitch.

“ten minutes. focus. begin.”
DartGoHTTP
chapter 06

simple_account_menu

2020 · 44★

Small Flutter dropdown widget for account menus. 44 GitHub stars, picked up by other Flutter devs.

“tiny widget. used everywhere.”
DartFlutter
chapter 07

dooya-rs485

2024 · 2★

Home Assistant integration for Dooya RS485 curtain motors. Speaks the proprietary RS485 protocol, exposes each curtain as a HA cover entity with position control.

“opens curtains. closes curtains. that's it.”
PythonRS485HA
chapter 08

sofle-zmk

2024–25 · firmware

Custom split-keyboard configs. My daily is a Sofle — 6×5 with rotary encoders, OLEDs, and a five-key thumb cluster on each half. Older Corne and Totem builds live in the same repo, all running ZMK with combos, layers, and home-row mods.

“60 keys. encoders. infinite layers.”
ZMKQMK
NONC
chapter 09

waveshare_relay

2025 · utility

Custom Home Assistant integration for Waveshare relay boards. Built it because the off-the-shelf Modbus path didn't behave the way I wanted — this one exposes each channel as a proper HA switch entity for the homelab.

“click. relay closed.”
PythonHA
chapter 10

pizero_bikecomputer

2023 · fork

Forked the OG pizero-bikecomputer project and added a few personal tweaks — display layout, sensor calibration, and a couple of build fixes for my Pi Zero rig. Mostly upstream's work, with my customisations on top.

“gps. ant+. zero phone needed.”
PythonRPiGPS
23.4KM/H12.7km142bpm
part three

the homelab menagerie.

fifteen self-hosted services and nineteen ESPs living in a closet near goa.

15 services humming19 ESPs around the house1 closet, 0 downtime so farhover any tool to see it work →
home-assistant
automation hub
the brain — every light, sensor, and ESP listens to it
ESP32
esphome
esp firmware factory
manages 19+ ESP32 devices around the house
MQTT
mosquitto
mqtt broker
esp32 ↔ ha messaging bus
hyperion
ambient bias lighting
led strip behind the tv mirrors what's on screen
CF
cloudflared
cloudflare tunnel
exposes select services without opening any router ports
pi-hole
dns sinkhole
blocks ads and trackers for the whole network
hoarder
self-hosted read-later
saves links, scrapes pages, ai-tags into meilisearch
code-server
vs code in the browser
ssh-less editing from any device
ssh$_
ssh-server
remote shell
drop into the homelab from anywhere
filebrowser
web file manager
drag-and-drop into the homelab without scp
whisper
speech-to-text
local stt for ha's voice pipeline (wyoming)
piper
text-to-speech
local tts so the smart speakers don't phone home
portainer
docker ui
every stack managed from one pane of glass
v2
watchtower
auto-updater
pulls fresh container images on a schedule
rclone
offsite backup
scheduled syncs of the apps volume to cloud storage
powered by an old N100 mini-PC, a UPS, and stubbornness.
part four

what's on my desk.

three monitors, sleeping. hover to wake them.

hover to wake the displays · drag to orbit

spells I know.

// primary
FlutterDartGoTypeScriptRustSwiftPythonC++
// systems
GraphQLApollo RouterNATSKafkaKubernetesHelmGCPSupabasePostgresNeo4jElasticsearchFirebase
// ai
Anthropic ClaudeGeminiClaude CodeMCP serversComputer VisionPrompt EngineeringAgent design

once upon a school.

Agnel Institute of Technology and Design
B.E. — Electronics & Communications
2015 — 2019

// languages
EnglishHindiMarathiKonkani
fluent in some, brave in the rest — happy to translate between any of them on request.
part five

papers I've collected.

ones I've actually sat through — credentials are clickable.

Claude 101
Anthropic Academy
Claude Code in Action
Anthropic Academy
AI Fluency: Framework & Foundations
Anthropic Academy
Data Engineering on Google Cloud — Professional Certificate
Google Cloud · Coursera
Google Cloud Big Data and Machine Learning Fundamentals
Google Cloud · Coursera
Build Data Lakes and Data Warehouses on Google Cloud
Google Cloud · Coursera
Build Batch Data Pipelines on Google Cloud
Google Cloud · Coursera
Build Streaming Data Pipelines on Google Cloud
Google Cloud · Coursera
Smart Analytics, Machine Learning, and AI on Google Cloud
Google Cloud · Coursera
Preparing for your Professional Data Engineer Journey
Google Cloud · Coursera
Flutter App Development
Udemy
· the end ·

…or the beginning of something together?

I'm always up for a chat about ed-tech, side projects, mechanical keyboards, or whatever you're cooking up.

book a call ↗gshubham030@gmail.comgithub.com/shubham030resume ↓
made with cold coffee in goa · 2026