Habibullah Bahar

HEY THERE!

I'M HABIBULLAH BAHAR

I will design & develop your dream web application as per your requirment.

My Services

Client satisfaction is my first priority

Web Design

Full Stack Development

I develop websites with clean, modern, and bug-free code to deliver a seamless user experience.

Web Design

Front-End Development

I design fully responsive front-end interfaces and create static websites.

Web Design

App Development

I build smooth and efficient mobile applications for both Android and iOS platforms.

Experience & Education

Experience

Full Stack Web Developer

Mark Hanson

January 2024 - August 2024

Developed a multi-tenant platform allowing users to create and manage communities, share content, and more. Collaborated with the team on 2 additional client projects before transitioning to this role.

Software Engineer

Algo solver

August 2021 - December 2023

Led the front-end development of 3 client project. Collaborated with the team to design and implement optimized solutions, delivering robust features across 8+ client projects.

Project Instructor & Quiz Creator

10 Minute School

February 2020 - March 2021

Created 3155+ questions for students from Class 6 to HSC and admission preparation. Served as an ICT instructor, delivering classes to a community of over 1.5 million students.

Professional Courses

Next Level Web development Course

Institution: Programming Hero

Duration: October 2024 - Present

Computer Science and Engineering (CSE) Fundamentals

Institution: Phitron

Duration: March 2022 - May 2024

Complete Web Development Course

Institution: Programming Hero

Duration: January 2022 - August 2022

Education

Bachelor of Business Administration (BBA)

University: National University, Bangladesh

Passing Year: On going (4th year)

Recent Blogs

Choosing the Perfect Database: Why Convex for Real-Time Applications

Choosing the Perfect Database: Why Convex for...

Sep 24, 2024

In today's fast-changing world of app development, choosing the right database is key to ensuring good performance, scalability, and user experience. Recently, I built a real-time messaging app using Convex, a serverless and reactive data platform. This experience helped me understand when Convex is the best option and when traditional databases like MySQL or PostgreSQL might be a better fit. Why I Chose Convex for a Real-Time Messaging App Convex is designed for applications where real-time data synchronization, scalability, and low-latency operations are critical. In my messaging app, users required instant updates for messages, reactions, and replies. Convex stood out for several reasons: 1. Real-Time Updates by Default Convex offers real-time updates right away, so users receive instant feedback. This means you don’t have to deal with complicated tools like WebSocket or polling, which can make your application more complicated than needed. 2. Easy to Use Setting up real-time queries and mutations in Convex is simple. It abstracts away the need to manage servers, which can be particularly helpful when you're focusing on features rather than infrastructure. This allowed me to build a scalable real-time messaging app without worrying about low-level configurations. 3. Reactive Programming Model Convex's reactive programming model means that any changes in the database automatically propagate to subscribed clients. In a messaging platform where users expect live updates (e.g., new messages, replies, reactions), this feature was essential to maintaining responsiveness. 4. Serverless and Scalable With Convex being serverless, it scales seamlessly with traffic spikes. This is crucial for real-time applications where user activity can be unpredictable. There’s no need to manually configure or optimize servers for scale, allowing developers to focus on building features. 5. File Storage Simplified Convex includes built-in support for handling file storage, which was particularly useful for my messaging app where users can send images and documents. This integrated file storage feature allowed me to manage uploads directly in the app without needing to rely on external services, keeping both files and messages tightly coupled in the same environment. 6. Simple and Secure Authentication Convex makes it easy to set up secure authentication with built-in support for user login and access control. Whether you're using OAuth or other methods, Convex handles the complexities of user management, ensuring that only authorized users can access the app's data. This simplifies the process of managing user sessions and permissions, while keeping everything secure. When Convex Might Not Be the Best Fit Although Convex was the perfect choice for my messaging app, there are scenarios where traditional SQL databases or other services might be more appropriate. 1. Complex Query Requirements Convex is optimized for real-time, reactive use cases, but when it comes to handling highly complex queries (like multi-table joins and complex aggregations), traditional SQL databases such as PostgreSQL or MySQL might offer more flexibility. These databases have been around for decades and provide extensive query capabilities, optimized for a wide range of business logic. 2. Transaction Handling Convex is great for handling single documents, but it may not be the best choice if your app needs to work with multiple documents or tables at the same time. SQL databases excel in this area. For example, in large e-commerce sites or financial systems, it's important to ensure that transactions are reliable and consistent, which often requires using a relational database that follows ACID (Atomicity, Consistency, Isolation, Durability) principles. 3. Long-Term Data Analytics If your application requires complex data analytics, reporting, or long-term storage, you may benefit from the advanced querying and indexing capabilities of SQL databases. They are often better suited for data warehouses and business intelligence systems, where historical data needs to be queried efficiently. When to Choose Convex Real-time applications: Messaging apps, live collaboration tools, real-time dashboards, etc. Small-to-medium applications: Where ease of setup and scalability are critical. Serverless architecture: If you don’t want to manage infrastructure. Low-latency operations: When users expect real-time updates without delay. When to Consider Other Options Data-heavy applications: With complex joins, reporting, or data warehousing needs. Transactional systems: E-commerce platforms, banking apps, or other systems requiring complex transactions. Enterprise-grade analytics: Where historical data queries and analysis are necessary. Conclusion Having used Convex for a real-time messaging application, I found its reactive, serverless nature perfect for the task. Convex’s ability to handle real-time updates seamlessly gave my app a huge performance boost, especially in terms of user experience. However, for applications requiring complex transactions or heavy analytics, SQL databases like PostgreSQL or MySQL are still strong contenders. Ultimately, the choice between Convex and traditional databases boils down to your application's requirements. If you're building a real-time app where responsiveness and scalability are critical, Convex may be your best bet. However, if your focus is on complex queries, transactions, or analytics, a traditional SQL database might be the more reliable option. For learning more you can visit https://docs.convex.dev/home

Photo Gallery

Algosolver company trip, Cox's Bazar 2022

Algosolver company trip, Cox's Bazar

Team Algosolver at Westin Dhaka2021

Team Algosolver at Westin Dhaka

Algosolver team at weeding of our CEO2021

Algosolver team at weeding of our CEO

One of top twelve (National Round), IDLC Finance Olympiad 20182018

One of top twelve (National Round), IDLC Finance Olympiad 2018

Ambassador Award Giving Ceremony - 10 Minute School2020

Ambassador Award Giving Ceremony - 10 Minute School

Gala Event - IDLC Finance Olympiad 20182018

Gala Event - IDLC Finance Olympiad 2018