Skip to content

Full-stack developer at Wireone Labs

Dhanush S · Full-stack developer · BangaloreI solve problems.Whichever layer they live in.

A mobile screen, an API, a database shared by too many tenants, a pipeline, a Raspberry Pi on a farm, a touchscreen driver that won't behave. For three years I've followed problems wherever they go. This is how I got here.

01Origin

No big moment. It just kept pulling me in.

There's no story about a broken computer and a eureka. In 12th grade I wrote some code and liked it more than I expected to. At university the cloud sessions were the ones I didn't want to end.

Every year it got a bit more serious, and I didn't really notice it turning into the thing I'd do for a living.

  1. 12th grade

    Wrote code. Enjoyed it.

  2. University

    Cloud sessions. Wanted more.

  3. 2023

    First feature in production.

02First ship

The day my code met real users.

My first feature in a production app was small. Notice when the phone drops its connection, tell the person, and recover quietly when it comes back. The same banner you've seen on YouTube a hundred times.

Nobody notices that banner when it works. But real people on real, unreliable networks were going to hit it every day, and it was the first time something I wrote was out there doing a job without me.

That's when it actually started. Not the code itself. Solving a problem for someone I'd never meet.

9:41No connectionBack online

03Jul 2023 – now

Wireone Labs shaped everything.

I joined as a frontend developer. Nobody told me to stay in my lane, so I didn't. Since then I've worked on the app, the backend behind it, the servers it runs on, and the devices it talks to.

The chances I was given there changed how I work more than any course could have.

Every layer of the stack

  1. 01

    Interface

    Rebuilt an agritech mobile app from an empty repo. Version two draws its screens from a JSON schema instead of hard-coding them.

  2. 02

    Backend

    Moved a multi-tenant ERP from one shared database to one database per tenant. Same product, much smaller blast radius.

  3. 03

    Identity

    Replaced a separate Django-admin login on every service with one identity layer on Authentik.

  4. 04

    Infrastructure

    Mobile builds that start from a Teams message. Grafana alerts that reach the right person before users notice.

  5. 05

    Devices

    Raspberry Pis that set themselves up through Jenkins and MeshCentral. Nobody configures them by hand any more.

  6. 06

    Down to the metal

    Debugged Android display and touch problems at the kernel and driver level, flashing real devices to test every fix.

  • 40%

    faster responses after load testing with Locust and k6 and splitting the hot paths out

  • 50%

    less time spent on deployments once Jenkins and Docker pipelines took over

  • 100%

    tenant isolation after the per-tenant database migration

What it taught me.

  1. 01

    Write it down.

    Documentation used to feel like homework. Now it's the first thing I do. Whoever reads it next might be a teammate at midnight, or me in six months.

  2. 02

    Make it small.

    Every problem that looked impossible turned out to be a pile of small ones. Find the first piece and start there.

  3. 03

    Stay calm when it breaks.

    Production goes down. Panic doesn't fix it: logs, a rollback plan and a clear head do. Then you write down what happened so it doesn't happen twice.

04The work I'm proudest of

Teaching a machine to agree with people.

Two online stores list the same product with different titles, photos and specs. Is it the same item, a variant, or something else entirely? I was on the team building the engine that decides. My part was accuracy, which mostly meant not trusting it.

Accuracy

Accuracy went from 73% to 81%.

Overall matching accuracy, across tuning cycles
  1. 01

    Benchmarks checked against human QA

    So that “better” meant something, instead of being a feeling.

  2. 02

    Rules tuned per category

    Every category fails in its own way. One global threshold was never going to fit.

  3. 03

    Fix the data before blaming the logic

    A lot of “wrong” matches were really bad input. Cleaning that up moved the number more than clever rules.

  4. 04

    A better review dashboard

    Reviewers find mistakes faster, and every mistake they find feeds the next round of tuning.

Other things I've built.

  • RPI Provisioning & Deployment Automation

    Automated end-to-end provisioning, configuration and remote management of RPI’s using parameterized Jenkins pipelines.

    • Jenkins
    • MeshCentral
    • Bash
    • Git
  • Identity & Access Management (Authentik)

    Implemented SSO-based centralized user management replacing Django admin across multiple services and environments.

    • Authentik
    • OAuth2/OIDC
  • Safety Docs

    Secure storage and access control for documents with OTP login and audit trail.

    • Next.js
    • MongoDB
    • AWS
    • Nest.js
  • APK/AAB Builder Workflow

    Trigger mobile builds via Microsoft Teams using AWS and receive instant build links.

    • React Native
    • AWS
    • Microsoft Teams
  • Infra Monitoring

    Real-time dashboards and alerts using Grafana and Prometheus for distributed systems.

    • Grafana
    • Prometheus
    • Loki
    • Node Exporter
    • AWS
  • MoM System

    Streamlined meeting notes with approval workflows, role-based control, and PDF exports.

    • Next.js
    • Nest.js
    • PostgreSQL
    • ShadCN
    • Tailwind CSS

05Timeline

The full record, if you want the details.

  1. Jul 2023 - Present

    First Software Development RoleNow

    Began my professional journey at Wireone Labs where I contributed to developing robust and scalable applications, gaining hands-on experience with production-level codebases and agile methodologies.

    Jul 2023 - Present · Remote - Bangalore, India · Full Time

    First Software Development Role

    Worked as a Full Stack Developer across multiple cross-functional projects spanning mobile apps, frontend development, backend development, ERPs and DevOps. Delivered scalable solutions and built end-to-end features, contributed to architecture decisions and led automation and optimization initiatives

    Highlights

    • Contributed to 10+ projects spanning mobile apps, backend systems, ERPs, DevOps, IoT platforms and low-level system customization
    • Led major revamp of Agritech Mobile App v2 including repository setup, optimization and feature development
    • Designed and built centralized identity and access management using Authentik, replacing Django admin-based user control across multiple services
    • Individually automated Raspberry Pi provisioning and redeployment using Jenkins + MeshCentral, eliminating manual device setup
    • Migrated multi-tenant ERP architecture from shared distributed DB to isolated tenant databases, improving scalability and isolation
    • Implemented on-demand mobile build automation using AWS EC2, Lambda, S3, and Microsoft Teams bot integration
    • Worked on Android SDK customizations, debugging kernel, driver, display and touch issues with real-device flashing workflows
    • Refactored and modularized services for performance and scalability
    • Self-hosted and customized Frappe & Odoo ERP platforms with cross-system integration
    • Improved observability and reliability by setting up Grafana-based infrastructure monitoring and alerting system
    • Actively contributed to code reviews, emphasizing clean code practices and performance optimization

    Projects

    • Agritech Mobile App

      A modular mobile app to manage farm data and control IoT devices. Contributed to feature enhancements in v1 and played a key role in rebuilding the v2 app from scratch

      • Network status alerts, mention feature and image-based plant analysis in v1
      • Set up base repo and rendered UI from JSON schema in v2
      • Built custom components based on Figma and refactored the repo structure
      • React Native
      • Firebase
      • MQTT
    • Backend Service for Agritech App

      Worked on features contributions, dashboards and optimized APIs to support the mobile app

      • Model updates, custom dashboard actions and bulk notification via Celery
      • Service refactoring, slow API optimization and API documentation
      • Django
      • PostgreSQL
      • Redis
      • MongoDB
    • Notification Service

      Extended existing notification service to support multiple tokens and iOS push payloads.

      • Support for multiple user tokens for sending bulk notifications and iOS-specific push notification structure
      • Node.js
    • Raspberry Pi Provisioning & Deployment Automation

      Built parameterized Jenkins pipelines to automate provisioning, configuration and remote management of Raspberry Pi devices connected via MeshCentral, eliminating manual setup efforts.

      • Designed Jenkins pipelines to onboard new RPIs by selecting device type, target device and farm mapping
      • Automated installation and configuration of services such as FRP, Influx, py-serial, Mosquitto MQTT and others
      • Implemented automatic port allocation and identifier generation based on existing device patterns
      • Built redeployment pipelines supporting custom parameters like ports, identifiers and selective service reinstallation
      • Created operational pipelines with checkbox-style controls to restart py-serial services or reboot RPIs remotely
      • Added dedicated pipeline to deploy py-serial updates across devices
      • Refactored fragmented py-serial implementation into a universal main.py supporting multiple device modes
      • Built reusable utilities for serial communication and MQTT interactions
      • Added logging with log rotation for better observability and debugging
      • Jenkins
      • MeshCentral
      • meshcmd
      • Bash
      • Git
      • Linux
    • ERP Integrations

      Customized and integrated self-hosted ERP systems with backend services, building dashboards and syncing user data

      • Hosted and customized views in Frappe and Odoo
      • Implemented user sync, password reset flows and load testing with Locust
      • Frappe
      • Odoo
      • MariaDB
      • PostgreSQL
    • Invest Platform

      Designed and built a financial investment platform backend and frontend flows for onboarding and internal dashboards

      • Login/signup with email verification, onboarding flow and admin controls
      • Server/client validations and deployment-ready Flask setup
      • Flask
      • PostgreSQL
      • Redis
      • Vue
      • AWS S3
    • Morph - Pharma ERP

      Built core modules for pharma ERP including backend APIs, dynamic forms and multi-tenant architecture

      • Falcon setup with auth, migrations, Swagger generator script
      • Implemented dynamic form builder and multi-tenancy logic
      • Migrated architecture from single distributed database to tenant-specific databases (1 DB per tenant)
      • Performed backend and database load testing across tenants using Locust with custom GET/POST simulation scripts
      • Set up monitoring with Prometheus and Node Exporter, including exporters for PgBouncer, PostgreSQL, and Redis
      • Built highly customizable dashboards on frontend allowing users to add/remove metrics, change variants, drag-resize panels, group metrics into tabs, and build dynamic panels and metric cards
      • Implemented version history modal for records, allowing users to view historical versions and revert to any previous state
      • Contributed towards building different modules and sub-modules
      • Falcon
      • ScyllaDB
      • Next.js
      • PostgreSQL
      • Prometheus
      • Locust
      • Redis
    • Infrastructure Monitoring Solution

      End-to-end setup for observability and alerting across cloud services

      • System and service metric collection with Prometheus and Node Exporter
      • Loki log aggregation with Promtail and custom Grafana dashboards
      • Microsoft Teams alerts for outages and resource optimization
      • Grafana
      • Prometheus
      • Loki
      • Promtail
      • AWS
      • Node Exporter
    • Automated Mobile App Build System

      Implemented on-demand APK/AAB build automation via Teams commands and AWS infrastructure

      • Trigger builds via Teams, download links and logs shared automatically
      • Auto-start and stop EC2 for resource efficiency
      • AWS EC2
      • Lambda
      • S3
      • Microsoft Teams Chatbot
      • GitHub
    • Centralized User Management (Authentik)

      Designed and implemented a centralized user management and access control system using Authentik, replacing existing Django admin-based user management across services.

      • Set up Authentik as a central identity provider for multiple services
      • Integrated SSO for Agritech mobile app, Django backend (dev & prod), Grafana and Falcon backend
      • Configured service-specific access using users, groups and permissions
      • Implemented custom permission handling inside Authentik replacing default django permissions
      • Built a custom user onboarding flow in authentik
      • Implemented policy based permissions for services
      • Authentik
      • OAuth2/OIDC
      • SSO
      • Django
      • Grafana
      • Falcon
    • FarmOS – IoT Device Management Backend

      Contributed to building a dedicated backend service to manage IoT devices and farm infrastructure

      • Built a standalone Falcon-based service to manage farms, devices, configurations and IoT-specific workflows
      • Migrated farms, devices and related data from the existing Django backend into the new system
      • Designed and implemented slot-based device pairing and unpairing, where each farm contains device slots
      • Implemented month-wise audit logging to track configuration and device state changes
      • Falcon
      • MongoDB
      • Redis
      • Dramatiq
      • Docker
    • Backend Service for managing IoT systems

      Worked on features contributions, dashboards and optimized APIs to support the mobile app

      • Model updates, custom dashboard actions and bulk notification via Celery
      • Service refactoring, slow API optimization and API documentation
      • Django
      • PostgreSQL
      • Redis
      • MongoDB
    • Android SDK Customization

      Worked on customizing and debugging the Android SDK, focusing on display, touch and system-level issues across SDK builds and hardware flashing workflows.

      • Debugged SDK-built images where GUI was not rendering on display and identified boot and driver-level issues
      • Overrode default boot image with custom one to show custom logo on boot
      • Fixed display alignment issues, touch driver customizations and display color calibration problems
      • Built and flashed Android images onto hardware to validate changes directly on devices
      • Set up a custom lightweight Git repository to track only modified SDK files due to the large size of the full SDK
      • Designed a workflow where changes were pulled into the server and automatically applied to the SDK environment via Docker container restarts
      • Android SDK
      • Linux Kernel
      • Device Drivers
      • Docker
      • Git
    • Spiti Mobile App

      Home automation app enabling users to control devices and schedule automation tasks

      • Device control and automation via MQTT messaging protocol
      • React Native
      • MQTT
    • Eksa Mobile App

      Mobile application for controlling light opacity using real-time MQTT communication

      • Established and maintained MQTT connection
      • Sent real-time opacity control values based on user input
      • React Native
      • MQTT
  2. Jan 2025 - Jun 2025

    Freelance Software Developer

    Managed end-to-end software development projects for diverse clients, from initial concept and design to deployment and maintenance.

    Jan 2025 - Jun 2025 · Bangalore, India · Hybrid

    Freelance Software Developer

    Serving as a technical consultant delivering full-cycle software solutions. Spearheaded the development of end-to-end platforms with a focus on security, process automation and user-centric design. Engaged in system design, backend and frontend development and DevOps for multiple high-impact projects

    Highlights

    • Delivered three full-scale production systems and a prototype for Coca-Cola
    • Integrated scalable backend services with automated workflows and PDF generation capabilities
    • Ensured robust user management, activity logging and access control using best practices in authentication and authorization

    Projects

    • Minutes of Meeting (MoM)

      A collaborative meeting management platform to create, review and approve meeting minutes with structured workflows and audit trails

      • Role-based user access (Creator, Reviewer, Approver)
      • Email-based onboarding with secure authentication
      • Hierarchical project structure with custom assignments
      • Import previous topics, approve workflows with change comments
      • Automated PDF generation and detailed notification system
      • Next.js
      • ShadCN
      • Tailwind CSS
      • NestJS
      • Prisma ORM
      • PostgreSQL
    • Safety Document Holder

      An access-controlled platform to manage and distribute documents with full audit logging

      • OTP login and auto-logout for session security
      • RBAC for controlled access to documents
      • Upload, view, download docs with permission control
      • Activity logs capturing login, views, downloads
      • Super admin onboarding and user lifecycle management
      • Next.js
      • ShadCN
      • Tailwind CSS
      • NestJS
      • MongoDB
      • AWS S3
    • Billing Software Platform

      A billing system enabling admins, approvers and users to manage purchase orders and generate bills from uploaded Excel data

      • Role-based views for Admin, Approver and User
      • PO upload and full or partial bill generation with quantity tracking
      • Downloadable bills as PDF with approval tracking
      • Secure login and access control
      • Email notifications for bill status updates
      • Next.js
      • ShadCN
      • Tailwind CSS
      • NestJS
      • Prisma ORM
      • PostgreSQL
    • Coca-Cola Prototype (NDA Compliant)

      Built a prototype tailored to Coca-Cola"s internal needs involving streamlined operations and system automation

      • Rapid prototype development within a week
      • Demo-ready flow for internal review
      • Confidential
  3. Jul 2020 - Jun 2023

    Bachelor's in Computer Applications

    Laying the groundwork with core computer science principles and algorithms

    Jul 2020 - Jun 2023 · Bangalore, India · Full Time

    Bachelor's in Computer Applications

    Successfully completed a Bachelor of Computer Applications program, consistently excelling academically while engaging in significant software development projects and contributing to community welfare

    Highlights

    • Graduated with an overall CGPA of 8.3
    • Consistent academic performance with SGPA scores across six semesters: 8.27, 8.75, 7.48, 8.09, 8.67 and 8.67
    • Member of Karnataka Civil Defence Corps (KCDC), actively involved in community support and training activities

    Projects

    • KJC Connect

      Developed a comprehensive college management software designed to streamline communication and administration within College

      • Enabled students to log in, view and send emails to teachers and other students
      • Allowed teachers to schedule classes and send detailed information to students via email
      • Provided administrative tools for managing student and teacher details, including email lookup functionalities
      • VB.NET
      • SQL Server
      • SMTP
    • Mobile News App

      Created a mobile application for local and global news, featuring user-generated content and integrated news feeds

      • Allowed users to upload and view local news updates
      • Integrated the News API to fetch global news from various websites
      • Provided an administrative panel for managing posts and registered users
      • React Native
      • Firebase
      • React
      • News API
      • JavaScript
    • E-BusPass System

      Designed and developed a web-based platform for online bus pass applications and management

      • Enabled users to apply for daily, monthly and student passes online with immediate access to digital copies for travel
      • Provided administrative functionalities to manage pass rates, users, approve student passes based on submitted details and track pass status, payments and feedback.
      • ASP.NET
      • HTML
      • CSS
      • Bootstrap
      • SQL Server
      • Razorpay

06Toolbox

Tools change. The habit of figuring things out doesn't.

These are what I reach for today. I pick the tool for the problem, not the other way round.

Reach for daily

  • Python
  • JavaScript
  • Typescript
  • HTML
  • CSS
  • React.js
  • Next.js
  • React Native
  • Vue.js
  • Django
  • Falcon
  • Flask
  • Node.js
  • Nest.js
  • PostgreSql
  • MongoDB
  • Redis
  • ScyllaDB
  • Git
  • AWS
  • Docker
  • Jenkins
  • Nginx
  • Swagger
  • Firebase
  • Grafana
  • Promtail
  • Prometheus
  • Node Exporter

Used in production

  • Rust
  • three.js
  • Framer Motion

Learning now

  • AI/ML Foundations
  • LLM
  • Langchain
  • 3.9

    Years building for real users

  • 22

    Projects delivered

  • 78

    Features shipped

  • 58

    Technologies used in production

  • 1718+

    Contributions on GitHub

  • 21

    Repositories

07On AI

AI didn't make the hard part easier. It made it obvious.

Writing code was never really the hard part. Knowing what to build, proving it's right and owning it when it breaks at 2 a.m. was the job. AI made the typing almost free. What's left is the whole job.

  1. 01

    Writing things down was AI practice all along.

    Wireone taught me to document everything. I thought that was for the next person. It turns out a model needs exactly what a new teammate needs: clear context, constraints and the why. Good docs became good prompts.

  2. 02

    Never trust a confident answer.

    On the matching engine, a result only counted once it agreed with human QA. I hold AI output to the same bar: benchmark it, read the diff, try the edge case. Confidence isn't correctness, from a model or from me.

  3. 03

    The pager is still mine.

    I use AI every day, heavily. But the decisions, the review and the 2 a.m. call stay with me. That part doesn't get delegated.

I'm not someone who knows it all. I'm someone who knows how to figure it out, and AI makes the figuring out faster.

08What's next

Got a problem that doesn't fit in one box?

Those are the ones I like. Product, backend, infrastructure, devices: if it's stuck, I'd like to hear about it.