Mycelium / Custom tools · Community coordination
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?
The situation
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.
An example of a custom application that gives related people, groups, events, and messages a shared structure.
One concrete example
Make an offer and find a relevant group.
Input
In the fictional sample community, add the offer “Bicycle repair for community events” to a profile, then search organizations for “repair”.
What happens
The preview stores the offer in its temporary profile data and filters the sample organizations by the search term.
Observable result
The next profile read includes the new offer, and the organization search returns Repair Cafe. Both behaviors have dedicated preview checks.
Human review
A visitor can inspect the profile and group details to decide whether the connection is relevant. This search is separate from the full stack’s semantic matching.

What I built
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.
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.
Technical decisions, workflow, and verification
Next.js / TypeScript · FastAPI · PostgreSQL / pgvector · SQLAlchemy · NetworkX
Follow the workflow
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.
Discover relevant connections
The application supports semantic matching between offers and needs, alongside discovery influenced by relationship distance. Sample preview connections are predefined.
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.
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 instructionsFollow 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 sourceReview 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