Skip to content
View adi2355's full-sized avatar

Block or report adi2355

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
adi2355/README.md
Terminal intro panelAditya profile banner

Core Stack

Languages C++ C Swift Kotlin TypeScript JavaScript Python SQL
Data & Storage PostgreSQL SQLite Redis Cassandra DynamoDB
Frameworks & Runtime Node.js Express.js Spring React Native Expo FreeRTOS Socket.IO
Observability Grafana Prometheus Sentry OpenTelemetry CloudWatch
Cloud & Infra AWS GCP Docker Terraform Nginx Linux
CI/CD & Tooling GitLab CI/CD Kafka Postman Jest ESLint Git

Engineering Philosophy

1. Treat local state as the durable interaction layer

Every device and client treats its own storage as ground truth. RTC ring buffers on firmware, SQLite on mobile, and transactional outboxes on the backend ensure no user action is lost to a network failure.

Goal: The system remains functional and data-safe without any network connection.

2. Design for recovery, not just the happy path

OTA dual-bank rollback on firmware. Crash-safe sync cursors and conflict resolution on mobile. Dead-letter queues and idempotent replay on the backend. Every subsystem assumes failure is a runtime constant, not an edge case.

Goal: Every failure mode has a named recovery mechanism, no silent fallbacks.

3. Enforce idempotency at every trust boundary

Sequence numbers and CRC integrity in the BLE protocol. Cursor-based sync with deterministic conflict resolution on mobile. Request-level deduplication and transactional outbox delivery on the backend. Retries, duplicates, and reordering are expected across every boundary.

Goal: Any operation can be safely retried without corrupting system state.

4. Separate concerns by timing and data semantics

Dual-core RTOS partitioning keeps sensor ISRs away from BLE negotiation. Native BLE modules isolate connection management from JavaScript orchestration. Domain event subscribers decouple side effects from API request paths. Each subsystem owns its own timing model.

Goal: No subsystem's timing constraints leak into another's execution model.


Core Domains

Edge Firmware

Dual-core RTOS firmware with clear separation between timing-sensitive paths and background work. Built for OTA recovery, deep sleep, physical calibration, and constrained on-device inference.

Microcontrollers · FreeRTOS · BLE / NimBLE · Binary Protocols · Low-Power Architecture

Native Mobile Systems

iOS and Android runtimes designed for BLE connectivity, restoration, and background-safe device communication. Architectures that stay coherent under intermittent networks and lifecycle limits.

Swift · Kotlin · React Native · HealthConnect · HealthKit Ingestion Pipelines

Data Reliability & Sync

Offline-first data systems built around local state as a durable interaction layer. Reconciliation paths designed to remain safe under retries, partial success, and long offline windows.

SQLite · Transactional Outbox · Cursor-Based Sync · PostgreSQL · Redis

Cloud & Worker Infrastructure

Backend APIs, queue-backed workers, and bounded processing pipelines designed for correctness under failure. Includes tool-enabled intelligence grounded in trusted data paths and explicit controls.

Node.js · BullMQ · WebSockets · Edge AI / TinyML · Predictive Analytics


Platform Architecture

End-to-End Platform: Runtime Containers and Data Flow

Platform Domains

Repository Focus
ESP32-S3 Edge Firmware Platform Dual-core FreeRTOS firmware with binary BLE transport, OTA recovery, deep sleep, calibration, and on-device inference
Offline-First Mobile Platform Native BLE runtime, HealthKit ingestion pipelines, SQLite-first UX, transactional outbox sync, and cursor-based architecture  
Cloud-Native Backend Platform Event-driven Node.js/TypeScript backend with transactional outbox, multi-device sync, idempotent health ingestion, CQRS projections, and AI with PHI redaction
Cross-Platform Shared Contracts Canonical sync configuration, conflict resolution rules, and health metric definitions ensuring type-safety across the platform

Open to discussing complex systems, hard engineering problems, or compelling opportunities

LinkedIn   Download on TestFlight

Terminal Status Bar

Pinned Loading

  1. Sensor-Firmware-Platform Sensor-Firmware-Platform Public

    ESP32-S3 firmware platform: FreeRTOS multi-task architecture, BLE protocol, OTA recovery, tiered persistence, and on-device ML inference

    C++

  2. Cloud-Native-Backend-Platform Cloud-Native-Backend-Platform Public

    Cloud-native, event-driven Node.js/TypeScript backend platform: transactional outbox, multi-device offline-first sync, idempotent health data ingestion, AI/ML and comprehensive observability

    TypeScript

  3. Offline-First-Mobile-Platform Offline-First-Mobile-Platform Public

    Offline-first mobile platform with native BLE device communication, HealthKit ingestion pipelines, cursor-based sync, and SQLite-first architecture, built with React Native, Swift, and Kotlin.

    TypeScript

  4. multi-source-rag-pipeline multi-source-rag-pipeline Public

    Multi-source RAG pipeline with hybrid vector + keyword retrieval, LLM-powered concept knowledge graph, adaptive search weighting, and evaluation framework.

    HTML

  5. xv6-kernel-extensions xv6-kernel-extensions Public

    Kernel-level extensions to MIT's xv6 operating system, CPU scheduling algorithms, demand-paged virtual memory, and file system enhancements with multi-level block indexing

    C

  6. ethereum-AI-agent ethereum-AI-agent Public

    AI-powered conversational interface for Ethereum blockchain operations: intent-driven NLP pipeline, smart contract deployment, session-scoped wallet persistence, and market data aggregation.

    TypeScript