Welcome to DevPort

A futuristic digital workspace showcasing innovation, skill, and a passion for software development. Explore my projects and journey into the world of code.

Featured Projects

A selection of my work, demonstrating diverse skills and technologies.

Android Note Taking App
Android Note Taking App
An Android application built with Java and XML, utilizing Firebase for functionalities like adding, deleting, and updating notes.
Java
XML
Firebase
Android
SleepWell: AI-Powered Sleep Assistant
SleepWell: AI-Powered Sleep Assistant
An Android app developed with Kotlin and Jetpack Compose, featuring melodic sleep sounds, phone scheduling (black & white mode, alarms), AI-driven sleep analysis, and story reading. Built with RoomDB, Firebase Auth, API integration, and MVVM.
Kotlin
Jetpack Compose
RoomDB
Firebase Auth
MVVM
Android
AI
API Integration
Desktop Weather Forecaster
Desktop Weather Forecaster
A desktop application created using Python and a weather API, providing 7-day weather forecasts for any specified city.
Python
Weather API
Desktop App
MyFinance Tracker Website
MyFinance Tracker Website
A web application for tracking personal finances, built with Flask (backend), HTML/CSS (frontend), and SQL (database). Features include managing bank details, recording expenses, and viewing aggregated expense data.
Flask
Python
HTML
CSS
SQL
Web App
Console-Based Learning Management System
Console-Based Learning Management System
A Learning Management System (LMS) developed purely in Java, running in the console. It allows teachers to add/assign courses, enroll students, assign work, and manage various educational tasks.
Java
Console App
LMS

My Skill Arsenal

A glimpse into the technologies and tools I wield.

Android Development
Kotlin
Jetpack Compose
Java
Python
C/C++
SQL
Firebase
Room Database
Linux Shell
HTML
CSS
XML
Figma
DSA (200+ problems)

Code Craftsmanship

Snippets from my daily coding adventures.

Kotlin Coroutines & Serialization
Language: kotlin
import kotlinx.coroutines.*
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json

@Serializable
data class Post(val userId: Int, val id: Int, val title: String, val body: String)

suspend fun fetchAndProcessPost(postId: Int): Post {
    // Simulate a network call
    delay(1000)
    val mockJsonResponse = """
        {
            "userId": 1,
            "id": $postId,
            "title": "Fetched Post Title",
            "body": "This is the body of post $postId."
        }
    """.trimIndent()
    return Json.decodeFromString<Post>(mockJsonResponse)
}

fun main() = runBlocking {
    val post = fetchAndProcessPost(5)
    println("Title: ${post.title}")
    println("Body: ${post.body}")
}
Kotlin Desktop App (Compose)
Language: kotlin
import androidx.compose.desktop.ui.tooling.preview.Preview
import androidx.compose.material.Button
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application

fun main() = application {
    Window(onCloseRequest = ::exitApplication, title = "My Kotlin Desktop App") {
        var text by remember { mutableStateOf("Hello, Desktop!") }

        MaterialTheme {
            Button(onClick = {
                text = "Button Clicked!"
            }) {
                Text(text)
            }
        }
    }
}

@Preview
@Composable
fun AppPreview() {
    // This is a preview for Jetpack Compose for Desktop
    // It might not render directly in all IDEs without specific setup
    MaterialTheme {
        Text("Hello, Desktop Preview!")
    }
}
C++ DSA: Palindrome Check
Language: cpp
#include <iostream>
#include <string>
#include <algorithm> // For std::reverse

// Function to check if a string is a palindrome
bool isPalindrome(const std::string& str) {
    std::string reversed_str = str;
    std::reverse(reversed_str.begin(), reversed_str.end());
    return str == reversed_str;
}

int main() {
    std.string testStr1 = "madam";
    std.string testStr2 = "hello";

    if (isPalindrome(testStr1)) {
        std.cout << testStr1 << " is a palindrome." << std.endl;
    } else {
        std.cout << testStr1 << " is not a palindrome." << std.endl;
    }

    if (isPalindrome(testStr2)) {
        std.cout << testStr2 << " is a palindrome." << std.endl;
    } else {
        std.cout << testStr2 << " is not a palindrome." << std.endl;
    }
    // Expected output:
    // madam is a palindrome.
    // hello is not a palindrome.
    return 0;
}