All work

Mycelium / Full-stack application · Community

Find the people behind a shared need.

Mycelium explores a practical community question: who can help, what is happening nearby in your network, and how do you make the first connection?

Independent full-stack prototype

Mycelium sample community homepage with events, messages, connections, profiles, and organizations.
The no-account preview uses fictional people, groups, events, and example connections.

The problem

Useful skills and resources are often difficult to find even within a community. A list of profiles misses the context: what someone offers, what a group needs, and the relationships that could make an introduction relevant.

My contribution

I designed and built this independent full-stack prototype with AI-assisted development. My work connects the product model and user journeys to a Next.js interface, FastAPI services, relational data, graph discovery, and a sample environment that can be explored without creating an account.

Next.js / TypeScript · FastAPI · PostgreSQL / pgvector · SQLAlchemy · NetworkX

Follow the workflow

  1. Describe an offer or need

    People, organizations, and events share a model for what they offer and what they are looking for. For example, a member offers bike repair while a community event needs a repair volunteer.

  2. Discover relevant connections

    The application supports semantic matching between offers and needs, alongside discovery influenced by relationship distance. Sample preview connections are predefined.

  3. Start with a shared context

    A first message can begin through a group or event. Membership, participation, and messaging rules give that interaction a place and a purpose.

  4. Follow the relationship

    Profiles, groups, events, messages, and network views provide different ways to understand the same connected community data.

Decisions and tradeoffs

One database, several kinds of relationship

PostgreSQL stores relational records and vector data; bounded recursive queries support graph discovery. Shared transactions simplify the prototype, while larger graphs would require workload and query testing.

Local context instead of a universal score

Relationship distance and individual visibility choices influence discovery. The design avoids a single global reputation score; graph proximity is context, not proof of trustworthiness.

A preview with a clear boundary

A separate sample mode makes the interface easy to inspect with fictional data. A refresh resets changes. Database-backed authentication and real embedding behavior belong to the full local stack.

Explore the evidence

Explore the sample community locally

The repository includes a no-account frontend preview, a short tour, and synthetic data. It needs no API keys, database, or email account.

Open the preview instructions

Follow the data and service design

Public source covers typed nodes and relationships, membership, messaging, graph-distance discovery, and vector matching. A Compose setup provides the database-backed demo and local email inbox.

Explore the source

Review the recorded checks

The September 4, 2026 verification record reports 120 backend tests and 4 preview behavior tests passed, both frontend build modes passed, and a fresh Compose stack accepted the synthetic seed.

Read verification notes

Where it stands

The sample preview demonstrates interactions with fictional, temporary data; its match scores are illustrative. The full stack is intended for local use while deployment controls are developed. Production scale, abuse resistance, and real-world matching relevance have not been established.

The next useful improvement

Test whether people find the proposed connections useful, and refine the first-contact experience using that feedback before expanding the platform.