I started this project because I needed a portfolio for my freelance work.
I am a developer who enjoys solving problems. Marketing myself is less familiar territory. I had projects to show and experience to explain, but turning that into a professional presence—and finding the right opportunities to go with it—needed its own work.
My response was fairly predictable: I started building tools.
The result grew into NexusHQ, a workspace with a public portfolio, a 3D café, a content administration system, and tools to help with freelance research and proposal preparation.
Some parts solve practical problems. The café comes from something more personal.
A portfolio was only part of what I needed
I am working toward full-time freelancing while still employed. That means the time around my regular work matters.
A portfolio helps someone understand what I can build. But there is work before a potential client ever visits it: finding relevant listings, reading requirements, deciding whether a project fits, and preparing a thoughtful proposal.
I had already built AI agents for different companies. It made me wonder why I was not applying the same thinking to my own workflow.
Could I build an Upwork agent that helps find suitable listings and prepares drafts for me to review?
That idea became part of this project. I wanted a place that supported both presenting my work and doing the preparation around finding more of it.
Building an agent for my own freelance workflow
The Upwork side grew into a private research and preparation workspace.
A local worker looks for opportunities, evaluates them against configurable checks, and prepares proposal and resume-highlight drafts. The admin interface gives me a place to review that work and understand why a listing was kept or filtered.
The purpose is to reduce repetitive preparation. A listing still needs judgment: whether I understand the problem, whether the scope fits my experience, and whether I can commit the time it needs. A proposal also needs to sound like something I would actually send.
I wanted the system to help me arrive at those decisions with the relevant information and a useful first draft. I remain responsible for reviewing what gets submitted.
That is the same reason I enjoy building agents for other businesses. There is usually a recurring piece of work that can be made easier, leaving the person with more time for the decisions that need their attention.
This time, I was the person with that problem.
Why the public portfolio became a café
The inspiration for the interactive setting came from Jesse Zhou's ramen-shop portfolio. It showed me how a portfolio could feel like exploring a place.
A café was the setting that felt right for me.
I like cafés. I enjoy working in them, and I also enjoy spending time playing board games. Work, a conversation, and a game can all belong in the same afternoon.
I have a longer-term dream of opening a café where engineers can work comfortably, take a break, and spend time with a community. Somewhere people could bring a laptop, discuss an idea, or stay for a board game.
The 3D portfolio became a small digital expression of that idea. It gave me a way to build a place I would enjoy spending time in, while introducing visitors to my professional work.

A development capture of the café. The setting brings together my interest in working from cafés and the community space I would like to create someday.
Giving the room a purpose
Once I chose the setting, I needed it to help visitors discover the portfolio.
The café's objects became routes into different parts of my work. The menu board presents skills. Framed prints show experience. A bookshelf leads into projects. Business cards provide a way to get in touch. Other parts of the room make space for open-source work, interests, and the person behind the projects.
I wanted those connections to feel natural enough that someone could explore without needing an explanation for every object.
The design also went through revisions. The room moved toward warmer wood, cream, and sage tones. Frames needed more space for real photographs. Skill lists became individual pills. About and contact content needed to be useful once a visitor opened it.
I used Claude as part of the interface design process, alongside my own implementation and revisions. Working with AI helped me explore and build, but the direction kept coming back to a personal question: does this feel like a place I would want to invite someone into?
Making a clear route through the same work
The 3D café is one way to explore the portfolio. I also built a conventional 2D site for visitors who want to read directly.
Someone reviewing me for a project may want to open a case study, scan my experience, or find my contact details quickly. The 2D pages provide that route, while the café offers a more exploratory experience.
Both presentations use content managed through the admin system. A project description or profile update should not need to be maintained separately for each version.
That decision shaped the project beyond its appearance. It meant thinking about published content, drafts, media, and how the same information should read in two different settings.
The work behind the presentation
A large part of the journey was reviewing the actual portfolio material.
I went through older and recent projects, clarified my role, expanded descriptions where the work needed more context, and selected screenshots that helped explain each product. Some projects needed a detailed case study. Smaller freelance builds needed a shorter account of the problem and what I delivered.
The smaller presentation details mattered too. Skills needed to reflect work I could explain. Photographs needed enough room to be seen properly. Experience frames needed to distinguish a current role from past ones.
Availability became another practical part of the site. Since I am transitioning toward full-time freelancing, potential clients need to understand when I can work. The portfolio shows the available schedules in a visitor's local timezone, with an option to change it.
These details made the site more useful as a place for a prospective client to make a decision.
What this project became
NexusHQ started with a straightforward need: a portfolio for freelance work.
It now brings together several things I care about. The public pages help people understand my experience. The private tools support the work around finding opportunities. The café gives the whole project a setting that reflects how I like to work and spend my time.
I still want to become better at presenting my work. Building this has been one way of practicing that: deciding what a visitor needs to know, explaining the value of a project, and making it easier to start a conversation.
And until I can build the real café I have in mind, this is a place where I can start bringing that idea to life.