Nexus
Building out the front-end of the internal staff app
Introduction
How I built Nexus
Nexus was built with .NET MAUI utilizing C# & XAML. I had to learn both of these after completing the design side of things, with Visual Studio.
I picked up and learnt XAML quite easily because of my previous experience with web dev and experienced front-end developers at Council to help me. The C# part was a bit more rough and took me longer to wrap my head around, and when I started to get the hang of it the project was paused and I started working on the DisasterHub redesign pitch.
2025
1-2 months
Lead Product Designer & Front-end Developer
Myself, Team lead, Dev team

Constraint
The two major constraints was my inexperience and lack of another developer working with me on the project.
Major problem was my inexperience using .NET MAUI anytime before this project. Add to that there are time constraints/deadlines (sort of) makes it also a bit more difficult. Ultimately I decided to build out the entire UI layout/screens, colors, and reusable components as my contribution to front-end. The lack of another experienced developer working with me on it to help me with the more complex stuff and to help guide me would of probably been the best case scenario.
Main Focus
Figma design → .NET MAUI so basically translating my design to code in the form of the UI layout/screens, colors (light/dark), and reusable components etc.
When completing/getting the final design in Figma to a good place, consistent screens etc I started to translated said designs to code with XAML. Most of my work was just creating all the screens and organsing the files/folders, and adding comments splitting up the more complex pages to be more easier understood.
Learning Process
I utilized Notion to document my learning in bite sized pieces as you'll see further down. I learnt the XAML (UI) side much faster then the more logic part (C#).
With Notion I set up a database to add different pages to document some key things I learnt with the UI other then the basics. For example creating a floating action button which is not native to MAUI and using grid to create responsive elements side by side.
Notion Board
MVVM
Learning .NET MAUI Model-View-Viewmodel took me a moment and obviously still plenty to learn.
I did end up binding 2-3 things and started to understand it but then the project got paused. I binded the weather card on the homepage and a user list in the admin screens. I don't believe I have enough of an understanding to show anything and I don't believe I really have much of the code to show and probably wont show any logic code and only really going to show UI/Front-end stuff.
Floating Action Button
This was probably the most confusing part of creating the UI. Learning that MAUI did not have any native support for a floating action button I had to learn how to get around it.
If you are seeing this I obviously got around it. It was actually pretty simple solution in hindsight but I tried a could different ways to solve this problem. One was trying to use a sticky/absolute positioning which did not really get me anywhere. Another option would be looking at a package/plugin but decided to keep looking before going there. Lucky last was actually basically the sticky solution from above but there wasn't any way to just add a position: sticky.
I ended up having to wrap the entire UI in a <Grid> and had the scrollable content in a <ScrollView> and outside of that we placed our sticky button in a <VerticalStackLayout> which had the <VerticalStackLayout.Background> which let me use a gradient to give it that nice look when scrolling the fixed content.
Creating the Floating Action Button
Grid & StackLayout/s
Understanding and utilizing Grid & StackLayout. These are the backbone to how you structure the UI from page to page.
The grid was naturally a bit more confusing but the StackLayout is basically just Display: Flex, but I learnt was a bit weird as well. You have the Horizontal, Vertical, and just normal StackLayout. But for whatever reason the StackLayouts had no ability to add a gap between the elements inside it. Whereas I think the grid did have a gap option.
Aa
Styles
This was also a pretty easy part to learn. Mix of just reading docs, asking copilot and looking at the current SCC app and how it uses styles.
Below shows some AI generated example code that you might see in a .NET MAUI app. In my case I had all the palettes in Figma ready to go just needed to understand how MAUI used styling. Then you setting up how the different buttons should be styled, another key thing used in this area was BasedOn.
Basically I would create a DefaultButton style which had everything then used the BasedOn to create the rest of the buttons, by doing this you only need to update the DefaultButton say sizing to update them across all buttons used. This greatly reduces the time and effort, reducing technical debt over time.
Outcome
Learnt a good amount and achieved a reasonable amount considering experience with this area.
Considering my first time translating design to code I did quite well. I ended up ensuring all the styles, buttons and components were accurate and consistent, and built out majority of the UI screens. Whilst the .NET MAUI experience wasn't terrible I do plan on learning and using React Native for any future app development I do.
Retrospective
Ideally have a more experienced developer work on the same project with me. Document much more and more often.
I think the only thing I would want from the experience is to have a sort of supervisor/manager/mentor of just me helping me learn and understand it a bit more. I obviously was able to go ask for help around things confusing me but actually have said person working on the same project could be beneficial.
Aa
Aa
Aa
Aa
Aa
Aa