Endless Possibilities with Genamay

Under Development!

Welcome to my home page, it's all a bit of a mess and everything needs to be moved around but... Hi.
Please be aware that as i'm still working on the database structure, registration has been disabled.

Tackling modern web-technologies and full-stack development

Front End Landscape

The frontend is the client-side of a website or application — the entire User Interface (UI) that the end user directly sees and interacts with in their browser.

A successful frontend developer focuses on creating a rich, intuitive, and responsive User Experience (UX) that functions flawlessly across multiple devices and browsers. They achieve this by mastering the core web technologies:

  1. HTML5 for defining the content and structure.
  2. CSS3 for styling and visual presentation, often enhanced by utility frameworks like Tailwind CSS or preprocessors like Sass.
  3. JavaScript for adding complex interactivity, dynamic content, and state management, frequently utilizing powerful libraries and frameworks such as React, Angular, or Vue.js.
Beautiful Frontend Development

Backend Development and Infrastructure

While the user interacts with the frontend, the entire application relies on the backend. This is the critical engine that manages data storage, server-side logic, user authentication, and communication with the frontend, transforming a static page into a fully functional application.

Backend developers have many technology paths, often leveraging established server-side languages like Python, Java, PHP, or Ruby. They frequently use robust frameworks such as Django (Python), Spring Boot (Java), Laravel (PHP), or Ruby on Rails to standardise code and expedite production.

The backend's functionality is fundamentally tied to its data layer. Here, applications rely on various databases (e.g., PostgreSQL, MongoDB) to reliably store, retrieve, and manage all necessary information. Crucially, the backend exposes Application Programming Interfaces (APIs) to govern and facilitate seamless data exchange and communication, both between the frontend and the backend, and between separate services or projects.

Technical Backend Development

Full Stack Synergy

The essence of the full-stack role is often necessary in smaller production teams where it may not be possible to have individuals specialising on individual challenges.

As such the full stack developer is responsible for connecting all the layers of a web project - connecting the backend database to the frontend pixels on the screen and should be competent with the tasks at hand and also possess these additional skills:

  • System Design: The ability to conceptualize the entire system and map out how all different components — frontend, API, and database — will effectively interact.
  • Performance Optimisation: Ensuring the frontend loads quickly and the backend executes queries efficiently.
  • Security: Implementing best practices for data protection, handling user authentication (e.g., JWTs, OAuth), and actively preventing common vulnerabilities like SQL injection and Cross-Site Scripting (XSS)
  • Testing: Writing thorough unit, integration, and end-to-end tests for both frontend and backend code to ensure the reliability and stability of the entire application.

Tackling this domain means adopting a mindset of continuous learning, as new tools and best practices emerge rapidly. It is about understanding the trade-offs between different architectural choices and selecting the right tool for the specific job.

Full Stack Development
The Goals of Genamay Design

The Goals of Genamay Design

A Project-Based Learning Journey

The purpose of this website and its associated projects is to serve as a functional demonstration and documentation of my learning journey as I tackle modern web technologies head-on as a personal hobby.

Everything you see here, from the database architecture to the final pixel design, is the direct result of that continuous, full-stack learning process. By applying these concepts to a real-world, live scenario, I can consistently push my knowledge further and firmly reinforce what I've learned.

Hosting My Hobbies

A well-designed web application can be useful for so many things. Since I have a variety of personal hobbies that could be significantly enhanced by one, combining the learning process of a full-stack developer with a project I find personally beneficial is an opportunity I couldn't ignore.

While the scope of my interests is wide (mimicking the broad requirements of web development itself!), what you see before you is the logical end product of that synergy. Who knows where this learning path might lead next?

Constructive Feedback & Collaboration

The projects I create are intended for myself and my friends. As such, they'll naturally be subject to views and opinions that may uncover flaws or inspire feature requests, which will constantly push my learning even further.

The benefit of the internet is that being online means these projects aren't limited to my immediate circle. Others around the world may also find them useful and offer invaluable feedback or advice beyond what I could ever learn alone. It truly is a wondrous age for collaboration!

A Commitment to Helping Others

I freely admit that I am no expert in web development. However, throughout my learning journey, I've become acutely aware of the knowledge gaps I've faced. I know there are countless others following a similar path, likely just a few steps behind me.

As I develop my skills and projects, I would be genuinely honored if others benefited from this work. Therefore, the Genamay Hub will also feature concise guides and documentation expressing what I've learned.

This approach serves a dual purpose: it helps those who are just starting out, and it puts my knowledge out for those who are a few steps ahead to review and redirect me if my understanding has gone slightly off track. It's a way to learn, build, and contribute to the community all at once.

The Elephant In The Room: AI Integration

You may or may not be aware that many of the images used are AI-generated, and even some of the text, facts, and backend programming have been enhanced or checked using Large Language Models (LLMs).

I personally believe that if a powerful tool is available, it should be utilized. This includes using an appropriate framework for a programming language, or leveraging AI to help accelerate learning and check progress. However, asking AI to build the entire project is counterproductive; it doesn't align with my motivation for learning and, frankly, isn't reliable enough to complete complex tasks autonomously yet.

Therefore, while I will admit to making use of AI for efficiency and guidance, I will remain fully aware of each and every line of code in my projects. The understanding and ownership of what i create will remain entirely mine.

Final Conclusion

Ultimately, this entire project is driven by a deep passion for continuous learning and the profound satisfaction of building something end-to-end.

My name is Michael, and I sincerely welcome you to this gateway. Its purpose is to direct you through my evolving portfolio and grant you access to each of my functional projects. I truly hope you like what you see.

I deeply appreciate you taking the time to review my approach. If you have any ideas, something to add to my goals, or even a correction to my understanding, please don't hesitate to get in touch! The learning never stops!