Provably Fair Draw Receipt Generator

Posted 3 hours ago

Worldwide

Summary

Build a “provably fair draw” receipt generator — sealed entrant list + drand public randomness + static proof pages (fixed scope, 7 days) DESCRIPTION I’m building trust infrastructure for online giveaways and random selections. When a winner is announced and someone screams “rigged,” the operator currently has nothing to show. This tool fixes that: it seals the entrant list BEFORE the random number exists, uses public randomness (drand), and produces a proof page any losing entrant can verify themselves — without trusting the operator, or us. This is a small, sharply-scoped build from a complete spec. Seven calendar days. Fixed price. No scope additions — the descoping IS the design. What you will build (all six, nothing else): 1. Seal tool — input: CSV of entrants (public handles). Normalizes per stated rules (trim, case, dedupe, stable index). Output: canonical list + SHA-256 pool digest. 2. Pre-draw commitment page — static HTML, published before the draw: pool hash, entrant count, cutoff timestamp, the named FUTURE drand round (or the rule selecting it), operator/campaign info, and the exact winner-selection rule. 3. Deterministic draw engine — script (Python or Node): input = drand round value + pool digest; output = winner index + 3 alternates. Must use unbiased rejection sampling (if you don’t know why naive modulo is wrong, this isn’t your job). Fully deterministic: same inputs → same outputs on any machine. This component ships open-source (MIT) — outsiders must be able to re-run it. 4. Public receipt page — static HTML. Top: a human-readable card a non-technical person understands in 10 seconds (“List locked 8:00 PM · 4,392 entries sealed · Random number published 8:01 PM (drand round #X) · Winner drawn by public formula”). Below, behind an expander: full technical detail (hashes, round signature link, rule). 5. Verify-my-entry + recompute — entrants check their handle is in the sealed list, and an in-browser widget (or dead-simple script) lets anyone paste the drand value and recompute the winner themselves. 6. Operator runbook + 3-command local tool — seal → draw → outputs the static pages. A non-developer (me) will run real draws with this. If I can’t operate it from your runbook alone, milestone 3 doesn’t close. Explicitly OUT of scope (do not propose these): Merkle trees / inclusion proofs, user accounts, databases, admin dashboards, Discord bots, Shopify apps, APIs, email/privacy-hashing modes, hosting infrastructure (static files only — I’ll host), and anything blockchain. Tech constraints: Python or Node/TypeScript for tooling. Static HTML/CSS/vanilla JS (or minimal build step) for pages. drand HTTP API (quicknet). Everything reproducible. Verifier components MIT-licensed. Review: your cryptographic choices (commitment format, derivation, sampling) get a 30-minute review call with our core engineer before first public use. You should welcome this. Milestones (fixed $800 total): • M1 — $250: draw engine + commitment format + test vectors (day 3) • M2 — $400: receipt page + verify page + local tool (day 6) • M3 — $150: runbook + fixes from engineering review (day 7–8) Follow-on: if this goes well, there is a clear paid roadmap behind it (privacy mode, platform integrations, productization). First hire on this codebase has the inside track. DO NOT APPLY IF: • You’re going to pitch blockchain, smart contracts, tokens, wallets, or “put it on-chain.” Instant disqualification — this is deliberately chain-free. • You’re an agency or a team. Solo developers only. • Your instinct is to expand this into a SaaS platform with dashboards and accounts. The constraint is the product. • You can’t commit to 7 calendar days from a complete spec at the fixed price. • Your profile is a wall of every skill that exists. I’m hiring a specialist for a scalpel job. To apply, answer these four (short answers beat long ones): 1. A naive way to pick a winner is random_value % list_length. In 2–3 sentences: what’s wrong with that, and what do you do instead? 2. Have you used drand or any public randomness beacon? If not, skim drand.love and tell me in 2 sentences how you’d bind a draw to a round that doesn’t exist yet. 3. Link ONE thing you built that non-technical people actually use. 4. Confirm: 7 days, $800 fixed, scope as written, crypto review call included.

  • $800.00

    Fixed-price
  • Expert
    Experience Level
  • Remote Job
  • One-time project
    Project Type
Skills and Expertise
Mandatory skills
JavaScript
Python
Technical Writing
Activity on this job
  • Proposals:20 to 50
  • Last viewed by client:2 hours ago
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Mar 2, 2024
  • USA
    Burlington3:07 PM
  • $28K total spent
    22 hires, 13 active
  • 34 hours

Explore similar jobs on Upwork

Software DeveloperHourly‐ Posted 7 months ago
ASP.NET MVC
Django
Python
AngularJS
JavaScript
jQuery
WordPress
Google Chrome Extension
React
CRM Development
Microsoft Dynamics 365
Microsoft Dynamics CRM
Microsoft Dynamics Development
Microsoft PowerApps
Single Sign-On
Three.js
JavaScript
WordPress
AR Plugin
WooCommerce
3D Modeling

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo