Rawn Kelly

Founder and Quantitative Developer

Writings
Lurk Logo
Lurk Logo

#1 - Lurk, It's Alive! (4/5/2026) / Updated (6/10/2026)

"What doesn't cost life, costs nothing" — Charles Kelly, My Father and Inspiration


Preface

When I first started building Lurk, my biggest anxiety was simple: what if prediction markets were too thin, too noisy, or too inconsistent to support the product I wanted to build? At the time, that question mostly lived inside the scanner. Could Lurk find real cross-market opportunities? Could it compare Polymarket and Kalshi markets cleanly enough? Could it filter out obvious junk and still surface something worth looking at?

However, as Lurk has developed, the center of the product has become much clearer. The scanner is still an important part of Lurk, but the real product is Nerve. Nerve is the intelligence layer behind Lurk. It is the system meant to understand market context, compare what changed, retrieve relevant knowledge, judge how much confidence is justified, decide what deserves attention, and eventually help users move through markets with a clearer sense of what matters. The scanner gives Lurk signal, which Nerve turns into judgment.


The First Proof of Life

The arbitrage pipeline was still the first major proof that Lurk was not just an idea.

Pipeline v2 produced a real test result:

MERGER: 308 | Filtered out: 266 | Quality: 12 | Ended: 30 | Top spread: 50.0%

REJECTS: ('QUALITY': 255, 'SUBJECT': 10, 'ENDED': 30, 'CONTRACT': 1)

TOP ARB: Which party will win the SC-07 | Spread: 50.0% | Poly: 0.10 / Kalshi: 0.96

  • fetch_kalshi_ms=19321.79
  • fetch_polymarket_ms=44115.83
  • merge_total_ms=195.93
  • merger_class_ms=79.59
  • merger_parameter_ms=51.93
  • merger_subject_identity_ms=14.05
  • merger_temporal_ms=1.82
  • merger_canonical_deadline_ms=0.17
  • merger_stale_quote_ms=1.85
  • merger_side_alignment_ms=39.62
  • merger_spread_calculation_ms=0.55
  • merger_quality_filter_ms=0.42
  • write_ms=0.00
  • cycle_total_ms=63633.79

Completed in 63.63s.

This mattered because it showed the pipeline could take a noisy market universe, reject most of it, and still surface live candidates worth inspecting. It did not prove the scanner was finished nor that every opportunity would be real, but it did prove that the scanner had promise, as there was something real for the product to observe.

Since then, the scanner has improved. The most recent meaningful scanner checkpoint produced 22 surviving opportunities after filtering. That does not mean all 22 are real, but the scanner has produced a survivor set large enough to audit.


Why That Changed the Product

At first, the scanner was the product. That made sense, arbitrage opportunities are actionable and spread is easy to understand. A filtered opportunity either appears or it does not, but finding markets is only one part of the problem. The harder problem is deciding what to do with market information once it exists. A user needs to know what changed, what matters, what is stale, what is fragile, what should be inspected, what should be ignored, what should be watched, what needs another source, what has hidden risk, and what deserves attention right now. That is where Nerve shines.

Let me be very clear in saying that Nerve is not merely a third-party model wrapper nor another chatbot pretending to be useful. Nerve is a NueroSymbolic AI system meaning it was built almost entirely from scratch file by file in the traditional style and as such has been constructed entirely for prediction market trading.

Nerve only makes use of third party models for specific cases where a user needs current information. Put simply, Nerve is the intelligence layer inside the Lurk Terminal. It understands scanner output, live markets, Signal Search activity, saved markets, user behavior, performance history, cross-surface context, and market-specific knowledge.


Nerve's Role

Nerve is the brain of Lurk. Its job is to move beyond simple market display and toward structured market judgment. That means Nerve needs to understand market structure, stale quote risk, liquidity risk, resolution risk, source quality, catalysts, related markets, exposure overlap, confidence limits, contract semantics, evidence strength, next-best checks, what would upgrade a setup, and what would kill a setup.

The important part is that Nerve should not sound more confident than the available context supports. If the data is weak, Nerve should be cautious. If the market is stale, Nerve should say so and, if needed, query a third party model to search the web for up to date info. If two markets look similar but resolve differently, Nerve should not treat them as equivalent.

If an opportunity looks large but fragile, Nerve should force inspection before action. If a smaller setup is cleaner than a louder one, Nerve should be able to prefer the cleaner setup and make a recommendation. This is a line each user will set for themselves as along with Nerve slowly learning user habits, Nerve's level of scope will be customizable.

That is the difference between a scanner and an intelligence system. A scanner finds candidates in the market. Nerve judges them and the market as whole, learns its user, and makes recommendations. That is why Nerve has become the center of Lurk.


Where the Scanner Fits Now

The scanner will ideally become Lurk’s strongest feature outside of Nerve, but it's no longer the entire identity of the product. The scanner along with Live Market View, Signal Search, Lounge Feed, and Track Records are all just sources of signal. That is why Nerve matters more than any one feature. Nerve learns from every product surface, so even if the scanner is weaker than expected at beta, Nerve still matters because Lurk is bigger than one arbitrage engine. In the case of the scanner, it discovers candidates. Nerve judges them. The terminal renders the judgment, and the user decides what to do.


The Real Beta Question

The real beta question is whether Lurk can help a user make sense of markets faster than they could alone. If a user opens Lurk and thinks, “I understand this market faster now”, “I would have missed that risk”, or “I know what to check next”, then Lurk becomes essential trading infrastructure to our users that is the bar.


Conclusion

My father drove trucks. I write code, but he inspired me to believe I could one day be in business for myself. My mother always supported my goals and encouraged me to be the best I could not just in my work but as a person. When I'm putting long hours into building Lurk alone with no gratification except for the work, I often think about my parents. I think about how hard they worked for me and before long I'm recharged.

As I work toward the Lurk Terminal beta test, I’m more energized than ever to build the best product I can and give them the lives they deserve.

Love you mom and dad, thank you for everything.

Image of personal inspirations

P.S.

I won’t have an area for comments under posts because I want each to stay focused on the content. With that said, I encourage anyone to reach out to me via my personal Instagram, X/Twitter, LinkedIn, or Email if you'd like to chat.


Questions for Reflection

  • Do you have someone you know personally whose inspired you?

Connect