Skip to content
§00Daybreak Systems LabJava · PostgreSQL · Next.js · Flutter

Full-stack developer & SaaS builder

I build software that survives the real world.

Full-stack developer & SaaS builder — Java, PostgreSQL, Next.js, Flutter.

Selected work4case studies
In progress3products
Runs offlineFlutteroutbox sync
Based inBengaluruIN
§01Selected work4 records

Four systems, and what each one had to survive.

Two are in the open and still being built, one runs in production under an NDA, and one is a bench. No usage numbers, no clients, no launch dates — none of that would be true yet.

Live
In progress
Prototype
Private
01In progress

Houseplant no Jutsu

Generic plant-care advice kills Indian houseplants.

An India-first plant-care companion: simple care guidance and timely reminders tuned to local conditions, for people who want their plants to live.

Next.jsSpring BootPostgreSQL
In development — follow along ↗
Status
In progress
Surface
Web app
Stack
Next.js · Spring Boot · PostgreSQL
Fig. 01Care loop
PLANT MODELSCHEDULEREMINDERFEEDBACK · WATERED / SKIPPED
How a plant’s care model drives a schedule that emits reminders, and how the reply feeds back.
02In progress

Subscription Tracker

Recurring payments are designed to be forgotten.

A focused tool for understanding subscriptions: upcoming renewals, real monthly spend, and the nudge to cancel what you no longer use. This site's UI layer — @daybreak/ui — is the design system built for it.

Next.jsSpring BootPostgreSQL
In development — follow along ↗
Status
In progress
Surface
Web app
Stack
Next.js · Spring Boot · PostgreSQL
Fig. 02Renewal timeline
M1M2M3M4M5RENEWS · 7DCANCELLEDSPEND / MO
Recurring charges laid out on a timeline, with monthly spend and one subscription stamped cancelled.
03Private

Offline-first field systems

Travel and fitness apps must work where the network doesn't.

Production systems for travel operations and fitness tracking: Flutter clients that treat the local database as the source of truth, an outbox queue for writes, and a Java/PostgreSQL backend that reconciles the difference. The patterns are public in the essay below.

FlutterJavaPostgreSQL
Read the engineering essay ↗
Status
Private
Surface
iOS · Android
Stack
Flutter · Java · PostgreSQL
Fig. 03Outbox sync
DEVICELOCAL DBOUTBOXPUSH WRITESPULL DELTASPOSTGRESCONFLICT: LWW / MERGE
The local database is the source of truth; writes queue in an outbox and reconcile against Postgres.
04In progress

Independent experiments

Small ideas deserve small, finished software.

A rotating bench of focused SaaS products and mobile experiments built around everyday problems.

ReactFlutterProduct design
Browse the bench on GitHub ↗
Status
In progress
Surface
Mixed
Stack
React · Flutter · Product design
Fig. 04The bench
TAKING SHAPE
Scattered small ideas, a few wired together, one taking shape.
§02Engineering notes1 published
N°01Medium

Offline-First Flutter: Local Source of Truth, Outbox Sync, and Conflict Resolution

A pragmatic blueprint for travel and fitness apps that must work on flaky networks — using Drift/Isar, an outbox queue, and clear conflict policies.

flutteroffline-firstsoftware-architecturemobile-development
Sections
13
Subject
Offline-first sync
Stack
Flutter · Java · Postgres
Read on Medium ↗
Contents13 sections
  1. 01Introduction
  2. 02Architecture at a glance
  3. 03Choosing a local database: Drift vs Isar
  4. 04Core data model (Drift example)
  5. 05Write path: local write + outbox in one transaction
  6. 06Sync engine: push outbox, then pull deltas
  7. 07Conflict resolution strategies
  8. 08UI patterns that build trust
  9. 09Background sync on Android/iOS
  10. 10Server-side requirements (Java/Postgres)
  11. 11Common pitfalls (and fixes)
  12. 12When offline-first is worth it
  13. 13Closing
Further notes in preparation.Draft
§03About / capabilities5 layers
Name
Hanish Naripireddi
Practice
Full-stack developer & SaaS builder
Located
Bengaluru, India
Position
12.97° N, 77.59° E
Core stack
Java · PostgreSQL · Next.js · Flutter
Status
Open to select work

One person, five connected systems.

The same spine runs through everything: model the data honestly, keep the API boring, make the client trustworthy. Most of what I build is a small system that has to keep working when the network, the device, or the user does something unplanned.

BackendJavaSpring Boot
DataPostgreSQLschema & sync
WebNext.jsReact · TS
MobileFlutteroffline-first

Fig. 05 · One system, in layers

01PRODUCT SYSTEMSSCOPE02MOBILEFLUTTER · OFFLINE-FIRST05WEBNEXT.JS · RELEASES03BACKEND APISJAVA · SPRING BOOT · CONTRACTS04DATA MODELSPOSTGRESQL · SCHEMA & SYNCRECONCILE

The five entries alongside walk the same five layers, top to bottom.

  1. 01

    Product systems

    Scoping a niche SaaS end to end — the data model, the API, the client, and the parts of the product nobody sees until they fail.

    • SaaS architecture
    • system design
    • product thinking
  2. 02

    Mobile experiences

    Flutter apps built offline-first: local source of truth, outbox sync, and interfaces that stay honest when the network doesn't.

    • Flutter
    • Drift / Isar
    • background sync
  3. 03

    Backend APIs

    Java services with boring, dependable API contracts — versioned, idempotent where it matters, designed for flaky clients.

    • Java
    • Spring Boot
    • API architecture
  4. 04

    Data models

    PostgreSQL schemas that carry the product: migrations, delta sync, and conflict policies decided in the model, not in production.

    • PostgreSQL
    • schema design
    • sync & conflict policy
  5. 05

    Web & delivery

    React and Next.js frontends, and the release discipline to ship them — web, Play Store, App Store.

    • React
    • Next.js
    • TypeScript
    • releases

Then it was morning.

§04 · First light
§04ContactFirst light

The next systemstarts as a signal.Send one.

Email
hanishnaripireddi@gmail.com
Located
Bengaluru, India
Status
Open to select work
Best for
Product systems, SaaS builds