{ "id": "1952169136966905105", "hourlyBudgetMin": null, "hourlyBudgetMax": null, "ciphertext": "~021952169136966905105", "title": "Web Development: Python/Flask Application on Unraid with Docker", "description": "I’m seeking a talented web developer (or small team) to build a modern, user-friendly web application that lets users track and redeem “brownie points” with each other. The concept is similar to a chore or task tracker, but designed for couples or small groups to encourage positive interactions and reward one another.\n\nKey Features & Requirements:\n\n User Groups:\n Users must be able to form groups (e.g., husband and wife, roommates, friends) and interact within their group only.\n\n Task Posting & Negotiation:\n Users can create tasks with a point value and assign them to a user in their group, which the other member can negotiate or approve before they appear on the task board.\n (e.g., “Take out the garbage – 3 points”; the other user can suggest a different value before accepting.)\n\n Recurrence & Redemption Settings:\n Tasks can be set as one-time, repeatable (infinite), or limited to a certain number of completions.\n\n Notifications:\n\n When a task is posted, the user assigned is notified.\n\n When a task is marked as done, the user that assigned it is notified for approval.\n\n The assigner can add a bonus (percentage or fixed value) upon completion approval.\n\n Points & Rewards System:\n\n Points are awarded for approved tasks. Rewards can be created by the person wanting the reward, or by the person offering the reward. Approval is needed either way by the other user.\n Users can redeem points for rewards created by the other person.\n When a reward is redeemed, it’s added to the responsible person’s TODO list.\n\n\n Media Attachments:\n Users can attach images, videos, or audio to completed tasks. These should be viewable in-app (not as downloads). \n\nUser Flow Example:\n\n Wife posts: “Take out the garbage” (3 points)\n\n Husband approves task\n\n Husband completes and marks task as done, and uploads picture proof\n\n Wife confirms completion, points awarded\n\n Husband redeems “Foot rub” reward\n\n “Foot rub” is added to wife’s TODO list\n\nApp Pages:\n\n Login/Register: Secure account creation with encrypted passwords\n\n Dashboard: View users points, see/approve pending approvals\nLinks to: create tasks, view tasks assigned to you, view TODO, View rewards, create rewards, view completed tasks that you assigned (Spot to view attached media)\n\n Create Task: Name, description, point value, recurrence settings\n\n Available Tasks: List and view details of tasks to complete\n\n TODO: Rewards the user needs to fulfill\n\n View Rewards: Rewards available to redeem\n\n Create Reward: Create new rewards for other group members (Title, description, point cost, recurrance settings)\n\nTechnical Considerations:\n\n Frontend: Clean, modern, mobile-friendly UI (specify your preferred framework in your proposal)\n\n Backend: Python preferred (Flask, Django, or FastAPI), with split Python and HTML files for each feature\n\n Data: Must work over both mobile data and WiFi. Include nginx files as needed\n\n Security: Encrypted passwords and secure authentication\n\n Hosting: App will run on my Unraid server with a publicly accessible domain and ample storage\n\nNotifications: Served by any free push notification service that works on android. FCM, Pushbullet, etc.\n\nBonus:\n\n Experience building similar task-tracking, habit, or reward apps\n\n UI/UX design skills for a modern, friendly interface\n\nDelivery expectations\nAll necessary script and html/js files packaged ready for deployment", "createdDateTime": "2025-08-04T00:46:06+0000", "duration": "MONTH", "durationLabel": "1 to 3 months", "engagement": null, "amount": { "rawValue": "50.0", "currency": "USD", "displayValue": "50.0" }, "recordNumber": "1021066013", "experienceLevel": "INTERMEDIATE", "category": "web_mobile_software_dev", "subcategory": "web_development", "freelancersToHire": 1, "relevance": { "id": "0", "effectiveCandidates": 0, "recommendedEffectiveCandidates": 0, "uniqueImpressions": 0, "publishTime": null, "hoursInactive": 0 }, "enterprise": false, "relevanceEncoded": "{\"position\":\"1836\"}", "totalApplicants": 6, "preferredFreelancerLocation": null, "preferredFreelancerLocationMandatory": false, "premium": false, "clientNotSureFields": null, "clientPrivateFields": null, "applied": false, "publishedDateTime": "2025-08-04T00:46:07+0000", "renewedDateTime": null, "occupations": { "category": { "id": "531770282580668418", "prefLabel": "Web, Mobile & Software Dev" }, "subCategories": null, "occupationService": null }, "job": { "id": "1952169136966905105", "workFlowState": { "closeResult": null, "status": "ACTIVE" }, "activityStat": { "applicationsBidStats": { "avgRateBid": { "rawValue": "58.333333333333336", "currency": "USD", "displayValue": "58.333333333333336" }, "minRateBid": { "rawValue": "50.0", "currency": "USD", "displayValue": "50.0" }, "maxRateBid": { "rawValue": "100.0", "currency": "USD", "displayValue": "100.0" }, "avgInterviewedRateBid": null }, "jobActivity": { "lastClientActivity": "2025-08-04T05:23:59.575Z", "totalRecommended": 2, "invitesSent": 0, "totalInvitedToInterview": 0, "totalHired": 0, "totalUnansweredInvites": 0, "totalOffered": 0 } }, "classification": { "category": { "id": "531770282580668418", "ontologyId": "upworkOccupation:webmobileandsoftwaredev", "type": [ "OCCUPATION" ], "entityStatus": "ACTIVE", "preferredLabel": "Web, Mobile & Software Dev", "definition": null, "createdDateTime": "2018-08-20T19:39:33+0000", "modifiedDateTime": "2023-12-19T19:18:21+0000" }, "subCategory": { "id": "531770282584862733", "ontologyId": "upworkOccupation:webdevelopmentsubcategory", "type": [ "OCCUPATION" ], "entityStatus": "ACTIVE", "preferredLabel": "Web Development", "definition": null, "createdDateTime": "2018-09-24T11:14:40+0000", "modifiedDateTime": "2023-07-10T17:01:25+0000" } } }, "client": { "memberSinceDateTime": null, "totalHires": 10, "totalPostedJobs": 7, "totalSpent": { "rawValue": "1589.96", "currency": "USD", "displayValue": "1589.96" }, "verificationStatus": "VERIFIED", "location": { "city": "Berthold", "country": "United States", "timezone": "America/Chicago", "state": "ND", "offsetToUTC": "Americas" }, "totalReviews": 8, "totalFeedback": 4.99, "companyRid": "0", "companyName": null, "edcUserId": "0", "lastContractPlatform": null, "lastContractRid": "0", "lastContractTitle": null, "hasFinancialPrivacy": false } }