TEMPERINI

Contact
problema
metodologia
backend
benchmarking
validacion
supply
cierre

MANIJAPP

Discovering events isn't the problem. The problem is knowing which ones are worth it.

Independent MVP for alternative event discovery in Buenos Aires and La Plata, with visible community validation and geolocation.

• Visit Manijapp ↗
Manijapp banner
Type · Independent MVP, production validation
Role · Product Designer — strategy, UX/UI, discovery, metrics
Timeline · 3 weeks
Stack · React, Cursor, Vercel, GA4, Clarity, Supabase
Status · Active validation.

TL;DR

01. Problem

Independent events in Buenos Aires and La Plata lack a reliable centralized source. Discovery happens in fragmented ways: Instagram, WhatsApp, word of mouth.

02. Insight

The problem isn't finding more events — it's identifying which ones are worth it. The friction is in curation and trust, not availability.

03. Solution

A discovery platform with visible community validation, geolocation, and a focus on events outside the mainstream circuit.

04. Results

Early retention signals sustained over multiple days, real behavior across the full core loop (exploration, validation, sharing, publishing) and first cases of supply without explicit request.

The problem

On weekends in La Plata and Buenos Aires, the question "what is there to do?" gets answered poorly. Eventbrite has the mainstream events. CulturaBA has the official calendar. Instagram has everything mixed together.

The underground show at an alternative space, the party that only circulates on WhatsApp, the event at a new bar with no visibility — none of them appear on any platform.

The initial hypothesis was simple: centralize events near you. That changed in the first discovery cycle.

The insight that reframes it

With the prototype in production, validation started the same day. Five guerrilla research sessions. Three of them reached the same conclusion without anyone suggesting it: the differentiator isn't all the events — it's the ones that aren't anywhere else.

They didn't want another Eventbrite. They wanted access to what exists nearby but is invisible — verified, currently circulating only on WhatsApp.

That reframes the product. It's not a volume problem. It's a curation and trust problem.

Manijapp Explore section and Map view mockup
Explore section and Map view

How it was built: methodology before stack

Build before research

The first trade-off was explicit: wait for more conceptual clarity or ship to production with an incomplete system.

The decision was to launch. Not for speed itself, but because an interface generates a kind of signal no prior research can replace. Five real conversations in 48 hours teach more than any email survey.

The cost of skipping the specification

Without a prior brief, the AI made thousands of micro-decisions I never asked for: copy that didn't communicate, visual hierarchy with no logic, undefined states. The cost wasn't only efficiency — it was methodology. If the UX has noise from generator defaults, testers react to decisions you never made. The data is contaminated before you even start.

Spec-Driven Development

The fix wasn't technical, it was procedural. Without a clear specification, the AI fills the gaps and defines the product in place of the designer.

Moving to a spec-driven approach introduces a key distinction: it lets you direct the agent instead of letting the agent direct. Without that control layer, execution speed amplifies error and increases the surface to correct. That early cost doesn't disappear; it turns into technical debt.

From Concierge to backend

Context

A single criterion governed every technical decision in the project: don't build infrastructure before having evidence to justify it.

The publishing form existed from day one. Events submitted by organizers landed in a Google Sheet and I published them manually — that was the supply-side flow.

Events I uploaded manually (Instagram flyers, direct contacts) went through AI-assisted extraction, but with documented rules, a fixed venue table, and geocoding criteria to validate each field systematically. AI accelerated extraction, but every data point still required review before publishing.

The organizer perceived that the flow worked.

Wizard of Oz flow: Form → Google Sheet → manual publish → Mail
Loading flow: the organizer perceives publishing exists. The backend waits for real evidence of demand.
Event ingestion flow: Parsing → AI → Event_spec.md → Array → Manual tuning
Event ingestion: AI-assisted extraction against documented rules, with manual review before publishing.

Trigger and decision

The same logic defined when to add Supabase. During the first weeks, thumbs counters were simulated values — enough to validate whether someone tapped the buttons, not to measure real behavior. The trigger was concrete: real organizer events appeared. At that point simulated data stopped being neutral. The numbers affected credibility. I needed real persistence.

Learning

I started without a backend to avoid scaling infrastructure without validation. The problem: the cost of keeping everything manual was higher than the cost of building persistence early. The methodological rule was right, but the trade-off shifted — the cost tends to zero.

The dependency was triple: interest depended on curation, traction depended on distribution, and both depended on my energy. That's sustainable for validation. It's not sustainable over time.

Benchmarking and defining the differentiator

Jodify

The most useful competitive benchmark didn't come from research either — it came from loading events. Jodify showed up on social while I was running the catalog. The analysis was from the inside: direct contact posing as a venue. Jodify operates as a B2B channel with human gatekeeping — onboarding call, 10% commission, paid positioning.

The contrast with Manijapp is structural: Jodify validates before publishing, Manijapp validates after via community. They're different bets on how trust is built.

The naming: when the evidence isn't conclusive

After the first cycle, two contradictory signals appeared about the name. Someone with a marketing background validated it. Someone with a product background pointed out that "manija" can evoke a second-tier brand — names that prioritize the phonetic over the aspirational — and that this could lower the product's perceived value.

The decision was not to change it. Not because one signal outweighed the other, but because there's no data that the name slows usage or generates rejection in the target segment. A well-grounded opinion is not behavioral evidence. The trigger for revisiting it is defined: if repositioning toward a higher-paying segment advances, the naming goes into review as part of the identity system. Not before.

Validation: four cycles, chained decisions

MetricCycle 2Cycle 3Cycle 4
Active users (GA4)893235
Pages / session2.454.022.91
Scroll depth63.7%78.4%65.35%
Active time57s1m 30s1m 0s
7-day retention (cohort)7.9% (7/89)~7.1% (2/28)4% (1/25)
Returning users (GA4)2310
validation_tap13%6.25%14.3%
event_shared5.2%6.25%8.6%
event_submitted120

Cycle 1 · First signal, contaminated methodology

17 contacts activated, 5 real sessions. One user returned three times without intervention, which indicated interest. However, system variables kept changing while measuring, which invalidated the signal.

The decision was to isolate conditions before continuing.

This cycle also exposed an inconsistency: community validation, defined as a differentiator in the brief, wasn't visible during scanning. Removing the indicators from cards was correct visually but wrong strategically. The brief worked as a correction tool.

Cycle 2 · Early signals confirmed

With controlled variables and a redesigned outreach — more contextual and segmented — stable patterns started to emerge.

Between 4 and 6 daily returning users were recorded over several days without direct contact, exceeding the defined threshold. An event was also published by an organizer without prior intervention. This showed that passive distribution — Instagram stories, third-party references — generated supply without explicit intervention.

Both signals indicated the system was starting to sustain itself.

Cycle 3 · Seeding experiment and network limit

The third cycle introduced a seeding experiment. Interaction with validation was higher in that context, but session quality improved when intervention decreased.

Retention stayed stable, even with lower volume and a more distant distribution network. This suggests the product doesn't lose value; what degrades is channel efficiency.

The lesson is clear: direct outreach has diminishing returns. Scaling doesn't mean insisting on the same channel — it means changing it. The next step is presence in the ecosystem, not higher message volume.

Cycle 4 · Retention without intervention

The fourth cycle had no distribution, stories, or new events. With no stimulus, 10 users from earlier cycles came back on their own. Per-user engagement was the highest in the entire series: validation_tap at 14.3%, event_shared at 8.6%.

The absence of intervention is what makes this cycle the cleanest. Any metric from earlier cycles could be explained by the novelty effect of outreach. Here there is no outreach. What gets measured is the product alone.

The conclusion is concrete: the bottleneck isn't the product or retention. It's acquiring users with real intent. Direct outreach brings curiosity, not habit.

Real metrics funnel across the core loop: sessions, event detail, thumbs interaction, share, publish
Core loop funnel with real data from cycles 2, 3 and 4.

Supply: not just friction, also incentive

The initial hypothesis was that having a direct network in the independent scene solved the supply side. Years as a DJ gave access to promoters and organizers — enough to bootstrap supply without depending on strangers publishing on their own.

The signal exists but it's not enough. Three submissions across two cycles confirm that the direct-network hypothesis generates some traction, but it's far from sustaining a catalog of 40 events per weekend. Access to the scene reduces cold-start friction; it doesn't replace the structural incentive that makes an organizer publish on their own.

The second hypothesis was friction. That also breaks down with two converging signals. In research, an interviewee put it directly: "posting events isn't a habit, it's just another task." The form redesign reduces friction for those who already have intent, but doesn't create the intent.

The conclusion is structural: without an audience, there's no incentive to publish.

This defines the product sequence. Demand is built first. Then supply scales. Without a visible audience, there's no real value proposition for organizers or venues.

When that critical mass exists, the conversation changes: it stops being asking an organizer for a favor and becomes offering them access to a real audience. The business model isn't postponed; it's sequenced.

Underground electronic party in Buenos Aires: a DJ mixing vinyl and digital in front of a dense crowd, red and blue lights cutting through smoke in a cinematic atmosphere.

What's next

Cycle 4 confirmed the bottleneck is the channel, not the product. Retention exists without stimulus. The next step is acquiring users with real intent — people who don't know me and still show up.

Pending advances have triggers, not dates.

The most important decision isn't what to build.
It's what to measure, by what criteria, and when the signal is sufficient to act.

Manijapp is an ongoing project — manijapp.vercel.app

GLORYFIT preview

Next case

Personalized routines from your data

View Glory Fit

Have an idea or challenge in mind?

Let's talk
LinkedInBehanceDribbbleUpworkGitHub