Suraj Yadav's avatar Suraj Yadav · Software Engineer · Kerala, India

Native software. Forgotten platforms.

I design and ship QML, Flutter and full-stack web products end to end.

  • Qt / QML
  • Flutter
  • Dart
  • Python
  • C++
  • SQLite / Drift
  • Next.js
  • TypeScript
  • React
  • Linux
  • Firebase
  • Docker
  • PostgreSQL

Most engineers ship for iOS and Android. I build for the platforms everyone else abandoned: Linux phones and open desktops, where nothing is borrowed, every dependency is a decision, and every detail has to be earned.

CURRENT SPRINT Lomiri 24.04 Convergence & On-Device AI / Optimizing 4-bit local LLMs & Drift SQLite offline state engines
Ubuntu 24.04 Lomiri QML Flutter Drift Local GGUF
Problem Solving LIVE SYNC

1,100+

DSA problems solved across LeetCode, HackerRank, and GeeksforGeeks, backed by a 650+ day streak.

LeetCode: 439+ Rank: Top 6%

Lomiri Courses

Co-Author

Lomiri App Dev Level 1 & Level 2 training curriculum for engineers.

GitHub Awards

Pull Shark ×3

Plus Pair Extraordinaire ×2 & Starstruck trophies.

Dekko 2 convergent email client interface running on Ubuntu Touch phone

Dekko 2 Project

5 MRs Merged

Upstream contributions to Ubuntu Touch's flagship convergent email client.

Open Source GITHUB API

112+

Public repositories, tools & 100+ merged PRs across open source systems.

112 Repos Active Builder

Open Source Activity

Contributions & Achievements.

Contribution Activity @suraj-yadav0 on GitHub
4,525 ALL-TIME CONTRIBUTIONS
View GitHub

Verified GitHub Achievements

Level 9 Developer Rank
MultiLanguage
S

Rainbow Lang User

20pt

Repositories
S S S

God Repo Creator

112pt

Commits
S

Super Committer

1.7kpt

PullRequest
S

Super Puller

266pt

Reviews
A A A

Ultra Reviewer

34pt

Stars
A A

High Star

57pt

Issues
A A

Hyper Issuer

70pt

Experience
A A

Experienced Dev

18pt

Followers
A

Dynamic User

26pt

The journey so far.

  1. Mar 2025 · Present

    Junior Software Engineer

    CALIN Global Services India · Kerala

    Ubuntu Touch apps in QML and Python, Odoo integrations, OAuth and JWT auth systems, and co-authoring the official Lomiri App Development Level 1 & Level 2 courses.

  2. Apr 2024 · Aug 2024

    App Developer Intern

    NotAtMrp · Remote

    Flutter retail interfaces. GetX state management cut user waiting time by 70 percent and profiling lifted app speed by 30 percent.

  3. 2021 · 2025

    B.Tech, Computer Science

    Chandigarh Engineering College · Punjab

    Graduated with a CGPA of 8.52 across coursework in algorithms, operating systems, networks, databases and mobile development.

Selected Work

Five builds I own end to end.

money-manager-eight-nu.vercel.app LIVE WEB APP
Quantro Smart Finance Manager cross-platform Android and Web dashboard
01 // 05 Cross-Platform · Android & Web

Quantro

Local-first personal finance suite with automatic SMS expense tracking and instant SQLite queries.

Engineered with Flutter and Drift SQLite with real-time Firebase cloud sync. Features an automated 200+ keyword categorization engine, budget pacing, savings goals, and multi-currency net worth tracking.

  • Flutter
  • Drift SQLite
  • Riverpod
  • Firebase
  • Vite
  • Material 3

Local-First Drift SQLite

Type-safe compiled DAOs with compound indexes on transaction timestamps, providing sub-5ms queries and reactive Dart UI streams.

Isolated SMS Parser

Background isolate scanning 200+ Indian banking formats (UPI, NEFT, IMPS) via regex tokenization without stuttering 120Hz display refresh.

Delta Cloud Sync

Firestore delta sync with vector clock conflict resolution, allowing seamless offline CRUD with automatic cloud reconciliation.

Dart · Drift SQLite DAO
Stream<List<TransactionWithCategory>> watchMonthlyExpenses(DateTime month) {
  final start = DateTime(month.year, month.month, 1);
  final end = DateTime(month.year, month.month + 1, 0, 23, 59, 59);
  return (select(transactions).join([
    innerJoin(categories, categories.id.equalsExp(transactions.categoryId))
  ])
    ..where(transactions.timestamp.isBetweenValues(start, end))
    ..orderBy([OrderingTerm.desc(transactions.timestamp)]))
    .watch()
    .map((rows) => rows.map(_mapToTransactionWithCategory).toList());
}
open-store.io/app/utgpt.surajyadav OPENSTORE APP
Offline on-device AI chat app running on Ubuntu Touch Lomiri
02 // 05 Ubuntu Touch · On-Device AI

utgpt

Private, zero-network on-device AI chat application for Linux mobile phones.

Runs quantized lightweight LLMs (Qwen 2.5, TinyLlama, SmolLM2 via GGUF) directly on Ubuntu Touch with complete privacy and zero telemetry. Published natively on OpenStore.

  • QML
  • Python
  • Local inference
  • GGUF
  • Lomiri
  • MIT

Zero-Network GGUF Runtime

Executes 4-bit quantized LLMs (Qwen 2.5, SmolLM2, TinyLlama) locally on device RAM through optimized C++ llama.cpp bindings.

Async Socket IPC

Python inference worker communicates via UNIX domain sockets with QML main thread, preventing UI lockup during token generation.

AppArmor Sandbox

Strict security confinement enforcing zero internet permission in Ubuntu Touch manifest, guaranteeing complete conversational privacy.

QML · Lomiri Token Streamer
Connections {
  target: aiWorker
  function onTokenReceived(chunk) {
    messageModel.appendToken(currentStreamIndex, chunk)
    if (chatView.atYEnd) {
      chatView.positionViewAtEnd()
    }
  }
  function onInferenceFinished(totalTokens, tokensPerSec) {
    metricsBar.text = i18n.tr("%1 t/s · %2 tokens").arg(tokensPerSec.toFixed(1)).arg(totalTokens)
    promptField.enabled = true
  }
}
open-store.io/app/ubtms ENTERPRISE ERP
Enterprise Time Management timesheet tracking and Odoo ERP sync interface
03 // 05 Enterprise · Odoo Integration

Time Management

Native timesheet tracker, project logger, and multi-server Odoo ERP synchronizer.

Engineered for Ubuntu Touch and Linux desktop, directly communicating with enterprise Odoo instances via REST APIs to track billable work hours, tasks, and project velocity seamlessly.

  • QML
  • Odoo REST
  • Python
  • Lomiri
  • Enterprise Sync

Multi-Tenant Odoo Gateway

Supports switching between multiple corporate Odoo instances with secure token lifecycle management and SSL certificate verification.

Idempotent Offline Ledger

Timesheet entries are committed locally with UUID keys; retry synchronization prevents double-billing on intermittent mobile networks.

Adaptive QML Convergence

Single codebase dynamically restructures UI layout between compact phone screen and external 4K desktop monitor via Lomiri shell.

Python · Odoo Sync Gateway
def sync_timesheet_entry(entry):
    headers = {"Authorization": f"Bearer {get_valid_token()}", "X-Idempotency-Key": entry["uuid"]}
    payload = {
        "project_id": entry["project_id"],
        "task_id": entry["task_id"],
        "unit_amount": entry["duration_hours"],
        "name": entry["description"]
    }
    res = requests.post(f"{odoo_url}/api/timesheet/create", json=payload, headers=headers, timeout=10)
    if res.status_code in (200, 201):
        db.mark_synced(entry["id"], remote_id=res.json()["result"]["id"])
github.com/suraj-yadav0/wishgift FULL-STACK WEB
WishGift full-stack collaborative wishlist platform interface
04 // 05 Full-Stack Web · Social Gifting

WishGift

Collaborative wishlist and social gifting platform with real-time item reservation locking.

Architected with Next.js 16, React 19, and Prisma ORM. Users curate gift registries, claim gifts in real time to prevent duplicates, and manage follow networks across a serverless database backend.

  • Next.js 16
  • React 19
  • Tailwind v4
  • Prisma
  • Zustand
  • PostgreSQL

Atomic Reservation Locks

PostgreSQL conditional update transactions guarantee no two users can claim the same wishlist item simultaneously.

Next.js 16 Server Actions

Server components eliminate client bundle weight for public viewing, with optimistic UI updates handled through Zustand store.

Serverless Prisma ORM

Connection pooled database architecture with relational constraints, indexed search, and automated migration versioning.

TypeScript · Prisma Transaction
export async function claimItem(itemId: string, claimantId: string) {
  return await prisma.$transaction(async (tx) => {
    const item = await tx.wishlistItem.findUnique({ where: { id: itemId } });
    if (!item || item.claimedById) {
      throw new Error("Item already claimed or unavailable");
    }
    return tx.wishlistItem.update({
      where: { id: itemId },
      data: { claimedById: claimantId, claimedAt: new Date() }
    });
  });
}
extensions.gnome.org SHELL TOOLING
GNOME Shell extension geometric background clock with Anurati font
05 // 05 GNOME Desktop · Shell Extension

clockApp

Geometric background clock face for GNOME desktop with layered typography and visual effects.

Native GNOME Shell extension developed in JavaScript, CSS, and GSettings. Offers customizable screen positioning, Anurati typographic dials, and dynamic background blending.

  • JavaScript
  • GNOME Shell
  • CSS3
  • GSettings
  • Linux Desktop

Clutter / St Scene Graph

Injected directly into Mutter compositor window manager via GNOME Shell St toolkit, requiring zero external web runtimes.

Reactive GSettings Schema

Listens to dconf change signals for instant desktop theme adaptation, screen positioning, and font scaling without restarting shell.

Cairo Vector Geometry

Hardware accelerated clock dial rendering with exact anti-aliased geometry and zero CPU rendering overhead on battery power.

JavaScript · GNOME St Actor
const ClockActor = GObject.registerClass(
  class ClockActor extends St.Widget {
    _init(settings) {
      super._init({ style_class: 'anurati-clock-actor', reactive: false });
      this._settings = settings;
      this._settings.connect('changed::clock-position', () => this._relayout());
      this._timerId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 1, () => {
        this._updateTime();
        return GLib.SOURCE_CONTINUE;
      });
    }
  }
);

More builds.

Side projects, tools, and open source explorations.

  • WhatsWeb client running on Ubuntu Touch with push notifications

    WhatsWeb

    Responsive WhatsApp Web client for Ubuntu Touch with local push notification daemon and QML download helper.

  • Document Harmony Indian official record consistency verification engine

    Document Harmony

    Indian official record consistency & cross-verification engine (Aadhaar, PAN, Passport) with automated anomaly detection.

  • Native Reddit client interface for Ubuntu Touch Linux phone

    Reddit Client

    Native Linux phone Reddit browser with gesture navigation, threaded comments, voting, and subreddit feeds.

  • Invoice Generator Flutter cross-platform billing suite

    Invoice Generator

    Cross-platform Flutter desktop & mobile billing suite with itemized calculations and instant PDF export.

  • Money UT Ubuntu Touch native expense tracker

    Money UT

    Native Ubuntu Touch personal expense manager with Lomiri UI, spending categories, and monthly breakdown analytics.

  • Customer Churn ML prediction analytics dashboard

    Customer Churn ML

    Predictive machine learning classification pipeline with ROC-AUC analysis, feature importance, and customer risk scoring in Python.

  • Vyakhya AI ML Kit OCR image to text translation mobile app

    Vyakhya AI

    Image to text translation with ML Kit OCR across 500+ languages and speech synthesis.

  • Wallter Flutter wallpaper app with curated Pexels photo gallery

    Wallter

    Curated wallpapers with search and high quality downloads on the Pexels API.

  • Apna Dukan Flutter e-commerce grocery shopping mobile app

    Apni Dukan

    E-commerce for local shops with inventory, orders and payments on Firebase.

  • CaptionIt AI photo caption and hashtag generator mobile app

    CaptionIt

    AI captions and hashtag suggestions tuned to your photo's mood.

  • Nimbus real-time weather forecasting and meteorology app

    Nimbus

    Location aware forecasts with detailed meteorological data built with Flutter Bloc.

Writing & Case Studies

Technical breakdowns & deep dives.

FEATURED CASE STUDY

The Evolution of My Portfolios: 5 Distinct Builds Explored

An in-depth technical analysis exploring all 5 portfolio systems I have built so far—spanning our interactive terminal CLI, artistic scrapbook journal, mobile Linux Touch showcases, and our zero-framework engineering flagship. Includes live previews and architectural takeaways.

Portfolio v4 (Current) Terminal CLI Portfolio Sanskriti Scrapbook Portfolio v3 (Lomiri) Second Portfolio (v2)
Read Full Case Study → Blog Overview
all-portfolios-index.json
{
  "portfolio_v4": "https://suraj-yadav0.github.io/portfolio-v4/",
  "terminal_cli": "https://suraj-yadav0.github.io/terminal-portfolio/",
  "sanskriti_art": "https://sanskriti-portfolio-two.vercel.app/",
  "portfolio_v3": "https://suraj-yadav0.github.io/portfolio-v3/",
  "portfolio_v2": "https://suraj-yadav-second-portfolio.vercel.app/"
}