diff --git a/Replit Bounties Dataset Analysis/Dataset/replit_bounties.csv b/Replit Bounties Dataset Analysis/Dataset/replit_bounties.csv new file mode 100644 index 000000000..02cf8680f --- /dev/null +++ b/Replit Bounties Dataset Analysis/Dataset/replit_bounties.csv @@ -0,0 +1,241 @@ +title,bounty,coins,company,status,description,time +Need art people in discord,$45.00,"4,500",NFtalk,Open,"Bounty Description Problem Description Im building community on discord, need to funnel people who would be interesting in beautiful and affordable art. Looking for creative ways to get to new potential friends, community members, collectors and supporters! Acceptance Criteria This bounty would be accepted if you can get 200 active members inside my server. So That would be measured in course of few days to see median change in active online people, and also your invite link valid for 7 days have exact count of invitees so its possible to check like that. IM NOT LOOKING FOR BOTS , real people only. If we find good way to do this this bounty could be repeated. We have instagram, tik tok, and twitter channel, so it can be source channel as well.",due 3 weeks from now +AI Presentation Analyzer,$90.00,"9,000",flixr,Open,"Objective Develop a single-page application where users can upload a PDF or PPT file, make a payment, and then view an AI-powered analysis of the presentation slides, focusing on design and content optimization. Key Components Single Page Application (Frontend): Design: Title, file upload field, payment button. Technology: HTML, CSS for the layout and styling. Minimal JavaScript for handling the file upload and redirecting to the payment gateway. Payment Integration (Backend): Function: Process payments through a payment gateway upon file submission. Technology: Python with Flask or Django to handle the backend logic and integrate with the chosen payment gateway API. File Processing and Slide Extraction (Backend): Function: Extract each slide from the uploaded PDF or PPT file into separate images. Technology: Python with libraries like PyPDF2 or python-pptx to process the uploaded file and extract slides as images. AI Analysis (Backend): Function: Send th...",due 7 days from now +Open AI Vision Website Analyzer,$90.00,"9,000",flixr,Open,"Objective Develop a single-page website where users can submit a URL, make a payment, and then view an AI-powered analysis of the website's landing page, focusing on design and conversion optimization. Key Components Single Page Landing Page (Frontend): Design: Title, description, URL input field, and submission button. Technology: HTML, CSS for the layout and styling. Minimal JavaScript for handling the URL submission and redirecting to the Stripe checkout page. Stripe Integration (Backend): Function: Process payments through Stripe upon URL submission. Technology: Python with Flask or Django to handle the backend logic and Stripe API for payment processing. Backend URL Processing and Screenshot Capture (Backend): Function: After payment confirmation, capture sequential screenshots of the submitted URL. It should capture the first screenshot on the page in view, then scroll to the bottom of the current viewport, capture the next screenshot. Until it reaches the ...",due 4 days from now +WordPress Plugin - Security Plugin,$82.80,"8,280",wpupgrader,Open,"We would like to hire a freelancer who can build a WordPress security plugin for us. Features we desire: Malware scanner that can work without blocking access (background processing) Integrate CleanTalk for major contact forms like Contact Form 7, Gravity Forms, Elementor Pro etc Unrecognized Files detection Abandoned Plugin Detection (longer than 2 years not updated) Tamper Protection For WordPress Core Files & Plugins & Themes (checksums can be found on wordpress.org) Tamper protection for Critical Files (detects modifications to critical files such as wp-config.php and .htaccess) Should be able to be run in a plugin page For reference below a Github repo with a collection of malware can be found: https://github.com/stefanpejcic/wordpress-malware Acceptance Criteria I would like to see a Github repo being shared in the end, or a ZIP file.",due 1 month from now +Static Blog Page - Nuxt,$11.25,"1,125",lawtechusa,Open,"Need a developer who can work with me to modify this page on public repo to create a blog page. The goal is to create a minimalistic responsive blog page template which can be used over and over again with different content. The image and content will be generated by GPT/Claude/BARD. API keys will be provided. git-clone-template-1 to git-clone-template-2 and so on. https://alpine.nuxt.space Prompt, content and graphic design prompt will be provided. Acceptance Criteria Code commenting. ( use AI0 Code testing ( use AI) Image generation and content generation - use AI Create all code and demo on https://github.com/jurisgpt/alpine-landingpage",due 7 days from now +Create a cryptocurrency trading bot for Telegram,$9.00,900,SteveJackson10,Open,"The goal of the trading bot is to provide users with actionable trading signals or notifications to help them make buying and selling decisions. Some examples of basic features could include: Price breakout alerts - The bot scans the market and alerts users when the price of a cryptocurrency breaks out above or below a key support or resistance level. Volume spike notifications - The bot sends notifications when trading volume for a cryptocurrency sees a sudden spike, which could indicate increased interest. oversold/overbought, golden cross, etc. Daily market outlook - The bot provides a daily summary of the overall market outlook using basic technical analysis. For example, whether the market appears bullish, bearish, or neutral.",due 3 days from now +VPN Statistics in MacOS Swift App,$180.00,"18,000",narner,Open,"I need to figure out how to get Rx and Tx values for a VPN connection I need either some guidance based on my current implementation (https://stackoverflow.com/questions/77489237/incorrect-vpn-data-statistics-in-macos-swift-app) that will work, or, a POC using TunnelKit with WireGuard (https://github.com/khungrukcad/tunnelkit) that uses an alternative implementation.",due 2 days from now +Build a Personalized Social Platform Demo Using Weaviate and FirstBatch SDK,$150.03,"15,003",omerdemirtas,Open,"Revolutionize the social media experience with hyper-personalized recommendations! FirstBatch turns any UX into individually crafted, personalized ones without user data. This is possible through the power of embeddings and vector databases. The main value propositions of what FirstBatch is building: Real-time personalization that works on an individual level, without relying on user data. User embeddings for introducing users to AI Agents, personalized LLM experiences Custom algorithms suiting specific needs, easily done in the dashboard All above without the need for session management Problem Description Social platforms need to provide personalized feeds to engage users and drive engagement. Recommending relevant posts and optimizing user timelines can significantly impact platform growth and retention. Create a simple personalized social platform demo that improves user engagement by utilizing Weaviate for storing post vectors and integrating FirstBatch for personalized feeds...",due 2 weeks ago +Build a Personalized E-commerce Platform Demo Using Pinecone and FirstBatch SDK,$150.03,"15,003",omerdemirtas,Open,"Revolutionize the e-commerce experience with hyper-personalized recommendations! FirstBatch turns any UX into individually crafted, personalized ones without user data. This is possible through the power of embeddings and vector databases. The main value propositions of what FirstBatch is building: Real-time personalization that works on an individual level, without relying on user data. User embeddings for introducing users to AI Agents, personalized LLM experiences Custom algorithms suiting specific needs, easily done in the dashboard All above without the need for session management Problem Description E-commerce platforms need to provide personalized experiences to engage users and drive conversion. Recommending relevant products and optimizing customer journeys can significantly impact business metrics. Create a simple personalized e-commerce web app demo that improves user engagement by utilizing Pinecone to store product and user vectors needed for the e-commerce platform a...",due 2 weeks ago +Flutter Android App Proof of Concept using Webview,$67.50,"6,750",KinInteractive,Open,"We have a personal subscription management application for Android, written in flutter. We are looking to implement a Webview with the purpose of signing up a user to a Spotify account, then linking a virtual card generated by us to that account and signing up for Spotify premium. Please note, this should all happen automatically. What is also important for the user is that it is hidden from view, so either it fully happens in the background, or there is a loader that covers it. For this, please see this link; https://stackoverflow.com/questions/62858028/how-to-hide-flutter-webview-in-mobile-app Acceptance Criteria A flutter codebase + built APK file that can: take input of email, password, displayName, dateOfBirth, gender, plan, cardNumber, card expiry, cvv then run a full sign-up and premium enrollment as detailed above, within a webview in the background (so app should just show only its native screen OR only a loading state. This is a proof of concept, so ...",due 1 week ago +Custom Cypress Preprocessor using Angular's esbuild bundler,$63.00,"6,300",guzmanoj,Open,"Recently, the Angular team released a new experimental esbuild-based bundler for Angular apps (https://github.com/angular/angular-cli/blob/main/packages/angulardevkit/buildangular/src/builders/browser-esbuild/index.ts) On the other hand, we have Cypress preprocessors (https://docs.cypress.io/api/plugins/preprocessors-api) the default one uses webpack under the hood but there are also a couple of them which also uses esbuild: https://github.com/sod/cypress-esbuild-preprocessor https://github.com/bahmutov/cypress-esbuild-preprocessor The issue with those is that code imported from Angular in the Cypress spec files is not compiled correctly. That made me wonder, ""what if we can have a Cypress preprocessor that uses Angular's new esbuild bundler instead of directly using esbuild?"" My guess is that this preprocessor could easily compile the Cypress spec. files correctly. The requirements are: Build an esbuild Cypress preprocessor, using one of the already existing ones a...",due 2 weeks from now +Adding to edtech tool mvp,$63.00,"6,300",RizwaanMalik,Open,Making some additions to an MVP for a teacher-facing edtech tool,due 3 months ago +Incorporate FlashAttention2 with Stable Diffusion Huggingface Diffusers,$22.50,"2,250",RishiRao4,Open,Incorporate Flash Attention 2 (https://github.com/Dao-AILab/flash-attention) with Huggingface diffusers. Similar to https://github.com/labmlai/annotateddeeplearningpaperimplementations/blob/master/labmlnn/diffusion/stablediffusion/model/unet_attention.py#L192 and https://github.com/HazyResearch/diffusers Acceptance Criteria A working stable diffusion model using flash attention,due 2 months ago +.NET example app using Stytch for authentication,$18.00,"1,800",ChrisONeill1,Open,"I'd like a simple example app that demonstrates how you'd use Stytch to power an email magic links authentication flow within a .NET web application. I would like the app to start from https://dotnet.microsoft.com/en-us/learn/aspnet/hello-world-tutorial/intro with the addition of an email magic links login flow, a protected profile page, and session management. For an example of what this looks like using Stytch's Node SDK, you can look here: https://github.com/stytchauth/stytch-node-magic-links Acceptance Criteria The app must use Stytch's Email Magic Links to power login and Stytch's Session product to authenticate the user's session. The Stytch API interactions must be built in C#. Technical Details If you have any questions about how to use Stytch, feel free to email chris@stytch.com for help. Timelines / Milestones No strict timeline.",due 1 week ago +Improve GPT Article Tool - Already Assigned,$450.00,"45,000",shepherdindustr,Open,"scraper: Modify to consistently produce flowing articles - sc not contain broken html tags or insert random links. Help improve the polishing of the finished post - using GPT 3.5/4 to do more grammar correcting, flow, spell checking, etc. Attempt to have GPT generate extra H2 and H3’s so the user can remove more if they’d like and then have GPT prioritize which ones to use vs using all of them if it generates a lot. (This is how Byword.ai seems to work) edit-articles: Enable the user to be able to use GPT 3.5/4 to fix as many grammatical errors in the document as possible. This could be expanded to include specific custom refinements and ways to clean up an article like ‘Condense the article to be no more than 4 paragraphs’, ‘Add another paragraph to the article discussing __’, etc. Improve the stable diffusion prompts Fix the weird spacing - remove all extra breaks basically so Webflow css will apply the spacing between items Use GPT 3.5/4 to generate an accurate / relevant alt text f...",due 2 months ago +Add Interlinking w/ Vector DB to AI Tool - Already Assigned,$162.00,"16,200",shepherdindustr,Open,"Bounty 2: Interlinking Given a sitemap, this feature should be able to add 6-8 links to some article in the DB. Sitemap will be continually updated. UI-wise, the user should be able to upload a new sitemap, select how many links to add (1-8), and select an article from the DB for interlinking to be run on. This will be its own entirely new feature on a new page in the app accessible from the home/landing page. In general for both bounties, the main goal is content + keeping API costs low.",due 2 months ago +Build a simple SQL Injection Simulation and Defense App using Scala,$76.50,"7,650",AbhayBhargav1,Open,"Project Overview: Develop a web application in Scala using the Play Framework(slick) that simulates and defends against SQL injection attacks. This application will serve as a platform for both testing SQL injection vulnerabilities and showcasing how to protect against them. Project Objectives: SQL Injection Attack Simulation: Create a module for emulating SQL injection attacks on a basic music retrieval application and its associated database. Implement various types of SQL injection attacks (e.g., classic SQL injection, blind SQL injection with conditional errors/conditional responses,union attack) to test the application’s vulnerability. Populate the database with approx. 30 records of songs Defense Mechanisms: Implement security measures to defend against SQL injection attacks. Utilize prepared statements, parameterized queries, and input validation to prevent SQL injection vulnerabilities. Implement web application firewall rules to detect and block malicious SQL injection a...",due 2 weeks ago +"Rapid Web Development - Intake/Survey Forms, Document Generation, ChatGPT Integration",$67.50,"6,750",lawtechusa,Open,"The goal is to be able to provide fixed cost document products online. User lands - selects a document type - fills a form - document is generated. Pays and exits. The engagement requires someone who can rapidly develop full stack web applications using https://shipfa.st/?ref=producthunt#pricing If you have not used this toolkit, I am willing to take a chance on you. This tool kit is for rapid development - so yes, there is an expectation to be fast and get bonus. Acceptance Criteria The final work product should be a mixture of https://capejustice.com/rent-claims-lawsuit?hsaacc=2804788235&hsacam=20257395514&hsagrp=150008289557&hsaad=661230599183&hsasrc=g&hsatgt=kwd-792066070446&hsakw=landlord+tenant+lawyer+georgia&hsamt=e&hsanet=adwords&hsaver=3&gad_source=1 AND https://www.kickemoutquick.com/index.html AND https://www.rocketlawyer.com/real-estate AND some ChatGPT integration that will be discussed offline.",due 4 days ago +Update embeddings and query script for chatbot,$49.50,"4,950",jbistro,Open,Update ingest script to summarize each chunk for greater context. Then update web app query script to take advantage of the new chunk metadata.,due 2 months ago +Image OCR tool (Azure microservice),$45.00,"4,500",adi42,Open,"# Problem Description We are building an LLM for enterprise software and looking to decouple data extraction from the rest of our pipeline. Our model uses data from a variety of sources including images, so we need a microservice that reliably extracts text from image input. Specifically, the service should extract _structured_ data from a folder of screenshots of [like this](https://tinyurl.com/8b4jpebx). The service should run `pytesseract` for extracting text from images. Before accepting this bounty, please note the following: - _You will need an Azure subscription to complete this bounty_ as the service should run in Azure. We will not be providing an Azure subscription but will test the deliverable using one. - One of the more challenging parts of the project is getting `pytesseract` to successfully run in Azure Functions directly from the Terraform code. # Acceptance Criteria - Microservice uses `pytesseract` to extract text from an image (via JSON form data) and max...",due 1 day ago +Web Scrape Sustainable Fiber and Packaging Companies,$45.00,"4,500",wawaugh,Open,"Web-scrape list of sustainable fiber companies globally with following details: -Company Name -Company HQ (City, Country) -Website -Funding Stage (e.g. Seed, Series A, etc) -$ Total Funding Raised to date (USD) -# Employees -Products (e.g. Fiber, Yarn, Textiles, Polybags) -Material Category (e.g. Polyester, Cotton, Paper) -Material Feedstocks (e.g. recycled textiles, banana leaves) -Manufacturing Locations -Contact Name -Contact Title -Contact Email Please send screenshot of sample output if possible. Will give preference for application with > # companies, quality output.",due 1 week ago +"SaaS AI Expert Platform with Django, React, and OpenAI Integration""",$45.00,"4,500",StrongLabs,Open,"We are developing a Software as a Service (SaaS) platform that enables businesses and creators to generate AI experts specialized in interpreting and interacting based on various content types, including video, ebooks, audio, and documents. The platform will facilitate the seamless integration and interaction of AI experts with users through a comprehensive user dashboard, a dedicated chat interface, and a payment system for subscriptions. Acceptance Criteria Full-Stack Developer Expertise: Proficiency in Django for backend development. Ability to create the frontend using React (with or without Next.js). Familiarity with the OpenAI API, as well as Telegram and WhatsApp APIs. Backend Development: Utilize Django for backend services. Implement LlamaIndex for retrieval and ChatGPT integration, with the ability to extend functionality in the future. Integrate Stripe for annual subscription payments. Develop a Chatbot API for AI expert communication, using either RES...",due 3 months from now +Fix Slow Audio Upload for Nurovant AI,$45.00,"4,500",TrevorGicheru,Open,"Bounty: Fix Slow Audio Upload for Nurovant AI Bug Overview When users attempt to upload audio recordings longer than 15 minutes over Wi-Fi to Nurovant's machine learning servers, the uploads are failing consistently. Shorter recordings upload successfully, indicating the root cause is the larger file size of the longer recordings. Users are able to upload the same long recordings without issue on a mobile network. This bug severely limits the use cases for Nurovant's audio analysis ML, as many important recordings are over 15 minutes. It needs to be fixed urgently. Reproduction Steps Connect device to Wi-Fi network Using Nurovant mobile app, select audio file longer than 15 minutes Attempt upload to Nurovant ML server Observe upload failure after a few minutes Expected Results The audio file should upload successfully to the Nurovant ML servers for processing regardless of length, both on Wi-Fi and mobile networks. iOS app built with react native front end. Hosted on GPU cloud plat...",due 4 weeks ago +Create concept animations for music video with AnimateDiff,$45.00,"4,500",jjeremycai,Open,Want to test a few music video ideas for a new music artist. You will use AnimateDiff (https://replicate.com/lucataco/animate-diff) to create short sequences and work with an editor stitch them together into full vids. Artist has a few ideas but wanted to work with an animator/artist to concept them out. Can turn into recurring work. Acceptance Criteria Share your past work Must have STYLE 💫,due 1 month ago +Drafts action to create gCal event with plain text,$45.00,"4,500",ArmandPatella,Open,"I am seeking a Drafts action that, when executed, will create an event in Google Calendar (gCal). The content of the Draft will determine the specifics of the calendar event. By default, if the Draft only contains a description with no date or time, the action should create an all-day event for the current day in gCal. However, if the Draft includes a date and/or time, the action should use that information to set the event's date and time in gCal. For reference, similar actions have been successfully implemented for the Fantastical app, as seen in these links: Fantastical Action 1 https://actions.getdrafts.com/a/1CM Fantastical Action 2 https://actions.getdrafts.com/a/1Ia Acceptance Criteria Running within Drafts - the text ""one hour test event October 1 2023"" should result in the creation of an event titled ""test event"" on October 1, 2023, in gCal. Given the problem, users might input calendar event times in various formats. Here are some potential permutation...",due 2 months ago +Replicate this site on ReplIT,$40.50,"4,050",lawtechusa,Open,"Several jobs in a law firm require inputs from the user and a letter or report generated. This project is for someone who is good at R.E, can code fast, use open source to their advantage and willing to question the ordinary. https://app.termly.io/builder/websites/e110554c-0a65-401f-afc4-0a2cb19ee394/documents/3480964/Collection%20of%20Information/Sensitive%20Personal%20Information%20Collected Acceptance Criteria Ditto look and feel. Remove any copyright stuff, of course.",due 6 days ago +Convert model in GazeML project from Tensorflow to Pytorch,$27.00,"2,700",gangluo,Open,"The git (https://github.com/swook/GazeML) project includes eye region landmark detection. I need the model to be converted from Tensorflow to Pytorch frame work. Acceptance Criteria Provide demo code that can detect eye region, iris, and pupil. Like the original project, show results with octogen. Technical Details Link to Project https://github.com/swook/GazeML",due 3 weeks ago +Bot for Resy.com,$22.50,"2,250",BirjuKadakia,Open,"Most restaurant dinner reservations at top restaurants get booked instantly via bots. I am therefore unable to get reservations that I want. Acceptance Criteria Acceptance Criteria I would like my own bot to instantly book Resy.com reservations for whatever restaurant I am interested in. There are already some Resy bot project code examples available on GitHub (example: https://github.com/Alkaar/resy-booking-bot) It should look at both restaurants on the day they make reservations available, and also look for cancellations on a regular high frequency period I need you to create a very easy-to-use web app for me to use. I am non-technical so it must be fully functional and intuitive Technical Details Timelines / Milestones",due 4 months ago +Create my own version of resybot.com/,$18.00,"1,800",ConnorTimmerma1,Open,Most restaurant dinner reservations at top restaurants get booked instantly via bots. I am therefore unable to get reservations that I want. Acceptance Criteria I would like my own bot to instantly book Resy.com reservations for whatever restaurant I am interested in. • I would like my own version of this website: https://www.resybot.com/ . It needs to be just as easy to use. Simple and easy. • There are already some Resy bot project code examples available on GitHub I need you to create a very easy-to-use web app for me to use. I am non-technical so it must be fully functional and intuitive,due 3 months ago +Tile Repeating Pattern JS,$9.00,900,AIAK,Open,I need a basic proof of concept to do the following. upload an image 1.1 check if the image can be tiled in a seamless pattern if yes continue if no then ask to upload a different image. Tile that image in a seamless repeating pattern Output that image to a folder Here is a site that does that we just need to do the same thing but wtih an API on the backed URL https://tylify.app Miscellaneous PWA ; Open Graph ; Webpack Analytics Google Analytics Security HSTS Font scripts Google Font API CDN Netlify Tag managers Google Tag Manager JavaScript libraries Hammer.js ; core-js JavaScript frameworks GSAP ; Vue.js ; Nuxt.js Web servers Nuxt.js PaaS Netlify Web frameworks Nuxt.js Programming languages Node.js Static site generators Nuxt.js,due 2 weeks from now +Crop faces in 9:16 from full videos in Python,$4.50,450,YashThakker2,Open,"Develop a scalable Python-based feature to analyze full-length videos and automatically crop significant sections or movements into short video formats with a 9:16 aspect ratio. This enhancement to our existing system should focus on both face detection and action-centric scenes, producing cropped videos around 1 minute in length. Acceptance Criteria Scalability: The solution must handle a large volume of videos efficiently. Face Detection Cropping: Intelligent division of the video to include all faces in scenarios with multiple faces. Action-Centric Cropping: Focus cropping on the action area in scenes without faces. Compatibility and Integration: Develop in Python, compatible with our current video analysis system. Aspect Ratio and Resolution: Maintain a 9:16 aspect ratio with configurable resolution settings. Accuracy and Quality: High accuracy in cropping without losing essential content. Performance: Balance between processing speed, accuracy, and scalabil...",due 2 days from now +Web & Mobile App + Open/Closed Source LLMs w/Memory,$810.00,"81,000",A152,Open,"Search based landing page with look and feel of Bing.com but better (unique color scheme) which allows users to interact with a default open source LLM (manager) without needing to login. If user decides to login, the default LLM (manager) must identify the user based on data in the user’s profile (user ID) and may assign the user engagement to another open source or closed source LLM (specialist) that has full history in support of all of that user’s historical interactions on the site or mobile app for personalized engagement with each user. Acceptance Criteria: fully functional engagement across all explicit and implicit (ie bio login & forgot password capability) expectations. Technical Details: Like Bing.com, users must be able to search and interact with LLMs on the site using microphone, images, and video or by clicking on the LLM logo button to the right of the search box. User engagement must be made available via website platform (desktop & mobile) ...",due 17 hours from now +lora-finetuning-and-inpainting-for-sdxl,$495.00,"49,500",Hasan96,Open,"Developing a codebase to lora fine-tune the Stable Diffusion XL (SDXL) model for specific image generation tasks using Google Colab. The fine-tuning process will leverage a provided dataset, consisting of images and corresponding textual prompts in .txt files, to tailor the model's outputs to a particular style or category of images (e.g., a specific product or theme). The enhanced SDXL model will also support inpainting, allowing the generation of images based on partial inputs and masks. Essentially, when given a masked image and a prompt, the model will generate and fill in the masked area with content that aligns with the fine-tuned context. Acceptance Criteria Google Colab Compatibility: The code should be executable within Google Colab without compatibility issues. 2.Dataset Input: The code must accept a zip folder containing images and corresponding .txt files with image prompts. It should be able to extract and utilize this data for fine-tuning. Fine-Tuni...",due 1 week ago +Develop a Lead Gen and Sales Automation Tool,$450.00,"45,000",ulrichkeller,Open,"Lead Gen and Sales Automation Tool Development Craft a tool facilitating the generation of email lead lists from various platforms and automating the initial sales outreach processes. Tasks: Lead Generation: Company Search: Leverage Google Custom Search, LinkedIn, and Instagram to compile company lists that align with user-set criteria. Individual Search: Pull lists of individuals using LinkedIn and company sites based on user-input parameters. Email Management: Generate potential contact emails. Authenticate them with a waterfall bounce check system. Data Processing Options: External Integration: Collaborate with third-party platforms, including Apollo, for data processing. In-house Operations: Create an in-house outreach functionality, possibly utilizing Google Sheets and Apps Script for integration. Key Requirements: Ensure the interface is user-centric, emphasizing usability while maintaining backend robustness. Incorporate a feature allowing the exportation of lists to Go...",due 4 weeks ago +Build a Personalized Streaming Service Demo w/QDrant & FirstBatch SDK,$300.00,"30,000",omerdemirtas,Open,"FirstBatch turns any website into an individually-crafted, personalized one without user data. This is possible through the power of embeddings and vector databases. The main value propositions of what FirstBatch is building: Real-time personalization that works on an individual level, without relying on user data. User Embeddings for introducing users to AI Agents, personalized LLM experiences Custom algorithms suiting specific needs, easily done in the dashboard All above without the need for session management Problem Description Streaming services (platforms like Netflix, Disney+, Prime Video, etc.) need to provide personalized recommendations to engage users and increase time on-site. Suggesting relevant movies/shows can significantly impact key metrics. Create a simple personalized video streaming demo that improves user engagement by utilizing QDrant for storing video vectors and integrating FirstBatch SDK for personalized recommendation flows. The demo should showcase how ...",due 2 days from now +Streamlit Staff Scheduling Tool,$207.00,"20,700",kylebolt1,Open,"I want to create a simple app in Streamlit, that will help auto-generate staff schedules/rosters. This is just an internal tool for our use, and not and end to end saas app. Here is an example use case: For a medical centre. It has 3 locations, and 2 receptionists and 2 Doctors assigned to each location. The locations are open 7 days a week from 9am to 8pm with a 1 hour lunch break. The staff should not work 2 weekends in a row. The staff should work at least 2 consecutive days in a row (so its not generating rosters like one day on, one day off etc). Purpose and Scope • Objective: To develop a Streamlit-based application for automatically generating staff schedules for a medical center with 3 locations. • Target Users: Administrative staff responsible for staff scheduling. • Scope: It should work for a variety of use cases. Focus on weekly schedules for receptionists and Doctors across three locations, adhering to specified working conditions and constraints. Features and Funct...",due 2 weeks from now +"Fast, reliable clone of perplexity.ai (backend)",$135.00,"13,500",drowsy-voyager,Open,"I want to create a script that reliably takes in a query, scrapes the top links(pages) from google search of that query, and allows for using RAG to generate a summary of the responses. This needs to be done very robustly and efficiently (not dealing with any web scraping issues, long document loading times, etc), as my use case is running this multiple times on lists of entities. i.e. a list of restaurants, i want to fill out a dataframe of their most popular menu items. 10,000 queries of what are the most popular menu items at {restaurant} in {location}? Script should pull from popular sources when necessary as google does (social media, tripadvisor, yelp,etc), and return something like this based off of the content scraped: 'The most popular specific menu items at Double Chicken Please are the Hot Honey fried chicken sandwich, the Salted Egg Yolk fried chicken sandwich, the New York Beet Salad cocktail, the French Toast cocktail, and the shiitake mushroom bar s...",due 4 weeks ago +Python API wrapper for DPO Group payments API,$90.00,"9,000",nyasour,Open,"I would like to build a python API wrapper around the DPO Group payments api to enable our users to purchase digital products in Aftica. Acceptance Criteria A python wrapper class that implements the DPO group payment API as detailed here https://docs.dpopay.com/api/index.html. The class has to be well thought through, written using best practices and be well documented. The main use cases we are looking to enable: Create a checkout page landing page url - based on specific set of products / prices If possible by the api, allow for charging directly without a landing page Return the list of available payment options in a country",due 5 days from now +fAIrm: surveys in chatbots,$90.00,"9,000",IvanLitovsky,Open,"GOAL: As a Product leader, I do user research all the time. Which can take the form of a) 1-1 interviews b) surveys Both are useful, but both have problems: 1) interviews allows to go in depth, ask follow-up questions to have a deep understanding of answers. but take a lot of time 2) surveys allow to have 10s, 100s, 1000s of answers, but when you ask free form questions, people usually remain vague in their answers (ex. ""what would you improve on Amazon"" > answer: ""the search results"". you want to ask follow-up question, ex. ""give us one ex. of poor search results, and why?"") #PROBLEM: Build an intermediate solution, between 1-1 interviews and surveys. that is: scalable (we can send it to 1000s of people) allows to deep-dive (we can ask follow-up questions to respondents) At first, the solution will be used by me, for my personal user research. As I validate the product, we can package it into a marketable product Acceptance Criteria For the user: a) similar to a GG form, I can sen...",due 1 month ago +Bug fixes and enhancements for a raffle app.,$72.00,"7,200",idea-man,Open,To enhance the comments checker app. Implement user login and use Instagram API instead of RapidAPI. Implement membership with stripe. UI enhancements according to design provided. Ability to save past giveaways and access recorded sessions.,due 2 months ago +Set up ImageBind as a FastAPI service and annotate the process,$54.90,"5,490",luquitared,Open,"Before reading the project requirements below, understand that you must also read the data annotation requirements for the data we'd like to collect when you are working on this project. Here are data annotation instructions: https://docs.google.com/document/d/1xtXSvZJHpVkbt4bVdK4IaXoGMlq1Wpk6huOM6EXhXY4/ Requirements: Create a repo that setups ImageBind behind a fastAPI server: https://github.com/facebookresearch/ImageBind Make endpoints for: indexing audio when storing audio, store the audio duration as metadata. allow user to store any other metadata as json. indexing images searching the index to find relevant images and audio Make a test function that tests each endpoint and prints the output.",due 3 weeks ago +Looking for CO-Founder in NYC area!,$45.00,"4,500",MoneyMitch3,Open,"Hello Replit, I'm excited to announce that I'm building an AI business and looking for a co-founder to join me on this exciting journey. I've already developed a prototype and received positive feedback from experts in the field, confirming the product-market fit. We're positioned for success, and seeking a passionate and dedicated co-founder who shares my vision and is committed to building a successful business. If you're a team player with a strong work ethic and a passion for AI, I'd love to hear from you. Together, we can create something truly remarkable and make a significant impact in the industry. Let's work together to make it happen! Acceptance Criteria -Needs to be in the NYC/NJ area. Willing to meet up. -Passionate to build. -AI - You should have a basic understanding of machine learning, deep learning, natural language processing, and computer vision. This is the meat and potatoes of your business. -Data, data, everywhere: You should have a ba...",due 1 month from now +Upload Amazon Purchases to eBay chrome extension,$45.00,"4,500",RohanBoutelle,Open,I want you to code a Google Chrome extension that can take what you have bought in the past on Amazon and be able to upload it on to eBay,due 2 months ago +DefiLlama adapter adapter,$36.00,"3,600",alllie,Open,"Defillama has a lot of adapters in https://github.com/DefiLlama/DefiLlama-Adapters, for their website and api (defillama.com). I need a standalone wrapper, or modified defilamma sdk, that can run each adapter, get the data out, and send it as a protobuf message to kafka. Protobuf definition should be defined including these keys because all the adapters return data that fall under these labels. ['tvl', 'staking', 'pool2', 'borrowed', 'treasury', 'offers', 'vesting'] along with timestamp. Acceptance Criteria A .proto definition Either a standalone wrapper or a modified defillama sdk that can send protobuf messages to a kafka broker endpoint. The adapters that connect directly to RPC must run. The adapters that depend on The Graph are optional but may work without any modification. Readme on how to run this small tests (to ensure cli args and options are working correctly) The deadline and bounty can be adjusted. Open to offers.",due 9 months ago +GPT + ElevenLabs(Voice) + Twilio(call) + Whatsapp(messages) + Langchain,$450.00,"45,000",BasharShahrour,Open,"The purpose of this project is to create an AI Contact Center which is run using GPT/Bard models that answers users questions over phone calls and Whatsapp messages. Acceptance Criteria Three main criteria: Ability to pick up calls and answer questions on the phone, and hand over to human agent or voicemail when necessary. Data/knowledgebase for answers provided by the admin user. Ability to make calls to a list of leads from a CSV file uploaded by a user. Ability to respond to questions over Whatsapp API and act as a chatbot, with ability to hand over to human . Have a front end for users. Reference: https://youtu.be/K7vHoUwClaM Technical Details Transcribe voice to text. Understand and respond to transcribed text. a. From script/ (Langchain) data. Synthesize voice (Eleven Labs). Record transcription. Ability to leave a voicemail message. a. Ability to recognize when people don't pick up the phone. Use CSV file excel sheet of phone numbers to call prospe...",due 4 weeks from now +☥(Updated 2023.08.28) Create Open Source iOS & Mac App for HeyDATA.org💎💎💎💎💎💎💎,$300.00,"30,000",anksolado,Open,"Hello from San Francisco! Hi! I'm Adam. I'm an AI SW Engineer with too many ideas, and not enough engineers! 😅 Problem Description Leveraging DATA's one-click-install, build an iOS & Mac app that allows non-technical users to get started with DATA, without a hitch. Acceptance Criteria ❤️ To Apply, please help me understand, that you understand the requirements. Do you have any experience with the HeyDATA.org platform? It's Open Source, but very technically complex, and challenging for even the most intelligent engineers. ❤️ ""Always Allow"" happens automatically, every time, so that the system turns on ALL PRIVATE DATA, so they can prepare for Superman Mode: Superman Mode is described here - 90% of this is already working on my phone; we've been in stealth mode for MONTHS - 🚀 for details Technical Details Use LANDER by default, so that the user doesn't have to have an OpenAI key NO API KEYS should be needed in setup! Only in an Advanced Settings tab somewhere. KEEP IT DEAD SIMPLE F...",due 2 months ago +Web Scraper to create database of content creators,$270.00,"27,000",ProductGuy101,Open,"Project Title: Internet Creator Data Scraper - Database Seeding with Deduplication Project Objective: Develop a robust web scraping tool to systematically collect, deduplicate, and populate a database with detailed information on 100,000+ internet creators from various online platforms. This database will serve as a valuable resource for research, analysis, and business insights while ensuring that each creator is represented by a single entry, regardless of the number of websites they are found on. Public APIs + Scraping can be used in unison to create the best result. The 'how' is not prescriptive as long as the output meets the project requirements. Project Description: The Internet Creator Data Scraper - Database Seeding project extends the functionality of the web scraping tool to not only collect data on internet creators but also to efficiently store this data in a structured database format. The primary goal is to accumulate a substantial dataset with inf...",due 2 days ago +GPT4 - Output processing - Backend UI and Admin Panel,$182.07,"18,207",lawtechusa,Open,"Problem - Need a keen and creative person who is in the forefront of AI + UI design + backend engineering. We are developing a PoC web tool to help users and lawyers with generating documents and letters based on some 20+ question survey. The survey PoC is on this site http://164.90.151.99/ Currently, when user completes survey, it generates a csv with the questions and answers and stores in a vector database. The system is supposed to send an email to the attorney with the raw Q and A. This attachment by itself not usable by legal professionals. Acceptance Criteria We want to create an Admin panel/ back end UI for attorneys and legal staff . The back end will have UI/tiles which user can click and delivers along the following lines Requirement 1: We want the raw Q and A to be formatted into a proper legal brief forma ( legal_brief.txt). We can give the prompt. E.g ChatGPT, read the Q and A and generate a report with three paragraphs. Facts of the case, What the...",due 2 weeks from now +Gift finder plugin for e-commerce marketplace,$180.00,"18,000",Wakuda,Open,"Inspired by Uncommon Goods' gift finder tool (https://www.uncommongoods.com/sunny/giftfinder/) and https://www.outdone.io/ we want a gift finder plugin developed for www.wakuda.co.uk that is trained on our product catalog (3,000+ products, with new ones being added everyday) and user input to suggest a selection of products for gifts that are on our marketplace. Wakuda is an online marketplace showcasing the best of African and Caribbean brands. With new products being added regularly, the plugin will need to be dynamic and able to adapt to the changing product catalog. The plugin should allow users to input basic information about the gift recipient, such as their gender and interests. Based on this information and the available products on Wakuda, the plugin should suggest a personalised selection of gift options on page. The user should then be able to browse the selection and head to product page and then add to cart and purchase as standard. The plugin should be user-friendly...",due 6 months ago +Office.js function that makes targeted edits to Microsoft Word paragraph,$135.00,"13,500",robin61,Open,"I would like a javascript function that makes targeted, not wholesale, updates to a Microsoft Word paragraph to match revised paragraph text. What makes this challenging is that I would like to only edit those words and characters in the Microsoft Word paragraph that are necessary to match the revised paragraph text. By doing that, when ""track changes"" is turned on, only those words appear as changed. For example, if the Word document contains a paragraph that states: The quick brown fox jumps over the lazy dog. And the revised paragraph is: The fast brown cat jumps over the lazy dog and car. The function would change only the words ""quick"" and ""fox"" such that they would appear as deleted and the words ""fast"", ""cat"", and ""and car"" such that they would appear as inserted. If you accept this bounty, I can share some code re how I tried (and failed) to write a reliable function that does this. Acceptance Criteria A javascript function that runs in an office ...",due 1 month ago +Describe data flow image,$135.00,"13,500",DipenShah4,Open,"I would like a LLM model which is able to describe a data flow diagram with clear understanding of how data is flowing from end to end. For ex: https:// threatmodeler.com/wp- content/uploads/2016/08/Engineering-based-DFD.jpg You may reach out to me if you have more questions about the need, but please focus on quality of work. Acceptance Criteria The model should be able to describe the data flow diagram in detail. Technical Details I have tried all hugging face image to text models and haven’t seen any model to be working yet for something like this. So this might be a challenging task. Note, this needs to be description and not just caption of the diagram.",due 5 months ago +Angle Measure in X-Ray,$135.00,"13,500",alabnivar,Open,"Calculate an angle between two lines on an X-Ray or live image. The lines may not intersect wthin the image. Acceptance Criteria I want to create a simple IOS app that looks at an XRAY or an image and calculates an angle between two lines on the image. The lines will be hand drawn by selecting two endpoints for each line. The lines may or may not intersect wthin the image. I also want to store the image with the measured angles in a folder. I would like it to have a voice interface for storing the images ( eg: Hey Siri: Store image in new folder, or store image in last folder). The xray images need to be rotated and straightened ( similar to pdf scanning software that eliminates parallax error) before measurement.",due 7 months ago +Extract floor plan layout from images [Machine Vision],$100.00,"10,000",JerrySandnes,Open,"I have floor plan images I would like digitised into a simple json-based format using rectangles. Data structure The data structure is as follows: • Lines are the walls. Each line has two points (vertices) at each end, as well as a width. • Vertices are points that connect lines. Each line has two and only two vertices. A line can share a vertice with other lines. • Holes are elements connected to lines. You only need to worry about the holes with ""door"" and ""window"". Holes can have variable width, so you can have a 60cm wide window/door, or a 120cm window/door. • You can use the following tool to test the files: https://cvdlab.github.io/react-planner/ Additional info / clarifications • Handle all doors as a single door element (aka ""type"": ""door"") with a width that matches the whole door. • Handle all windows as a single window element (aka ""type"": ""window"") with a width that matches the whole window. • For the walls - prefer simplicity over complexity. If there ...",due 3 months ago +"""Flur"": Train with a role play web app, between a user and an AI",$90.00,"9,000",IvanLitovsky,Open,"CONTEXT Tomas (my friend, and ex-boss) is working on a series of articles about men-women relationships (he has 300k twitter followers). it turns out that ""dating coaching"" is a big market. there are countless books, newsletter, youtube videos, or even real-life coaches. There are several dating pains 1/ how to approach strangers 2/ how to get a number 3/ how to close a first date 4/ how to go from a date to a relationship etc... GOAL help with the 1st pain: train men on how to approach strangers. We want to do that by building a ""role play app"", where we can put men in different scenarios (ex. a women is in a coffee shop reading a book), and the man can try to approach the woman. If he hasn't been kicked out after 2 min, he wins. an AI will play the girl the user will play the man the user will have 2 minutes to engage a conversation with the girl, and not be pushed back We want to build a small MVP, and Tomas will share it to his community, to quickly have users and feedbacks. We'l...",due 1 month ago +Create Astro integration for Kontent.ai headless CMS,$90.00,"9,000",ondrejch,Open,"Create an integration module for Kontent.ai which instantiate JavaScript client and fetch the data from Kontent.ai headless CMS using the REST delivery API and map them to Astro components defined in the config. Resources Official integration integration guide and use Kontent.ai Delivery SDK. Similar integrations using the same approach: StoryBook integration Contentful integration Netlify CMS integration Docs on how to use Kontent.ai APIs in Javascript For development, it is possible to use shared project with environment ID: 975bf280-fd91-488c-994c-2f04416e5ee3, or create a copy of this project using the trial/developer plan subscription on Kontent.ai app and then use Sample site configuration for generating the copy of the sample project. Acceptance Criteria Use X-KC-SOURCE header for client configuration tracking: Publish on NPM to be included in the Astro integration library Include a simple showcase using the sample project (Environment ID) 975bf28...",due 4 months ago +POST Facebook API,$45.00,"4,500",zimamedia,Open,I am trying to use the Facebook API to add assign a 3rd party user into another facebook ads account. Acceptance Criteria Using our Facebook APP to successfully add a user to the API. I need the structure of the API call using the Facebook Graph API explorer. Technical Details You can update an AdAccount by making a POST request to /act_{ad_account_id}/assigned_users. Parameters tasks = array | AdAccount permission tasks to assign this user user; UID | Business user id or system user id (Required) Link to Project Here's the link to the API document. https://developers.facebook.com/docs/marketing-api/reference/ad-account/assigned_users/,due 1 day ago +"Automate Docusign Signature Placement Based on ""Signature:________"" Text Location",$45.00,"4,500",ExultAI,Open,"We use Docusign for quotations top our customers that they sign to start the process of us having their order produced and shipped to their location. Each time we're having to manually setup the fields [SIGNATURE], [NAME], [TITLE] because the number of pages in our document changes, and our signature page isn't always on the last page. Acceptance Criteria Convince me you know how to attached a field to a specific text chunks location no SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS Technical Details I need to place a [SIGNATURE], [NAME], and [TITLE] field for the only two signers on the document so that they are properly aligned with the ""Signature:"", ""Name: "" and ""Title:__"" text found in our document. This text chunk will always be the same, simple ""Customer Signature"" and those three texts quoted above each on a new long follow but ""Out Companies name"" and a duplicate of those three fields identical text below that. The signer for our company will always b...",due 3 months ago +iOS/SwiftUI Daily Task That Must Run (Background Tasks/Silent Push Notifications),$45.00,"4,500",basselalesh,Open,"I have a SwiftUI application that needs to tell my backend my location once a day. I have a background task set up, but it never seems to be called. I'm having a hard time testing and fixing the following flow. The background task fetches the user's location and determines the closest city from a local geoJSON file (I don't want to send coordinates to my server). It then sends the name of that city to my backend. The authorization is ""When In Use"", so I can't use the locationDidUpdate method that comes with CoreLocation. The problems I'm having are from reliably scheduling a background task that runs daily, not really with location. I also have silent remote push notifications, but for some reason not all users receive them. To avoid requiring Always Allow location access, I'm looking into using IPInfo API and just getting rough coordinates from there (I don't really care about coordinate accuracy). I also found some libraries online that use Timers and implement so...",due 2 months ago +Apple Watch - Audio Recording & Transcription App,$45.00,"4,500",0FJAKE,Open,"Summary A simple app for the Apple Watch using OpenAI Whisper. Problem Description I want to be able to go for a walk without my phone, with only my apple watch, and my airpods, and to be able to open an app on my apple watch, connect to my airpods, press a record button on the watch, and begin recording audio that will be accurately transcribed, using OpenAI's Whisper. That should then be available to me for reading back later. I should be able to access the transcript later on my laptop or iPhone and do not need to be able to access it on my Apple Watch, only to be able to record it on there and see that it is successfully recording and was successfully recorded once done. Acceptance Criteria I want an app on my Apple Watch that I can open to record a dictation, as described above. I need to be able to access the transcript afterwards on my laptop (and optionally, on my iPhone), ideally via a website I can access on desktop or mobile. I should be able to delete the transcripts once...",due 3 months ago +Unity IOS game architecture documentation,$45.00,"4,500",a-allen,Open,"I have a client whose IOS/Android game was built in Unity and is needing some of the random number generator algos completely rewritten or updated to adhere to GII-19 specifications. I am not an expert in Unity so I am looking to partner with an expert in this field. This bounty is only to provide an architecture overview of the codebase so I can propose some areas of improvement alongside the algorithm updates to my client. If I can find the right engineer off of this site then I will be engaging them in future work which will include multiple updates to the codebase as well as the aforementioned algorithm updates. Acceptance Criteria Provide a written document that outlines the current architecture of the application, notable files, and how they fit and work together. Isolate and document all of the algorithms that power the game so I can better understand how they were built and what would need to be done in order to port them to compliant spec. Technical De...",due 6 months ago +Build a web tool that will perform Conversion Rate Mix Analysis based on multiple inputs,$45.00,"4,500",DavidEagan1,Open,"For a website that has traffic coming from many sources, need to understand what is impacting conversion rate. Is it actual performance of the site, or mix between several different vairables Build a web tool where a user can plug in the below variables and recieve an output for the results Variables includes are date: day region: americas, apac, europe, other shopper: new or repeat device: desktop, mobile web, tablet, iOS, Andoid, other Marketing channel: direct web, direct app, semu, semb, paid, seo, meta, affliates, social, CRMs, CRMm, unknown here is a simple version of this done with only a few factors https://www.goodmarketing.club/guide/how-to-explain-channel-conversion-rate-change-with-mix-rate-bridging-analysis/ Analysis needs to be done on a YoY basis to account for seasonality Analysis needs to be able to be done last 7 days and previous 7 days to understand what changed week to week Acceptance Criteria Technical Details Link to Project",due 8 months ago +SwiftUI mobile app - interactive calendar view,$40.50,"4,050",hp2sm78cp6,Open,"I'm building a gratitude SwiftUI app. I want a calendar view which will create a calendar that will change calendar day colour each time a user completes a gratitude entry for the day. Acceptance Criteria The sooner, the better",due 9 months ago +Creating a Custom Stylized Node for Mindmap Application,$27.00,"2,700",promptwhisperer,Open,"Adding a dropdown textbox https://public-photos-123.s3.amazonaws.com/dropdown_text.png You should implement a new custom nodeType (https://reactflow.dev/docs/guides/custom-nodes/) that contains the drop down feature. The relevant place in the repo is here: https://github.com/JohnPeng47/KongUI/blob/cc10416d12737b3ca76f429ad2b6cf97296861ce/src/components/node/DataNode.tsx#L13 What the dropdown box should do is just display the static text within node.data.description. Currently, all of the node data is read from a JSON file included in the repo and then converted into ReactFlow nodes. The code for ingesting the JSON is here: https://github.com/JohnPeng47/KongUI/blob/cc10416d12737b3ca76f429ad2b6cf97296861ce/src/data/processJson.ts#L23 Adding on hover connection https://public-photos-123.s3.amazonaws.com/branching_nodes.png Okay so what you should do here is: add an on hover effect over a node, that displays all of the hidden children by clicking on a hidden children,...",due 3 months ago +One Click Auto Sign up for events,$27.00,"2,700",eli124,Open,"It's too time-consuming to manually sign up for a long list of social events especially during conferences with dozens of side events. The different events use different event apps but the most popular ones are: Luma Partiful Eventbrite Acceptance Criteria Build an email tool that intakes a list of event urls, and auto-fills my personal details for each event, signs up/registers, and sends me a google calendar invite to my email for each event (Lu.ma automatically sends calendar invites, partiful you can press the add to google calendar button once your invite is accepted by the event host ). Technical Details Create an email tool that auto-fills your personal details that you use by sending an email with event URL links including CSV attachments (or google sheets URL) that scans and detects any of the event platform domains within the attachment as well as any link in the body of the email either consisting as a single event link or as a link containing multip...",due 5 months ago +Supabase RLS RBAC policy review,$22.50,"2,250",piraka9011,Open,"I have setup Supabase for a web app that has login and auth built in with roles + permissions setup. I now need someone to revise the RLS policies I setup to make sure they are in accordance with the business logic of my application. I have a notion doc + tables with has all this documented, including examples. Acceptance Criteria Verify that there are no gaps in the RLS policy definitions by checking the created SQL and testing via the API. Technical Details Knowledge of Postgresql policies and supabase is a must. Link to Project Will share notion doc with specs and requirements once bounty accepted.",due 5 months ago +Type-Safe Data Storage needs easier types,$22.50,"2,250",Fictionalized,Open,"I need someone to modify some code to make it easier to create inputs. I have a storage system on my App, which has two inputs. I want it to be easier to provide inputs. What you'd need to do is make the demonstration schema work, and have the ability for us to add more using the arrays and dictionaries. Technical Details It requires a lot of Type-Safety, and uses Zod for schemas, so apply if you are familiar with advanced typescript There are two files The store (89 lines of code) [this is what would be modified] The demonstration file (33 lines of code) which demonstrates what should be done. If you're interested, add me on discord, and I can show you the project.",due 5 months ago +SEC EDGAR Database,$16.20,"1,620",eshippole,Open,Extract company data and filings from the SEC EDGAR database. Build a database using up-to-date scraped data. This data will be used for factual grounding. The text should be extracted and indexed into Elasticsearch to build a vector store of embeddings. Create a FAISS index as well. Acceptance Criteria A python script to: Scrape filings every x amount of minutes (or hours). Upload documents into an S3 or GCP bucket. Extract text and index into elasticsearch. Create embeddings. Create a FAISS vector database with embeddings as well. Data should be easily accessible using an API call.,due 10 months ago +Retrieve new Bing Cookies when invalidated,$9.00,900,NOOB-FORFOR,Open,"The mass list of rejected people are those who have failed to finish in time or failed or just didn’t have the time to work on it If you claim to have the code finished when applying please provide a recording or even better the code itself for me to test out. Why? I’ve had 4 separate people do this and it’s just some code that clearly won’t work, written by ChatGPT Problem Description cookies from bing get invalidated after about 15 days, I have the code to retrieve the bing cookies (will be provided when accepted into the bounty), but it doesn't check for things like if the Microsoft account doesn't have the security email, or if prompted for a phone number, email code, those sort of things. Acceptance Criteria check if the cookie(s) are invalidated then retrieve new ones if they are invalidated, the cookies that I need are _U and SRCHHPGUSR add improvements to the code (as specified in problem description, can't handle the phone prompts, emails, etc so add a way for it to detect...",due 2 days from now +"Create SEO Score analyser, SERP analyser, SEO keywords Analyser. {Pricing after talks}",$4.50,450,TeamQuery,Open,"I need SEO Score analyser, SERP analyser, SEO keywords Analyser to analyse the content generated on my website (trolly.ai). So that users can easily add suggestions, analyse their content & optimize for google ranking. all these features are on following sites, seo.ai neuronwriter.com text.ai Technical Details Should know in-depth technical stack. NLP, etc The price added right now is random, We can negotiate on pricing.",due 3 months ago +MacOS Tray Utility App,$900.00,"90,000",stephen42,Open,"Create a macOS tray utility app with speech-to-text and text-to-speech functionalities using the OpenAI APIs and ensure seamless, simple user interaction. Here's a detailed project plan incorporating the relevant resources: Setting up the macOS Tray App Begin by creating a macOS menu bar app, which requires adding a status item (NSStatusItem) to the menu bar to represent your app. Ensure that the dock icon and main window are hidden, as the app will function from the menu bar. The status item should be equipped with a menu to offer the app's functionalities upon interaction. Only UI On click/click+hold/hotkey, the app records audio from microphone. Integrating the Whisper API After capturing audio, use the Whisper API for speech-to-text conversion. Integrating the GPT-4 API Next, feed the transcribed text into the GPT-4 API Integrating the OpenAI TTS API The output from GPT-4 is then passed to the OpenAI TTS for text-to-speech conversion, turning the text back into audio. Playi...",due 1 day ago +Web App for 3D Model Analysis and Visualization,$585.00,"58,500",YazanMoghrabi,Open,I would like to create a web app that lets you upload a 3D model (revit or ifc or dwg file extension) and be able to do a series of measurement calculation scripts on the model and present the results in a simple manner for review. I would like to integrate the app web with the Autodesk Platform Service : for example the the viewer SDK:https://aps.autodesk.com/en/docs/viewer/v7/developers_guide/ Here are some additional examples: https://aps.autodesk.com/code-samples,due 2 weeks from now +Custom API Integration: GoHighLevel<>HouseCallPro,$450.00,"45,000",JenniferCalhoun,Open,"Need 2 way data sync between GoHighLevel & HouseCallPro (both have open API and webhooks) Additional details for the project can be viewed here: https://gijunknw.notion.site/GHL-HCP-Syncing-Plan-79f4f0b67815441ca39cc8d7892d9c49?pvs=4 Acceptance Criteria 2 way sync of Customers, Opportunities, and Appointments between the 2 systems. Preference for someone who is well versed in GHL and how it works. Would like to have it completed within about a week.",due 2 months ago +"Django AI web app (trial project, further work available)",$405.00,"40,500",DmitriMirakyan,Open,"The product: a basic ‘quiz’ style product. Users answer a number of questions. The inputs are sent to an existing endpoint which then returns an AI-generated response. A version of this product exists in low-code, but we’d like to migrate it to a full-stack application. What we already have: AI product back-end (receives user inputs, returns responses) Stripe Firebase What we need: Django back-end React Native + Tailwind front-end, compatible with Web and Android. Flexible on which Javascript framework we use. Integrations with Stripe, Firebase, Data tables + analytics Results compatible with Android and Web What we need: Ideal candidate will be based in Latin America, Europe or Africa due to time-zones, and be open to ongoing work at 10+ hours per week. If the project goes well - we’d love to hire someone for further development and maintenance on a part-time (5-20 hours per week) basis to support this and other products.",due 2 days from now +AI chatbot & travel API integration into Bubble template,$270.00,"27,000",DavidBell20,Open,"We have the front end of a travel site fully built in Bubble. Need to populate it with real flight & hotel data whilst using new GPT Assistants API and Duffel API. Acceptance Criteria Fully working integration of GPT Assistants API, Duffel API and passing that data back and forth from Bubble to GPT. Technical Details Flow is that from Bubble front end, the user chooses departure, destination, no. of travellers & dates. That information will trigger the Assistant and create a starting Thread (https://platform.openai.com/docs/assistants/overview) GPT will then make a call to this API using Replit to find Flights & Stays: https://duffel.com/docs Initial list of results are passed to Bubble via JSON. The user then chats within Bubble to filter results more (amenities, flight times etc), which in turn passes back to our GPT agent, adding messages to the thread. GPT queries Duffel API again to get better results which are passed back to Bubble and the cycle contin...",due 2 days from now +Reverse Engineer Android/iOS App,$261.00,"26,100",HeshamGhandour1,Open,"Reverse engineer, expose api calls for login, and identify method of encrypting and generating payload and header variables. It has to be the bank app's latest version. App: https://play.google.com/store/apps/details?id=com.liv.android&hl=en&gl=US https://apps.apple.com/us/app/liv-bank/id1231846103 Acceptance Criteria A script that takes ""username"" and ""password"" and generates a post request to the bank login API endpoint without errors.",due 2 months ago +AGI/AI for Sales prospecting/Outbound Reach/Scheduling tool for Tech Sales team,$252.00,"25,200",JeffreySantana1,Open,"Auto-GPT/AGI/AI Tool for prospecting specific customer criteria via outbound reach out via Email /LinkedIn/Twitter/Instagram/WhatsSap a generate custom customer messaging connected with CRM, like HubSpot, FreshWorks and streak validate prospects engagement, schedule a meeting with calendy.com or cal.com, A.K.A Lead generation. Acceptance Criteria 1-Design a message criteria to reach out to prospects based on a given prompt or ICP(Ideal Customer Profile). 2-Outbound Reach via Email/LinkedIn/WhatsApp/Instagram using using Designed messaging criteria 3-Based on customer/protects engagement with message setup a call to action to schedule a call to demo a product. Technical Details 1-Connect with third party CRM, like HubSpot. 2-Connect with Social Platforms or Messaging platforms/LinkedIn/Email/WhatsApp/Instagram APIS to reach possible prospects/customers",due 6 months ago +Kubernetes Operator Livenessprobe feature added to Deployment,$225.00,"22,500",d3287t328,Open,I want a Livenessprobe added to a CRD operator written in Go. You should have Go Operator experience already. Acceptance Criteria It must build and run on a local Kind cluster reliably. Technical Details A zip file of the source will be provided to you. You must use kind for local development. Link to Project Contact me on discord. My server is https://discord.gg/fP8dQqxBhZ,due 4 months ago +Simple native Salesforce.com app,$203.40,"20,340",MattMattox2,Open,"Native Salesforce application that enables users to manually place contacts associated with an account in a 2x2 matrix that will help teams better understand the relationships between how much of a champion a contact is vs their influence on the purchase decision. Project Overview: The 2x2 matrix will have two axes: Level of support for our solution: Amount of influence on purchase decision: Key Functionality: Retrieve all contacts associated with a specific account from Salesforce. Allow users to manually place each contact onto the matrix by dragging and dropping them into the appropriate quadrant. Save the positions of the contacts in the matrix, so the user can return to the visualization later and make updates as needed. Technical Requirements: The application should be built as a native Salesforce application using Lightning Web Components (LWC). Utilize Salesforce's API to interact with contact and account data. Comply with Salesforce's security standards.",due 6 months ago +AI News Aggregator & Tweeter,$180.00,"18,000",DeepView,Open,"We're looking to build an automation tool that will monitor an RSS feed specifically for AI news. When the tool identifies an article that meets our predefined criteria and hasn't been previously shared, it should extract the essential details from the article, condense it into a one-line descriptive header, and tweet it. A minute after the initial tweet, the tool should post a reply to that tweet with a direct link to the full article. This solution aims to deliver real-time news updates to our X followers in a concise and efficient manner. Acceptance Criteria RSS Monitoring: The system must continuously monitor an RSS feed for new AI news articles Duplicate Prevention: The system should be able to identify articles that have already been shared to avoid reposting Importance Evaluation: An article should only proceed to the next steps assuming it's passed an evaluation that deems the contents as trusted Content Extraction: Once a new article is identified, the sys...",due 2 months ago +AI Prompt Marketplace,$180.00,"18,000",MattTrot,Open,A top Bounty Hunter will create a promptbase.com clone limited to following functionalies: Main page Marketplace (list of prompts) Prompt detail page Secure user authentication with email/username and password User Dashboard Integration with Stripe Sumbit prompt page Scope and price are negotiable once you submit your request.,due 5 months ago +Create OpenAI ChatGPT Plugin,$180.00,"18,000",effectgroup,Open,"Job Description: We are seeking a skilled programmer to join our team to develop a plugin that integrates OpenAI's ChatGPT with the Global Database API. The successful candidate will have a strong understanding of AI, specifically OpenAI's GPT-3 & 4 model, and experience working with APIs. Responsibilities: Develop a plugin for OpenAI's ChatGPT that connects to the Global Database API. Write clean, maintainable, and efficient code. Collaborate with our team to define, design, and ship new features. Ensure the performance, quality, and responsiveness of the plugin. Identify and correct bottlenecks and fix bugs. Help maintain code quality, organization, and automatization. Qualifications: Proven experience as a programmer or relevant role. Knowledge of AI, specifically OpenAI's GPT-3 & 4 models. Experience with API integration. Ability to work in a team and individually when required. Excellent problem-solving skills. Strong communication skills. About Us: Effect.International is a...",due 6 months ago +Excel add-in for revenue analysis,$180.00,"18,000",TimothyBlomfiel,Open,"I have an Excel template - there's an input tab with revenue by customer by month. I'm looking for some help to automate the output through an Excel add-in. All the output tabs have been pre-populated; there's a little bit of nuance around making the output tabs dynamic based on the input data. Acceptance Criteria A successful project will be one where I can install an excel plug-in, upload a flat file (csv for xls) with revenue data, and then all the specific tables and charts will be automatically populated.",due 6 months ago +AI Marketing Plan Generator That Lives On Word Press.,$180.00,"18,000",AdrianHunter2,Open,"Consultants often face the challenge of creating an effective marketing strategy that not only captures the attention of the target audience but also aligns with the company's goals and objectives. To achieve this, they must conduct thorough research to understand the market, competition, and customer needs. However, the challenge arises when trying to balance the client's vision with data-driven insights, leading to a cohesive and actionable marketing plan. Additionally, consultants must constantly adapt to changing market trends and consumer behaviors to ensure their marketing strategies remain relevant and effective over time. I would like to create StratBot. StratBot would leverage natural language processing and machine learning algorithms to guide consultants through the process of creating a marketing strategy. The chatbot would start by asking the consultant a series of questions about the client's business goals, target audience, competition, and budget....",due 8 months ago +Mac Automation for Quicktime Image Sequence conversion,$180.00,"18,000",phraktle,Open,"Create an Automator Quick Action that uses the Quicktime Player ""Open Image Sequence"" function to convert the selected folder with an image sequence (numbered DNG files) and saves it as a 25fps ProRes video. The audio track, stored as a single WAV in the same folder, should be added using the Quicktime Edit > Add Clip to End function. Acceptance Criteria The action runs on a folder of image sequences and produces a playable ProRes video with sound on Mac OS Ventura. Notes The recent versions of QuickTime no longer exposes the ""Open Image Sequence"" function to AppleScript, so an alternative approach will be needed. FFmpeg is not an option either as it doesn’t handle the DNG files properly (unlike QT).",due 9 months ago +LLM writing editor,$135.00,"13,500",ajitadori,Open,"### Problem Description Build an editor that gives feedback on essays using API calls to ChatGPT and the free Grammarly SDK. After pasting or typing in the essay, the user should be able to click a button that says ""proofread"", and there will be parts of the text highlighted with different colors corresponding to the different types of feedback as well as a section with general feedback. ### Technical Details Here is the flow for a user editing a piece: - Write / paste text into console - Click ""Proofread"" - Comments appear to the right alongside text highlighted in specific colors - General comment on the essay is reflected in the highlighted title - Input limit should be 3000 words and flagged if extended beyond # Acceptance Criteria - An easy way to change the prompts corresponding to highlights - Should enable easy modification of the LLM API (e.g. to swap between ChatGPT and other LLMs) as well as the exact prompts used for feedback - A live instance of the website should be...",due 7 months ago +Tik Tok to Airtable,$112.50,"11,250",PaulG13,Open,"I need 3 different Airtables: a way to display videos selected (provide link for example) and display like this Airtable: https://airtable.com/shrGAS9WKQF02yAK8/tblN1TA7Q6QEfHqnl scrape specific accounts once a day and display in airtable. Important here is to download the videos without watermark and add them to google drive. Top 200 Videos by Hashtag in given timeframe (like last 3-7 days), similar Airtable structure as in 1 & 2 Acceptance Criteria I need it exactly as described above",due 8 months ago +aws cross account access for users federated via azure AD,$108.00,"10,800",xxyjoel,Open,"as a federated user who is authenticated via sso with 2FA enabled i need to be able to switch between aws accounts within an aws organization. e.g. a federated user needs to assume role A in master payer account (account #1) and role B sub-account (account #2). Acceptance Criteria trust relationships must be defined (or checked) between role A and role B user does not have to assume a role via the cli; federated user in question can swap back and forth between role A and role B script can be run locally, or from within the sub account (account #2) Technical Details users are authenticated via sso through azure active directory 2FA through duo role A in account #1 is responsible for collecting data across sub accounts; it is read only role B in account #2 will be responsible for running the script; order of operations: federated user (or an application) assumes role B, role B assumes role A, role A gathers all necessary data, federated user (or an application) ass...",due 10 months ago +ChatGPT Plugin For Home Improvements/Fixing,$99.00,"9,900",iwatalauren,Open,"I'd like to create a ChatGPT plugin where you ask questions on how to build/fix things DIY in your house. This should use the Home Depot guides and other guides, embed them via Operand or something, and feed that to a chatGPT plugin. I will give plugin access if needed. Acceptance Criteria A ChatGPT plugin that can answer questions on home DIY projects. Technical Details Use embeddings to embed Home Depot pages. Use Operand.ai for this. Create a ChatGPT plugin that uses these embeddings.",due 6 months ago +Technological Architecture for MVP,$99.00,"9,900",HoneyBadgerEth,Open,"Currently, we are finalizing the technical architecture and stack of our MVP. The userflow has been developed in detail, and we are looking for an experienced developer to create a top level architecture diagram (50,000ft view, plus detailed in some places, 50ft view). We would use the architecture as the basis to define different phases of development. We would like to work with someone starting with this part for a longer period of time. Acceptance Criteria Full stack developer with 1) Previous experience in marketplace development 2) Previous experience developing a product with an orderbook mechanism 3) Previous experience in creating top level and detailed technological architecture",due 9 months ago +"Ability to store anything(text, image or video) to any blockchain(configurable)",$98.10,"9,810",VijayanSwaminat,Open,"Secure storage. Storage is permanent. Ability to store securely on blockchain. Acceptance Criteria Well documented code and readme for all pieces of code - considering future management Ability to store to any blockchain network (ARB, ETH, BSC or Others) A crystal clear React front end - that is crisp and clear Allows any type of data(text, image or video) and any size to be stored on blockchain Data can be stored on IPFS or other similar blockchain storage techniques that is not erasable. Backend: Well defined backend APIs that are fully secured A second react frontend to be able to govern the data uploads to blockchain (an admin dashboard) Error free and bug free. Easy to deploy. Alchemy(https://www.alchemy.com) and Rosetta SDK (https://www.rosetta-api.org) is highly recommended A unique url for each stored transaction needs be available in the TX details. A TX can have multiple files, text or image. 11.All source code should be fully downloadable and free of any...",due 8 months ago +Hack or make a shopify subscription app with custom features,$90.00,"9,000",jaydeepsachdev,Open,Our current site is on scentandco.com using woocommerce. It's a nightmare to manage. We wanted to move to a subscription app on shopify or make our own app that can do the following: changing products each month A subscription calendar Product +5/10 Skip a month and change frequency Quantity change Payment plans All explained in the video here: https://www.loom.com/share/ab0fdb67898b4c8c99a1a659c1750255 Acceptance Criteria Experiance building shopify apps And/Or message us with a plan and timeline. We'll hire you if we like your plan! =) Timelines / Milestones 1 week,due 2 months ago +Thomas.net Complete website scrap,$90.00,"9,000",TanerSalci1,Open,"I need all suppliers websites, main phone, main email, personal phone (if any in about us section), owner email (if any in about section), Contact us form link, Saved on csv I want to scrape everything on this website of companies over 5mil revenue if mentioned otherwise scape : https://www.thomasnet.com/network/ here is a video How I want it scraped: https://drive.google.com/file/d/1ut6vveP2wGsCq0x061aeLkj_KxTWYIeA/view?usp=sharing Need copy of program, need it to scrape fast. We can get a vps if need",due 3 months ago +Swift e-commerce app - Working on marketplace functions with (Stripe/Shopify/Square),$90.00,"9,000",rlvntapp,Open,"We have a minimal code base for our e-commerce app already. We need an experienced developer to help us with the marketplace functions and dealing with user transactions via Stripe through Shopify and Square. A more detailed run down of what we are looking for is as follows: Description: This page will be the page that the user will be able to purchase the item from (ideally swipe to purchase UI function) This needs to be pop up similarly to the current implementation of the purchase page, yet will have actual functionality and connect to Shopify, use stripe, etc. The UI for this is mostly complete, but the functionality is not. The majority of this section comes with working with stripe and Shopify. Shopify also needs to be updated automatically to the backend of our application. We need a shipping calculator that can provide live updates regarding a package and its location (via UPS, FedEx, and other API's). Goals: To have a fully operational purchase page within the app that...",due 3 months ago +Automatically Identify Errors in Tables and Charts,$90.00,"9,000",tvdatageek,Open,"Goal = Identify errors in tables in powerpoint presentations automatically. Looking for a thought partner to help: identify the best LLMs to process and interpret data in tables of data understand how rows and columns related to one another. .e.g., column A = Revenue, Column B = Cost, Column C = Income. Must understand that mathematical relationship Identify any time numbers do not tie together. Should be able to state if a given row or column may have an error in it (optional) deploy this as a powerpoint plugin",due 4 months ago +Fitness + Rewards + Points App (Teach me everything I need to know),$90.00,"9,000",bagdaddy,Open,"Happy to pay on an hour basis, please share your rate. Problem Description Would like someone to teach me everything I need to know and understand to build a hybrid fitness app that rewards users with points that they can use to get deals and offers or prizes from local vendors and businesses. To be clear, at the moment, I'm not looking for someone who can teach me to code, but to teach me what are the ingredients required and best way to go about building this. Acceptance Criteria Looking for someone: Who is patient and can teach me about all the buildings blocks required and best way to go about building this. Fluent in speaking and communicating in English. Able to accommodate GMT+3 time zone. Able to speak to me over a video call or screen sharing call. Able to dedicate a couple of hours for this over the period of a week or two. Technical Details The app should be: Available on iOS + Android Easy and friendly to use. Has an authentication layer for users Integrates with fitn...",due 4 months ago +Discovery for AI-Website Feature,$90.00,"9,000",decentracam,Open,"The current process of job application is time-consuming and often frustrating for job seekers. It involves manual search, completion of application forms, and customization of resumes and cover letters for each job. There is also the need to keep track of all their applications. Acceptance Criteria: The solution must automate and streamline the job application process for users, while adhering to the following criteria: Match users with suitable job postings based on non-confidential data. Interface with third-party job posting platforms. Auto-fill application forms using generic user information. Customize application materials for each job, subject to individual platform requirements. Provide a tracking system for user applications and updates on their status. Ensure user privacy and data security in compliance with relevant regulations. Provide an intuitive and user-friendly interface. Undergo rigorous testing for functionality, security, and ease of...",due 4 months ago +Transfer existing frontend Typescript logic to Typescript Backend (web3),$90.00,"9,000",KeKs0r,Open,"Domain Context There is decentralized exchange called osmosis They allow users to exchange their cryptocurrencies User can also lock funds into it to receive rewards The amount of rewards changes frequently based on multiple factors Example to see on this pool: https://app.osmosis.zone/pool/1 Total Reward is 21.9% APR consisting of: Superfluid Staking: 4% Incentives: 14% Swap Fees 2% Task The code how these numbers are calculated is open source in the frontend repo of osmosis: https://github.com/osmosis-labs/osmosis-frontend It is implemented in mobx, which cannot really be used in the backend. The logic and models within mobx however can be used. This means model classes e.g. from @osmosis-labs/pools can be used however the package @osmosis-labs/stores is tied to how stores in mobx work, so it should not directly be used. The logic how to derive the APR from the raw data is in there though. We want to port this logic to a more functional app...",due 5 months ago +Typescript + Langchain + HuggingFace,$90.00,"9,000",itsalidoe,Open,"Create a typescript langchain app that takes 10 transcripts from a folder, creates embeddings for them with huggingface + langchain, stores them into a supabase postgres vectorDB and then queries this data to return a summary of summaries with GPT. I can provide you with the 10 transcripts. Acceptance Criteria Input: The app should be able to read 10 transcripts from a specified folder. Embeddings Creation: The app should use HuggingFace and Langchain to create embeddings. Storage: The app should store the generated embeddings into a Supabase PostgreSQL VectorDB. Querying Data: The app should be able to query the stored embeddings data from the VectorDB. Summary Generation: The app should use GPT (Generative Pre-trained Transformer) to generate a summary of summaries based on the queried embeddings data. Output: The app should return the generated summary of summaries as output. TypeScript: The entire application should be written in TypeScript. Documentatio...",due 6 months ago +2 way data sync between Hubspot & Workiz,$90.00,"9,000",JenniferCalhoun,Open,I need 2-way data syncing between Workiz & Hubspot (both have open API). The database in hubspot has been set up to exactly mirror that of Workiz for easy 1:1 data mapping. I just need to know that when we create or update records in either place (Workiz or Hubspot) the data is staying synced in both places.,due 6 months ago +Fine-tune LLM for specific use case,$90.00,"9,000",anontech,Open,"I want to fine-tune a LLM to provide coding best practice suggestions when a code file is given to the model. Acceptance Criteria 3-5yrs of machine learning experience Experience fine-tuning, testing and deploying an AI model Familiar with machine learning frameworks, such as Numpy, Sklearn, Tensorflow, PyTorch, etc. Experience architecting, building, and evaluating robust production-ready ML models Technical Details More details on the specific requirements and dataset for fine-tuning will be shared with the right candidate Note: Google meet meeting will be set up with potential candidate, all communication will be done via the preferred chat app (WhatsApp, Slack etc.) If the project can be completed in 2 days, an additional $50 will be rewarded as a bonus",due 6 months ago +Cost-Effective Web User Behavior Emulation Project,$90.00,"9,000",AlgoAlchemist,Open,"We are seeking an experienced person to work on a unique and challenging research project. The project involves creating a sophisticated system that can emulate the behavior of 100-1000 real Google users over an extended period of time, with a cost constraint of no more than $1 per user per month. What We Need Design and develop a sophisticated system capable of mimicking human web browsing behaviors, including visiting predefined websites from Google and YouTube. And doing normal user things any normal user will do, searching for random stuff every x days, watching videos, random stuff, etc. The system should utilize services that generate unique browser instances, each with indistinguishable footprints and Aged Google accounts. Implement IP management strategies that leave no trace or footprint detectable as non-human. Develop a strategy to make the virtual users browse the web as a normal human user would, over extended periods - months to years. The system should be designed to t...",due 6 months ago +"$10,000 Bounty: Optimize inference speed for Bark TTS model",$90.00,"9,000",reddestbull,Open,"* $10,000 Bounty. Read Description * We are looking for an experienced developer with expertise in Text-to-Speech (TTS) models and performance optimization to help us enhance the inference speed and enable a streaming mode on an open-source TTS model called Bark. Due to how cycles work, we're putting the bounty up at 10,000 cycles, but will be happy to put the $10,000 in escrow before starting to work together. Project Description: The Bark TTS model is a GPT style model, taking inspiration from Andre Karpathy's NanoGPT. It's already undergone significant improvements, achieving a 1:1 ratio in terms of audio generation time (e.g., 15 seconds of audio takes 15 seconds to generate). Our goal is to further reduce the inference time and implement a streaming mode for real-time audio delivery. We want the model to start returning audio as soon as the first bit is ready, aiming to deliver the initial audio output in under 1 second, regardless of the total generation time. We are open to...",due 6 months ago +Meeting time tracking Google calendar using GPT4,$90.00,"9,000",treehills,Open,". First bounty - plz share your best quote if you think it will take more time/$. * A web app that gets built using gpt 4. I will specify my company domain name and time range, and a list of employees. My objective is to find out how much time each employee is spending in meetings. Within that: how much of the organization’s time is the employee taking in meetings (organization time = # of employees in meeting x duration of meeting). Here’s a sample of what the final output will look like Employee name , Org hrs Week 1 ,Org hrs Week 2 John Doe,500, 400 Acceptance Criteria You will provide Google Api’s and an easy interface to see this data. Data output should also be downloadable in Excel.",due 7 months ago +A mentor social community app,$90.00,"9,000",AadishBansal2,Open,"- Want to build an app which lets users post their mentorship preferences (like consulting-product-brand management- category/program manager etc- categories wise classification can be done) via live or upcoming sessions with dynamic calendar scheduling and also let users search and browse all upcoming and live mentorship sessions going on which they can join and learn on an invitation basis overall maximum capacity. For upcoming sessions users can bid calendar slots and book attendance. Users can also showcase thier interests on any mentorship they want to learn Each session to have interactive video-chat,recording, feedback upvote-emoji features to make sessions more lively plus option to schedule next session within Lastly, monetisation feature to be added where mentees posting session requests will be asked a base fee ( which will be capped at max x rs) which will be advertised first as 100% discount for 1st session and then chargeable from subsequent session...",due 7 months ago +OCR and Airtable Integration Developer,$90.00,"9,000",AntoinetteRosen,Open,"Our company is looking for a developer who can help us automate our data entry process. Currently, we manually enter data from images into our Airtable database, which is time-consuming and prone to errors. We are looking to build a system that can automatically identify text in images of the forms, extract the relevant information, and match it to a record in Airtable. The process should be easy to use for a non-technical team from the start of the process - adding photos - to reviewing the record matches. Acceptance Criteria: Develop an OCR solution that can accurately identify text in images. These are images of in store products and their shelf lable.s The solution should be able to handle various image qualities, resolutions, and font types. Extract relevant information from the OCR output, such as brand, price, product size, and product description and map it to the corresponding fields in the Airtable database. Use this data to match records in our mas...",due 8 months ago +Chat AI that pulls data from folders (Excel and Word docs) and gives a response,$90.00,"9,000",WillJarvis2,Open,"Im looking for a simple ChatGPT-style app that will let me ingest a folder of documents. Mainly Excel and Word docs. Once ingested, I can ask a question from the chat box and get a response pulled from the documents. Simple web app on Replit that lets me ask questions and get answers from internal documents I provide. Ideally I can also upload more documents in the future and have them indexed and searchable. Excel (CSV) and Word (Docx) docs are the main formats I need.",due 9 months ago +gmail add-on that prints all values from headers,$72.00,"7,200",ajitadori,Open,"Make a gmail add-on that looks through say my last 1000 emails (this number is configurable), and outputs 1) The longest from email address found, and what it was 2) Same for to 3) The longest message id found (you can see this in the ""original message"") and what it was The UI doesn't need to be super pretty, it just needs to work for me and have those buttons and text fields. Acceptance Criteria Please provide a github or evidence of past experience.",due 6 months ago +Fix login/signup bug for iOS app,$67.50,"6,750",AHKarim1,Open,Looking for help resolving an iOS bug that prevents the user from logging in after signing up on the application. Language: Swift,due 1 week ago +Auto SKU Generator for Shopify Products,$67.50,"6,750",DavidWeinrot,Open,"I maintain a Shopify store where I consign apparel and accessories. I am seeking development of an app that will render a Shopify sku value based on the Vendor na,e and a date time stamp. I want the sku value to assume the first two letters of a vendor’s first name, the first 3 letters of the vendors last name and a date/time stamp. Separate the first and last element from the date-time element with an underscore character (_). For example, if the vendor’s name is Taylor Swift, the sku would be: taswi_20230603:082230 In this example ta= the first two letters of the vendor’s name and swi= the first 3 of the vendors last name. The vale of 20230603:082230 represents the yyyymmdd:hhmmss of when the sku is minted The Shopify app should mint SKU after the user specifies the vendor name. Acceptance Criteria When Shopify backend user defines a value for the Vendor pick-list on a Shopify product, the app should auto-generate the sku in the format described above. If th...",due 5 months ago +Resy (restaurant reservation) booking bot,$58.50,"5,850",quirplesque,Open,"I'd like to get help from someone who can build me a personalizable bot that would auto-grab me reservations on Resy for restaurants that I can't otherwise book fast enough - similar to bots that could purchase hard to acquire clothing/merch drops (like Supreme, etc) with a high degree of accuracy I'm open to what the UX looks like but it should be user friendly and customizable per venue of course. Example on Github that I've seen: https://github.com/Alkaar/resy-booking-bot Acceptance Criteria Can be run on desktop device and also in the background once it is set up with the right parameters I need to be able to have the source code so that I can host and run it on multiple different devices, potentially simultaneously Uses the Resy API or whatever mechanism to allow for the fastest reservation time possible Ability to integrate with a credit card in case the reservation requires payment Ability to grab reservations at a precise window and rapidly refresh (for example, certain rest...",due 2 months ago +A webapp to calculate the costs that are payable in English legal proceedings.,$45.00,"4,500",WilliamMackenz3,Open,Set out at table 14 here is a table https://www.justice.gov.uk/courts/procedure-rules/civil/rules/part45-fixed-costs/practice-direction-45-fixed-costs I want to create a web app that will ask a number of questions and then calculate the amount that is payable. It is quite formulaic. I can provide the questions that the app needs to ask. I want to then be able to deploy this to my website and charge someone to use it on a monthly basis or on a per use basis. It should only need to ask about 5 or 6 questions. But there will likely be a few if statements.,due 4 days ago +Automatic 1111 Docker Image running on Apple M1,$45.00,"4,500",adamgoyer,Open,"We're seeking a solution to make the Automatic 1111 Docker Image compatible with Apple M1 Silicon. Automatic 1111 is a user interface for the Open Source tool, Stable Diffusion. The existing Docker Image, however, doesn't currently support Apple's M1 Silicon. Bounty Requirements To claim this bounty, you need to: Modify the Docker Image so it can run on an Apple M1 Silicon machine. Submit a pull request to the repo linked below. Notify me of your submission so I can test it. Successful completion of this bounty will be judged based on the Docker Image running successfully on an Apple M1 Silicon machine. Prerequisite Knowledge You should be familiar with: Docker and Docker Compose Stable Diffusion Automatic 1111 (Optional but advantageous) Please note that the Automatic 1111 Repo contains some helpful notes for running it on Apple M1. Link to Project You can find the Docker project on GitHub here. and the Automatic 1111 repo [here[(https://github.com/AUTOMA...",due 4 months ago +Game / Level Design for an Exciting Virtual Reality / Augmented Reality Title,$45.00,"4,500",DilanShah5,Open,"We have a game called YW (code name) and it retails publicly on the Meta Quest platform. We need help designing a few levels, and all it takes is a neat know how about the game itself and tweaking of some meta-parameters to make levels for already designed games in VR. We need you! Each game in our product has a simple game logic, when you use the title it'll be clear. Acceptance Criteria We've laid out an example level. We need you to own a Quest 2 in order to work with us. Technical Details Generate many levels (where a level is defined below) for each of the games within YW. Here's an example of how one single level might look in json: ""description"": ""the schema validation of YW games"", ""type"": ""object"", ""championship info"": { ""properties"": { ""name"": { ""description"": ""Name of the championship to be displayed"", ""type"": ""string"" }, ""UID"": { ""description"": ""UID of the game for this championship definition"", ...",due 5 months ago +Create an Expo config plugin for react-native-line,$45.00,"4,500",TyLee5,Open,I need help creating an expo config plugin for this repo: https://github.com/xmartlabs/react-native-line Technical Details To test after this expo config plugin is installed and expo prebuild. We'll build another app with eas and run it with expo start --dev-client. The tested app should be able to login with LINE (please add a snippet to do this) on both iOS and Android. Link to Project Create a Github repo and make it public.,due 5 months ago +Square Test Data Migration Script,$45.00,"4,500",JonathanTowell,Open,"I am building a tool on the Square API. The API offers a sandbox environment. However, populating the sandbox with data is not easy. I want a script that allows me to set two variables: Square Production Access Token Square Sandbox Access Token When the script is run, I want the following to happen: All Sandbox environment data is deleted All objects in the list below are queried from Square Production and copied into Square Sandbox environment Objects to copy: Locations Catalog Catalog Objects Loyalty Programs Objects that have been deleted in Production can be skipped. Acceptance Criteria Anytime the script is run, the active (not deleted) Sandbox Environment objects (listed above) should look identical to those in Production so that testing in the Sandbox environment can more accurately reflect real-world data. Object IDs may be different if necessary.",due 5 months ago +Background Blink Tracker for iOS,$45.00,"4,500",ajitadori,Open,"I am looking for a phone app which keeps my phone camera on in the background, and flashes the number of blinks I have per minute on my screen if its below some threshold. I basically want exactly this Mac app: https://github.com/sirkevinwang/Blink on mobile iOS. Since iOS normally disallows background video, you'll have to work around it by either 1) publishing on a sideloading app store, so not officially downloadable or 2) using a zoom-like technique where the video is in a small screen in the corner on top of the current application. If your expertise is Swift, you want to adapt the linked repo, or you want to reimplement in Dart/Flutter, I am open to any plan. One documentation that will be useful is this: https://developer.apple.com/documentation/avkit/adoptingpictureinpictureforvideocalls Acceptance Criteria An iOS app I can at least load onto my phone with xcode (and is ideally in-progress for review at the app store), tracks my blinks in the background v...",due 4 months ago +Need dev stack help for AI Image Web App,$40.50,"4,050",blnkk,Open,"I'd like a breakdown of the development stack used to create a web app that utilizes image generation AI to generate images for users based on models fine-tuned on user data. Specifically, need help understanding how to maintain AI models for each user - want to have image generation scripts and the model on one image/disk and handle sporadic api calls aka want the models to be accessible to scripts without incurring large GPU costs/run times.",due 4 months ago +Investigate and analyze top AI detection websites for an in-depth report,$31.50,"3,150",sekudash,Open,"Objective: Investigate and analyze top AI detection websites for an in-depth report. Task Description: You are assigned to carry out research on major AI detection websites such as ZeroGPT, CopyLeaks, GPTzero.me, Undetectable, etc. Your analysis should cover the following: The specific models/APIs or any other underlying technology they employ for AI detection. The accuracy of each website's AI detection, including the percentage of times they correctly identify AI-generated content (and also potentially inaccurately identify AI-generated content). Identification of the most reliable and precise service amongst them. Deliverables: You need to prepare a comprehensive report addressing points (1)-(3). The report should detail: The leading AI detection websites and the reasons for their dominance. The technology they use to detect AI-generated content. The accuracy level of each website's detection. The most reliable and accurate service based on your findings. This report should includ...",due 4 months ago +AI image generator for future kids - what does he or she look like?,$31.50,"3,150",Tarzelf,Open,"Currently there are a ton of AI generative avatar sites where you can generate different types of avatars, I would like to explore some more practical usage of these generative models where both parents get prompted to upload 5-10 selfies (good quality). The model will generate what their future child looks like. Acceptance Criteria The model must take into the quality of the selfies into account (you can't just upload things that aren't good quality or not selfie). It should take in parameters like the gender of the future child into account. In addition, if there could be an age factor where the images generated range from being a 1 year old baby to 6,7,8 years old.",due 11 months ago +Rust implementation of Particle Lenia for WasmEdge,$31.11,"3,111",bmorphism,Open,"Use Rust to implement Particle Lenia in a way that can be compiled to run on WasmEdge (https://wasmedge.org/book/en/) Use the guidelines and the type of memory use optimization from a similar Game of Life implementation below. Submit a compiled .wasm binary together with the codebase, and briefly talk about steps you took to make the implementation energy-efficient. Needs to be visualized using CanvasRenderingContext2D: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D Code to implement: https://google-research.github.io/self-organising-systems/particle-lenia/ https://colab.research.google.com/drive/14nw3aK5aOMH_brKYdRsXHKt0OgK1RteK?usp=sharing Acceptance Criteria Compiles, and has tests. Appendix - Game of Life example use std::thread; use std::time::Duration; const ROWS: usize = 30; const COLS: usize = 60; fn main() { let mut current_generation = vec![vec![false; COLS]; ROWS]; let mut next_generation = vec![vec![false; COLS...",due 9 months ago +Create a next.js 13 {app/experimental} app for popular tweet notifications,$27.00,"2,700",aidantorrence,Open,"Acceptance Criteria Uses Next.js 13 app Pings a specific SMS number whenever a twitter user in a set of twitter users {provided} tweets. The home page should display the latest tweets from the set of users in chronological order. For each tweet, there should be an input bar that on submit, you can send a reply to that tweet. Tailwind preferred I'll need the code :)",due 9 months ago +Write me a 1Inch limit order function in JS! Updated with almost-working code!,$22.50,"2,250",AskProgrammers,Open,"Write me a 1inch limit order function The network should be arbitrum https://docs.1inch.io/docs/limit-order-protocol/utils/guide/quick-start Update: no working answers have been provided. Latest pastebin code gets to the final line then: -> https://pastebin.com/dFVi9ksK The function signature: let limOrder = async (orderType='buy', outputTokenSymbol='uni', limitAmount='0.11', limitPriceUsd='5.12', inputTokenSymbol='usdc', chainId=42161, fromAddress=CRYPTO_ADDR_HERE) => { The function should return the transaction hash of the broadcasted limit order + the limit order object (so that it can be cancelled if needed) it should user ethers as the web3 library askprogrammers@gmail.com Acceptance Criteria The 1st implementation I see that runs (when I put in the required variables like private key, account and RPC URL) I'll accept immediately . I'll can pay for more crypto functions like this & hire you if you're good & motivated! import ethers from 'ethers'...",due 6 months ago +AI Price Researcher - Power Your Sales with Data-Driven Pricing,$22.50,"2,250",Benmar5656,Open,"Job Description: Benmar Electric is seeking an experienced and skilled programmer to develop an AI Price Researcher app. This app will help us gather and analyze pricing data from multiple online sources, allowing us to make informed decisions regarding item value, starting bid prices, and Buy It Now prices. The successful candidate will create a model that uses web scraping and natural language processing to deliver accurate and efficient results. Problem: Collecting and analyzing pricing data from various online sources manually is time-consuming and inefficient. There is a need for a reliable and fast tool to provide accurate pricing data, enabling users to make better pricing decisions. Acceptance Criteria: The AI Price Researcher should be able to gather data from multiple sources, such as eBay (previously sold and current listings), other marketplaces, and price guides. The tool should use web scraping and natural language processing to collect and analyze the data. The AI mo...",due 6 months ago +Replit Youtube video clipper for Evolution @Replit,$22.50,"2,250",jesse,Open,Create clips of this youtube video that will get people psyched on the Evolution @Replit series. https://www.youtube.com/watch?v=ww0W8ne4V_Y&t=1424s Acceptance Criteria Send us > 90 second videos that will grow our youtube channel with captions and/or editing that makes the clips stand out.,due 9 months ago +Install all dependencies and run ShortGPT github repo in Replit with no errors,$19.80,"1,980",newmediamavs,Open,I'm trying to get the following repo to run within Replit but am having difficulty with the installation of dependencies. https://github.com/RayVentura/ShortGPT Acceptance Criteria I would like someone to go through my version and ensure everything is installed correctly and also document for me the steps that were taken so I can replicate them in the future and understand how this was accomplished. Technical Details Link to Project https://replit.com/@newmediamavs/PixelRiot-1,due 2 months ago +Python-based video editing,$19.80,"1,980",newmediamavs,Open,"I'm looking to use open-source libraries to edit and stitch together images, audio, text, and video into composite videos similar to how Creatomate or Bannerbear APIs work. I've been able to successfully combine audio clips with images and multiple video clips into one using some combination of MoviePy and PIL but I can't seem to get the text effects to work in Replit despite trying numerous approaches. Acceptance Criteria As a user, I can programmatically combine any combination of images, text, audio, and video into a final rendered video. Utilizing effects such as pan & zoom, text animations, and positioning, I can create social media posts with effects similar to what Creatomate or Bannerbear offer. A great sample workflow would be to take 3-4 images, overlay audio on them, create a simple zoom effect on each image and transition effect between images, add tiktok style text effects to the image, and stitch everything together into one video file. Major bon...",due 7 months ago +Setup custom AgentGPT,$10.00,"1,000",TedFarni,Open,- trying to setup AgentGPT on replit and customize it so that it will write content for the chapters of textbooks. Acceptance Criteria - I just need setup and ready to run Technical Details - none Link to Project - https://github.com/reworkd/AgentGPT,due 5 months ago +microbounty multiplayer game,$10.00,"1,000",dukecrawford,Open,"prob w bounties too few players, too slow loops solv w microbounty offer microbounties on tiny probs expiry fast (in minutes/hours not days/weeks) multiplayers race to solve best solution wins 60% fastest solution wins 40% multiplayers learn more from fast best solutions hackathon always on solve little probs faster assemble big solutions faster make players learn more faster build faster extension post your offer find live offers celebrate winners order results on/off extension for any bounty page replit nostrbounty etc upsides jack dorsey now making nostr (twitter-killer) he's offering $275,000 bounty for killer GIT on nostr microbounty can start doing nostr GIT now replit can connect w nostr better nostr auth and data model is simple together stronger replit nostr better faster replit hackathon 04/25 today 5PM-10PM PST we're in let's do it :) tldr a site where people can post small bounties that other developers race to complete for fastest time and best solution (hackathon st...",due 6 months ago +Discord Multi Tool,$9.00,900,might1337,Open,i want discord multi tool to manage my tokens with capsolver.com api,due 2 weeks from now +Looking to discuss what's possible for Virtual staging AIs,$9.00,900,Danar8,Open,Looking for an experienced AI developer who has worked on similar projects previously. Want to know what's feasible as far as creating something similar to the following products for a different market--> https://www.virtualstagingai.app https://homedesigns.ai/ We can discuss over discord or Whatsapp. Thanks,due 2 months ago +Generating Multiple Weather Conditions basis one cityscape image,$9.00,900,ShivangKumar6,Open,"Lets suppose we have a cityscape image which has a sunny weather condition, can we convert the cityscape images into multiple weather conditions like: Smoke Haze Fog Storm Dust storm/sandstorm Snowy Rain Hail Thunderstorms Cloudy Overcast Clear Blue Sky Acceptance Criteria: The produced images should be production quality, and the model should be able to scale this solution to 20K images. Sample solution (which is not proper because the structure of the image is changing in the image): https://drive.google.com/file/d/1CLjrxpseJ4o6WQBRmcg4m9k634ax5M0n/view?usp=share_link The Bounty for this is $1000, we will increase the bounty once we see the solution.",due 7 months ago +Custom Sales Conversational AI for Event Engagement,$7.11,711,deveshd628,Open,"Project Title: Custom Sales Conversational AI for Event Engagement Project Description: We are seeking to develop a specialized conversational AI model that will function as an advanced sales tool to engage leads for our upcoming events. Leveraging large language models from Hugging Face or OpenAI GPT-3, this model will be meticulously customized to suit the unique needs of our business. Objective: Understand Our Business: Embed or fine-tune the selected language model with comprehensive information about our business, ensuring that it possesses a thorough understanding of our operations, products, and values. Learn from Real Conversations: Fine-tune the model with examples of real sales conversations. This will allow the model to adapt and become an exceptional sales representative, capable of mimicking the best sales strategies. Re-engage and Nurture Leads: Create a conversational sequence that engages leads who register for our free events. The model will remind them of event da...",due 3 months ago +Flet Lib Python+Flutter runninng Hot Reload on Replit,$6.30,630,gcapedro,Open,"Describe the problem you are trying to solve here: For the Flet project work with Hot Reload enabled, we have to use command ""flet run main.py"" but when using the flet command, Replit VM starts returning some shared library errors. Here are some directions: https://flet.dev/docs/guides/python/getting-started https://flet.dev/docs/guides/python/hot-reload Acceptance Criteria Be specific about what you want in the solution here. Hot Reload on Flet tested and working without any error on Replit.",due 10 months ago +Wp safelink with organic google link redirect,$6.03,603,sakshibenny,Open,"Install wp safelink script on my wordpress with organic google link redirect , Note :- i dont have have wp safelink plugin file . dm me for demo url .",due 3 months ago +lazada website category products (webscraping),$4.50,450,Sharath-lallal,Open,i have a bunch of category url of products in lazada website i need to scrap data from the categorys and the website is not proper response every time and so i need the code to do so,due 3 days from now +Brasil - Solução em Português,$4.50,450,diegofornalha,Open,"Descrição do Problema Desejamos expandir nossa comunidade no Discord, atraindo mais membros que estejam dispostos a aprender a linguagem de programação Cadence, utilizada na Flow Blockchain. Critérios de Aceitação Crie algo que possa atingir a meta de 15.000 membros no servidor do Discord nos próximo 6 meses. https://discord.gg/hT8EpC5mUN",due 1 month ago +Grid Bounty #0,$3.78,378,bmorphism,Open,"Gas fees are $0.42 for this. For 420 cycles, design a Microgrid and Perturbation that destroys it inside PowerSystemDynamics.jl simulation, submit. json of grid and execution log to claim bounty.",due 10 months ago +Create an open source UI SDK for OpenAI Assistants API,"$1,350.00","135,000",stephen42,Open,"The UI SDK should simplify the process of integrating OpenAI Assistants API into applications, enabling developers to create intelligent, personalized assistants with ease. This kit would make it easy for a developer to drop in an Assistant within an existing application. Acceptance Criteria The UI kit should provide a set of reusable components and templates for building chat interfaces, input fields, buttons, and other elements required for creating AI-powered assistants. It's likely best to reuse Shadcn for the underlying UI kit, but then build patterns specific to the Assistant. Technical Details Should be React/Nextjs Should support edge functionality Should be easily used on Vercel Should support streaming An Assistant, in this context, represents a purpose-built AI that uses OpenAI's models, can access files, maintain persistent threads, and call tools. Thread management: The SDK should facilitate creating and managing threads for user conversations, ...",due 1 day ago +Design a Python-based Social Campaign Tool with Vue.js Frontend for Real Estate Listings with GPT-4 Integration,$599.40,"59,940",JoshTeam,Open,"Objective Create a Python tool with a Vue.js frontend that assists real estate agents in designing and executing high-end social media campaigns to promote a listing, leveraging GPT-4 for insights and recommendations. Features Content Calendar: Generate a content calendar for a specified duration (e.g., 30 days, 60 days) with suggested post types (e.g., property photos, virtual tours, neighborhood highlights). Targeted Ads: Provide recommendations for ad targeting based on property type, location, and price range. Engagement Metrics: Track and report on key metrics such as likes, shares, comments, and click-through rates. Integration: Allow for integration with popular social media platforms (e.g., Facebook, Instagram, Twitter) for direct posting and ad campaign creation. GPT-4 Target Market Analysis: Query GPT-4 to identify the ideal target market for a given property, including demographics, interests, and behaviors. Engagement Hooks: Leverage GPT-4 to generate compelling hooks and ...",due 2 months ago +GPT + ElevenLabs(Voice) + Phone Call Integration to an existing app,$450.00,"45,000",SaminuSalisu1,Open,"The purpose of this project is to create an AI Agent for sales training, outbound calls, interviews. Three main criterias - Ability to pick up calls and answer questions on the phone. Data for answers provided by the main user. Ability to make calls to a list of leads from a CSV file uploaded by a user. We already have an existing front end with dashboard, backend and auth setup. Stack Next, Node Transcribe voice to text. Understand and respond to text. a. From script/ (Langchain) data. Synthesize voice (Eleven Labs) Record transcription. Ability to leave a voicemail message. a. Ability to recognize when people don't pick up the phone. Use CSV file excel sheet of phone numbers to call prospective. Use Twilio or any substitute. Ability to forward calls to a human representative.",due 2 months ago +Find and extract info on certain Job Titles from a list of Japanese Companies from any available online resource.,$450.00,"45,000",alexdlaww,Open,"I will give a list of 5 companies and I need someone to create a bot, AI tool or anything that will help to scout and find through any available online resource like articles, databases, socialnetwork and etc, the people that occupy certain job positions at those companies. For example Lead Developer, Producer, Lead Animator and e.t.c. There are 5 job positions and 5 companies. As a result I need a spreadsheet with filled info about the person as much as possible, like email, job title, start date, department that is minimum. The more the better Important Note: those are Japanese companies, so websites, articles, social media and other resources where this info could be available is in Japanese language Acceptance Criteria Prove you can do it, ideally you can provide info for 1 company and I will pay the test job. I am ok to negotiate if you request is higher than my initial offer.",due 1 month ago +Get latest stable branch of AutoGPT working on Replit,$450.00,"45,000",RobertSindall,Open,"I would like to get all the features of the latest stable branch of AutoGPT working on Replit, plus custom development. I would like help to: 0) get it working on Replit 1) building a custom plugin for a specific API 2) work on the core AutoGPT prompts to direct its behaviour 3) add a web API, so it can be called by an external application 4) deploy to Replit hosting Acceptance Criteria All of the above working Technical Details Link to Project",due 5 months ago +Custom self-hosted Ghost blog,$450.00,"45,000",AntonTroynikov,Open,"Create a simple custom theme and do integrations with email subscriptions for a self-hosted Ghost-based blog (https://ghost.org) based on a provided image moodboard, and references to other websites. Acceptance Criteria A complete ghost theme suited to the moodboard with the following pages: About: A plate to put background and contact details about the author Blog: A place to make posts (using the Ghost web UI) Notes: A place for shorter / draft posts, separate from the blog Email subscription, so that visitors can subscribe for further updates It's fine to customize an existing theme, if it suits the look & feel. Ready to deploy. It's not necessary to deploy the site once it's ready, I can do that myself.",due 8 months ago +AI Phone Survey,$360.00,"36,000",WilliamBarber7,Open,"Very similar to google duplex: https://youtu.be/D5VN56jQMWM I want you to build me a tool accessible and customizable via a website, that allows me to enter a list of phone numbers that I would like to call to conduct a phone survey and record responses to survey questions. Acceptance Criteria Familiar with available ai apis for audio to text transcription as well as with text to audio models and apis. Technical Details The major challenge here is latency and making the model sound real. I’ve been impressed with how real https://github.com/suno-ai/bark sounds and I think this would work if it can generate audio from the streamed text fast enough. Would probably help if you’re familiar with streaming chatGPT and bard responses as waiting for the full response is going to be too slow.",due 5 months ago +Speed up an AI Discord that talks to you via voice,$323.10,"32,310",PacificaTools,Open,"We have an existing open source Discord bot that is already up and running. You can see the open source repo here (https://github.com/hc20k/LLMChat). The bot is too slow The Bounty is an open competition to see how fast you can make the bot. Bonus points for making it feel natural, fluid and smooth (ex. handle interruptions, interject with 'umms' and 'ahhs' while the user is talking etc) Acceptance Criteria The bounty will go to the fastest and most natural-feeling bot. All entries must be in the form of a working Discord bot demo (send us a working invite link we can install in our server and try out). We will confirm within 24 hrs of the submission deadline if your bot has been selected. You only need to send us the code for the bot after we've paid out the bounty to you Technical Details Must be a working bot that can be installed in all channels (do not hardcode 'channel ids' for the demo). You can use any tts system, but eleven labs and bark are preferred",due 6 months ago +Bug fixes for an electron app,$315.00,"31,500",Zenthris,Open,"An Electron app that looks at https://superhuman.com/ events (when an email is viewed) and sends a desktop notification once your email is opened. We’ll share a Superhuman account with you if you don’t have one. Will also give you access to all the code so far. It's a working app on the command line. Acceptance Criteria Majority of the app is done and working on the command line. There is work to be there to: Menu bar app Full view to see all notifications as a feed Ability to link to specific email from notification Ability to set the notifications only for emails X amount of date old (1 week, 1 month, etc) Ability to exclude certain emails so that you don't get notifications from them Watch multiple accounts",due 6 months ago +Add Moralis + Firebase backend to existing Nextjs Web3 codebase,$315.00,"31,500",beatsbyjaydee,Open,"I am looking for assistance with turning my frontend build into a full-stack application using Nextjs + TailwindCSS on the frontend and Firebase + Moralis for the backend/smart contract. The app is similar in functionality to DeBank + Reddit + Telegram. In other words, there needs to be: -User profile that can authenticate and manage multiple wallets -View a user's tx history, assets, NFTs -Create/up-vote/read posts similar to Reddit -Send and manage DMs and group DMs with other users -Execute basic on-chain transactions such as swapping USDC or ETH for 10 tokens at once (can use Gelato for this) I already have the frontend polished and ready to go. I want to swap out all my consts with dummy data for a production backend. Firebase is my choice here as it's easier to maintain as a solo dev, handles real time messaging well, and already integrates nicely with Moralis SDK for the web3 functionality. This is a big bounty only going to those who have experience deploying both Moralis and...",due 7 months ago +"Add Clarity language, syntax highlighting, to Repl.it",$270.00,"27,000",hiro-protagonist,Open,"Stacks is a blockchain that brings smart contracts to Bitcoin. Its smart contract programming language is Clarity. The Stacks Replit account showcases a few Repls with Clarity code. The problem is: there isn't Clarity syntax highlighting on Replit... yet. The Bounty: Enable Clarity syntax highlighting for Repls on Replits. I suspect it's through downloading and importing the LSP into a nix package, as outlined in this blogpost by Replit, so Repl owners to then specify language and highlighting in a Repl config file. Acceptance Criteria Add whatever package so that Replit supports Clarity syntax highlighting. Minimally acceptable is adding a package to Nix such that, with one or a few commands on a Replit user's end, they can import or specify in a config file and that Replit will show Clarity syntax highlighting. Helpful Links I suspect that the LSP for Clarity referred to in the Clarity VS Code extension will be a helpful starting place: https://marketplace.vis...",due 8 months ago +Video Game Affiliate Deal and Price Comparison Plugin and Implementation to Wordpress Site,$270.00,"27,000",MattSaincome,Open,"I own hard-drive.net. I want to use plugins and some building to make my site basically add the functionality of https://gg.deals/. Must be able to focus, work fast, and get job done. Then we can do more together. Wordpress site hard-drive.net wants to add in features similar to https://gg.deals/ Lets start right away",due 9 months ago +Video Combiner,$234.00,"23,400",ajitadori,Open,"I have a set of between 2-10 videos. These videos are of a lecture classroom from different angles. Some of the videos have audio, not all. I want a command line script I can run on a folder of .mp4 files. You should detect the filenames automatically, extract the audio from the ones that have audio (we don't know in advance which ones it is), and then generate one combined video. You need to 1) Choose the highest quality audio. To start with, just choose the highest bitrate audio or one at random. To go the extra mile, you can choose the highest signal-to-noise ratio audio. 1) Automatically offset the videos correctly: they are often a few seconds offset from each other in some direction. Some multi-camera adjustment pipelines for scenes exist, you'd have to see how well they work and integrate them. 2) This combined video should smartly use heuristics to choose which video to show at that second. One good starting heuristic is that the video with the most movem...",due 4 months ago +Shopping AI Application,$225.00,"22,500",UttamKumaran,Open,"The goal of the project is to build a system that allows a user to use natural language to identify one or more items in a product database. The user needs to be able to write any sort of product related query such as ""I want a dog toy"" and the bot responds with questions that are helpful to narrow down the criteria. The bot has access to a product database which it can use to ask product specific questions. Generic questions such as price, rating, brand, etc are also available. Once narrowed down, the frontend displays the product choices that meet the criteria. Acceptance Criteria shop.claros.so is a really good inspiration Please build a basic UI with a chatbox User is able to ask for a product with some details and the resulting bot provides follow up questions until <5 items are remaining at which time the 5 items are displayed Technical Details Please use OpenAI and Pinecone if possible Database is a MySQL database with product data. Would need to connect t...",due 6 months ago +Automated YouTube Video Creator,$225.00,"22,500",hello161,Open,"Description: Looking to build an AI-powered YouTube channel by using ChatGPT, DALL-E 2 Image Generator, ElevenLabs. How it Will Work: Topic Preparation: I will manually input a Topic Idea Script, Title, and Description: Based on the topic, chatGPT generates a video script, title, and description for the video. Voiceover Generation: It uses ElevenLabs API to generate voiceovers for each line of text. Image Generation: It generates relevant images for each line of the script, based on the topic using DALLE 2. Slideshow Generation: A slideshow is created, which lines up the images to the line of text being spoken. Subtitles: Automatically adds subtitles to the video, which are auto-generated and overlaid onto the video using text-to-image tools. Final Video Creation: The generated video components are combined into a final video, which is saved as an MP4 file.",due 6 months ago +Looking to add a 3d face to a facemessh with javascript,$225.00,"22,500",ElieToubiana1,Open,"I have been playing around with the mediapipe library with facemesh to find the landmark on my face. I am looking to not only draw the landscape but do effectively a faceswap Acceptance Criteria Step 1: Explain how a face can be uploaded .. not sure if it needs to be a 3d model. Ideally just a picture Step 2: Once a face is uploaded, open a page and see the face animating as I move my face. See here: https://www.youtube.com/watch?v=-UxIfh2ATOY Technical Details These 2 links might be helpful: https://google.github.io/mediapipe/getting_started/javascript.html https://github.com/pjbelo/mediapipe-js-demos",due 10 months ago +Streamlit/Plotly App to Plot Option Skewness and IV,$198.00,"19,800",BrianRagen,Open,"I would like to create a Streamlit/Plotly app that plots the skewness (I can provide the formula) of two given options. For example, SPX put options nearest to 150 DTE and nearest to -40 and -10 delta. The plot would place dots at 15-minute intervals, and also have lines for a simple moving average, and one and two standard deviation bounds. Here is a sample of what the plot should look like: https://imgur.com/cGpPcxD I would also like to plot the at-the-money IV in the same way. I anticipate using polygon.io for data, but there may be other options. I can provide access to a private, very similar app (that I just want to extend in a few ways) to qualified applicants. Acceptance Criteria The ideal applicant would be familiar with Streamlit and/or Plotly, the Polygon API and (though probably less important, because I can provide the relevant formulas) option Greeks.",due 8 months ago +Write a specification for me,$180.00,"18,000",MartinSchrocker,Open,"Help me write a short, precise high-level specification document for the following system based on today's technology: I want to have in replit a running system that interacts with me proactively trough a telegram bot (or some othet app) that I can talk (and write) to, that runs permanently, and that then interfaces with a central component like a switchboard that passes my messages on to the Whisper API to describe it to text, and then acts upon this text. A system that has some active inner part, maybe a language model, maybe not, that puts what is necessary of this text in long-term storage, parameterizes schedulers based on its content to do specific things at later points in time, and has a set of API interfaces to AI up and running. Already having a focus on privacy perservation and user owned systems. If you want to write this document for me please send me an email with two contents: Part 1: A text describing the core functions and added values of the s...",due 17 hours from now +Create Life Tracker Like Rob Dyrdek,$180.00,"18,000",GeorgeMack1,Open,- I want to create a time tracking script that moves my calendar logs into Google sheets just like this. https://twitter.com/thesamparr/status/1461407769953722370 https://www.tiktok.com/@tscpodcast/video/7198176122293488939?lang=en I already track and tag everything in my calendar. I just need it to take that data from Google / Apple calendar -- and put it into a dashboard in Google sheets. Acceptance Criteria - It should produce an outcome identical to the one in the images attached. Technical Details - Email me and I can share my calendar set up with you. Dyrdek uses a script that moves it from calendar into sheets. Link to Project - See above.,due 3 months ago +LangChain / OpenAI / NLP Troubleshoot,$180.00,"18,000",MehradYaghmai,Open,"We are experiencing call limit requests with our app, our stack uses Langchain & OpenAI. We have parallel requests going on and looking to reduce the call limit, when we check rate limits we are well below OpenAI's limits, so would want someone with a bit more experience using Langchain and OpenAI to help us troubleshoot it. Acceptance Criteria Helped us figure out the problem faced - will share more on an initial call and screen share our code. Technical Details We use LangChain, OpenAI (GPT & Embeddings), ChromaDB, NextJS FE/BE. Ideally you should have experience in all or primarily the AI-related stack components. We suspect a NLP experience might be useful as it might be able to reduce a OpenAI call that could be replaced with NLP solution.",due 6 months ago +Fine tuning GPT-3 for video game reviews,$180.00,"18,000",MattSaincome,Open,"Hey! I run a website about video games. I want to create a specific type of video game review, but automated, and then do hundreds of them using GPT-3. So I believe I want to finetune a model to do this by pulling from several websites, which I can point you to. Need to be able to scrape data from other sites and fine tune for one particular type of output. Technical Details",due 9 months ago +Ask Dr Huberman ai questions,$180.00,"18,000",dylntrnr,Open,"I want to begin building a suite of Socratic AI tools and assistants powered by GPT. The first assistant I'd like to launch will be modeled after Dr. Andrew Huberman's knowledge so that users can ask questions about health and longevity. Ideally, it will be very similar to this website: https://huberman.rile.yt/ Fine tune GPT to Andrew Huberman's blog and interview content Create a sleek UI and interface with a field for asking questions and an area to read responses GPT responds with answers that are fine-tuned to Dr. Huberman's knowledge Ideally, after this project, I'd like to continue working with the developer on this project to launch other Socratic assistants.",due 11 months ago +Fine Tune GPT-3 or other model to generate workouts and build interface (Milestone 1/N),$180.00,"18,000",EugeneMann,Open,"I'm looking to build a simple fitness / workout generation website on GPT-3 or other model if preferred. Model will be trained on an uploaded spreadsheet of workouts and the website would generate similar workouts based on a fine tuned GPT3 /other model. Components 1. Fine-tune model and generate output Model will be tuned on example programming with the goal to produce more workouts that look like this one https://docs.google.com/spreadsheets/d/1GwlbMZD3VBrptphGaF6tS3xt6uDCLF_9VizJTWV65jI/edit#gid=0 2. Web App to generate output, view results and database to store Web app that enables user to generate more results, view output Database to store output and enable user to edit text after initial model creation Acceptance Criteria Web app that enables user to generate more results, view output and edit text. Database to store output Tuned API / model that produces results similar to input Code also provided on GitHub. Additional milestones after competition of B...",due 11 months ago +Talking Harry Potter-style Painting,$162.00,"16,200",ajitadori,Open,"Talk to a 'painting' and have it talk back, like Harry Potter paintings. Detect voice coming from the always-on speaker, and when a specific name is uttered, start paying more attention (i.e. it should detect me saying, ""Plato, what would you say about the rapid industrialization of society?""). There are many open source programs for similar wake word detection. Then, the desktop should run speech-to-text on that voice. Then, it will pass that text into chatgpt to generate the response to that conversation. While ChatGPT is generating a response, it will fill that lag gap with some templated responses (like, ""Great question! I have spent decades pondering this very idea"" or whatever). Then, using tokkingheads/another deepfakes-type model to modify both the voice and the face, to have their face pretend like they're saying the response. Once the ChatGPT text starts coming, stream it sentence by sentence to the painting so the animation looks smooth. I will run this...",due 4 months ago +Fine-Tune GPT-3,$135.00,"13,500",DM256,Open,"I would like you to create a GPT-3 program that can be used for a specific industry that will be trained by my own models and the webpages provided. Acceptance Criteria The interface needs to be similar to chatGPT AI (i.e., I can submit questions and/or statements to this fine-tuned version of GPT-3). The program needs to refer to fine-tuning models on my desktop or other local storage. The program needs to have comments explaining each part of the code so edits can be made. Your code should stay private and the code rights transfer on payment. This is a commission.",due 11 months ago +Deploy AI Colab Notebook to Endpoint,$108.00,"10,800",ajitadori,Open,"Please deploy this colab notebook: https://colab.research.google.com/drive/1bwUnj-9NnJA2EMr7eWO4I45UuBtKudg_?usp=sharing that lets any person be substituted into any video of another person. To an AI endpoint that I can easily query with a new video and a new image. There should be two modes; one where I have uploaded a video previously, and just call the API endpoint with the URL of a new image which automatically gets download and run. In the second mode, I should be able to send in the URL of a video and an image, and the image will automatically get style transferred to the video. These should be ideally deployed on replicate.com. Can also deploy on AWS or GCP -- you can use any service and any language! Acceptance Criteria I will accept anyone who provides a plan of what they will do, along with past experience like a Github or a resume.",due 7 months ago +Langchain and LLama Index Data connectors for custom knowledge base - Django Python,$107.10,"10,710",SaminuSalisu1,Open,"Describe the problem you are trying to solve here. I am looking for a python and next.js developer to build data conenctors to existing chatbot using llama index and other available options Acceptance Criteria Chat with various data sources, compile report across these datasets, and retrieve information from databases",due 2 months ago +Generate an API To Generate Professional Photos [Instructions Included],$90.00,"9,000",Robinsingh91,Open,Following this instruction - ship an api endpoint that can take pictures and outputs professional headshots https://www.youtube.com/watch?v=TpuDOsuKIBo&list=WL&index=10&t=1635s&pp=gAQBiAQB Acceptance Criteria Technical Details,due 4 months ago +Mentor Booking web app (Teach me everything I need to know),$90.00,"9,000",bagdaddy,Open,"Happy paying by the hour. Would like someone to teach me everything I need to know and understand to build a mentor/expert booking web app. To be clear, at the moment, I'm not looking for someone who can teach me to code, but to teach me what are the ingredients required and best way to go about building this. Acceptance Criteria Looking for someone who is: Patient and can teach me about all the buildings blocks required and best way to go about building this. Fluent in speaking and communicating in English. Able to accommodate GMT+3 time zone. Able to speak to me over a video call or screen sharing call. Able to dedicate a couple of hours for this over the period of a week or two. Technical Details Web app, mobile responsive. Payment happening on the web app (using Apple Pay, Google Pay, credit cards) Easy and friendly to use. Allows for booking and scheduling Link to Project Maybe https://intro.co/ is similar?",due 4 months ago +AI drawing web app,$90.00,"9,000",aaheliyer,Open,"The budget can be discussed over email. The bounty can be an advance. Looking for a skilled developer to create a web application that uses machine learning to help users draw. The app should allow users to draw shapes using a mouse or trackpad, and then use machine learning to turn those shapes into complete drawings. The ideal candidate should have experience in machine learning, web development, and user experience design. The app should be user-friendly and easy to navigate, with clear instructions for users to follow. I will provide designs and closely collaborate along the way.",due 5 months ago +EV charging mapping tool,$90.00,"9,000",DaveMac28,Open,Using Census Data for a City or Municipality we want to create a predictive number of EV chargers which will be required by 2030. Goal is to forecast current and future ev charging infrastructure demands. Inputs will be: Number of Cars Population EV charger uptake Rate Outputs will be: PDF / Email report and map area #can host anywhere (internal use for now) - to be used later externally potentially hosted on wordpress.,due 9 months ago +Use gpt-3 / chatGPT / langchain / gptindex to build a document qa web app,$90.00,"9,000",krrishdholakia,Open,Looking for someone to make a simple web app that can qa against my documents using gpt-3 / chatgpt / langchain / gpt index,due 9 months ago +Create iOS Swift Transition Like Instagram Photos,$90.00,"9,000",BrennanErbz,Open,"Need to create a navigation transition class that is like the transition on Instagram when you tap a user's photo and it goes to the photo detail page. Acceptance Criteria Replica of Instagram navigation transition, written in Swift with UIKit. Touches should be immediately recognized after each transition push/pop.",due 10 months ago +Resy booking bot,$50.00,"5,000",jencap,Open,"I want to access a bot that helps me book reservations at specific Resy venues that are otherwise hard to book. There are already some examples of this on Github but I'd like something on Replit with a very very simple UI (can be an unformatted form) that lets me select restaurants and then monitors constantly until it gets a reservation. It should notify me via email once complete. Resy API: http://subzerocbd.info/#introduction Example on Github: https://github.com/Alkaar/resy-booking-bot Acceptance Criteria Able to authenticate and book Resy reservations for any venue Needs to handle restaurants that require a credit card to reserve Should have a simple UI that takes a venue name, API token, reservation type (e.g., indoor, patio, or whatever the venue accepts), and a range dates and times (e.g., ""Fri 24th April 5-8pm"" would be one window of time, I want to be able to specify multiple windows of time) When setting up the bot to look for a specific reservation, it...",due 7 months ago +Submit your first PR to BDK or LDK,$49.50,"4,950",hhua,Open,"Submit your first PR to BDK or LDK. Eligible repositories: BDK: https://github.com/bitcoindevkit/bdk LDK: https://github.com/lightningdevkit/rust-lightning Ideas on good first PRs to work on: https://github.com/bitcoindevkit/bdk/labels/good%20first%20issue https://github.com/lightningdevkit/rust-lightning/labels/good%20first%20issue Acceptance Criteria: The first person, who replies with the link to their first PR that is successfully merged to the repos mentioned above on or after Nov 25, 2022 (based on Github time), can claim the bounty. To be eligible for the bounty, he or she should not have previously submitted a PR to any of the repos mentioned above.",due 10 months ago +Chrome extension to provide terminal style commands to ChatGPT interface,$45.00,"4,500",oldbucket,Open,"Testing out Replit Bounties. with a simple project. Want to create a simple Chrome Extension for the OpenAI ChatGPT interface at https://chat.openai.com, to show the users' prompt history that works like command prompt in windows where up arrow on the keyboard displays the previous prompts and down arrow displays the next prompts and F7 displays the prompt history. That's it! Acceptance Criteria Chrome Extension that I can install locally in developer mode to test All the packages/files necessary to be able to submit to the Chrome Extension directory Technical Details If it's straightforward, would be nice to be also be able to save/favourite prompts locally, and then share them with the community of other users of the extension Don't think it needs to be hosted anywhere, unless we have saving and sharing of prompts but correct me if wrong and if so provide suggestion on hosting",due 6 months ago +Eject workign android from my react native app,$45.00,"4,500",bilalghalib,Open,"I am facing some issues with my package.json containing links to outdated packages for my android project. The project currently runs exported on iOS. I'd like to clean my project up from any warnings and any outdated packages so I can create a working android package I can run on a simulator. Acceptance Criteria working package on simulator, cleaned up packages for both iOS and android Technical Details react native project based on the Lexicon open source project Link to Project https://github.com/mailtotesting33/lexicon/tree/staging (the one on staging is the right one)",due 6 months ago +Swift Video Recording Camera that mixes with Background Audio,$45.00,"4,500",harik2000,Open,"I'm currently in the process of debugging my video camera model that I'm using to record video and audio in my iOS app. I would like the video camera to continue playing background audio if there is something play and record using the mic over the audio. I initially got my av capture session to work smoothly as intended by adding the microphone input on set up which automatically stops playing background audio when the camera view is set up. It records videos and captures photo but stops any background audio from playing. Acceptance Criteria A camera model that works with swift in an iOS app that records video and audio using avfoundation/avasset writer while smoothly mixing with background audio. Manages audio session separately to ensure that background Audio doesn't get interrupted when the camera starts and stops recording. Technical Details Swift with iOS provided libraries such as AVFoundation, AVSession, AVAssetWriter Link to Project I can provide a GitHub...",due 9 months ago +Get Chess game pgn and embed code from url,$45.00,"4,500",GabeB5,Open,"Description: I would like an automation (using Make.com), that takes in a webhook (with chess game url, either Lichess.org or Chess.com) and returns both the pgn and embed code as fields (into an airtable). I've attempted to do this with Browse.ai, and think a similar tool would work. Requirements: Must be experienced in airtable, make.com, and scraping Technical details: Happy to provide additional technical details / access after acceptance",due 10 months ago +Extract Foursquare merchants from Plaid API,$45.00,"4,500",RabbitEars22,Open,"I'd like a simple web tool. The page should use Plaid to allow a user to login with their bank. For our example we will use an American Express credit card. Once the user logs in, you will need to load every transaction using the Plaid API. Look up each merchant from the result using Foursquare's POI API. Filter out anything not categorized as a restaurant or bar Please print an HTML table with merchant, date, amount, and Foursquare URL.",due 10 months ago +Outreach tool,$45.00,"4,500",RabbitEars22,Open,"I am attempting to create an outreach tool (via Instagram) to OnlyFans creators who have OnlyFans pages at http://www.onlyfans.com/. They cannot be contacted on OnlyFans, but they can be contacted on other sites like Instagram. Nearly every OnlyFans creator has an Instagram page, often with the same username, e.g. http://www.instagram.com/ So - I am trying to create a repository of creators with the following fields per creator: Instagram URL Instagram Avatar URL Number of Instagram followers OnlyFans URL OnlyFans Avatar URL Number of OnlyFans posts Number of OnlyFans likes You can create this repository through one or more of the following methods: Scrape every possible OnlyFans username, and then check to see if an Instagram with the same exact username exists. Do the same with every OnlyFans page linked from the pages of https://onlyfinder.com/ and then either use the linked Instagram or assume the same username. Scrape every instance of Hoo.Be/ urls which lin...",due 10 months ago +Parse Google Scholar Search Results,$45.00,"4,500",PhelimBradley,Open,"I'd like to be able to monitor Google Scholar alerts or new articles posted that match a search term and record them in a spreadsheet. Acceptance Criteria A spreadsheet of of new results matching a search term with URL to the paper, the authors of the paper and corresponding author email if possible.",due 11 months ago +Slack Bot Developer - Python + Bolt,$40.00,"4,000",GrailTrail99,Open,"I'm looking for someone who is experienced in creating Bots/apps in python that can work closely with me. First project is to create a slack bot with starting requirements as follows: Quiz Bot capability Ask bot for a question from question bank -> multiple choice question given -> tracks team scores Retrieve information from external resources ChatGPT integration Mathematics Calculations These are a few requirements, the idea of this engagement is to have a developer join our team and work through this app through multiple phases/engagements. INCENTIVE OF 50% BONUS IF WORK IS DONE RIGHT AND TIMELY + ADDITIONAL ENGAGEMENTS",due 7 months ago +Instagram Bot for the Liking Photos of Potential Customers Based on Specific Criteria,$36.00,"3,600",JoshOzeri,Open,Instagram Bot for the Liking Photos of Potential Customers Based on Specific Criteria Must have experience creating Instagram Bots.,due 3 months ago +Lucid Dreaming App,$36.00,"3,600",ajitadori,Open,"I want to make a React Native app that works on iOS and Android. It should: 1) Have a selection of totem sounds. The default should be the same two tone sound as this app: https://play.google.com/store/apps/details?id=com.neurelectrics.dive 2) When someone says they are going to sleep and turns it on, begin a 5 minute routine. This should play the sound once, then play audio that says some preset text (and people should be able to select the voice from a selection of voices, including depofaked Obama etc. We will link a program to do this). Then, at random times within the 5 minutes, play the two-tone sound again 5 times (again, both numbers that can be set in the settings). 3) Connect to the Oura ring V2 API. This is how tognrt real time sleep data: if t the user opens your app then the Oura app which stays open without sleep, it should real time sync data with the API with the ring. You can test this as well, I can buy you a ring temporarily or you can send me a...",due 4 months ago +Public Company Events,$36.00,"3,600",NateMitchell1,Open,"Every time a public company I follow adds an event to their calendar (earnings call, analyst/investor day, conference presentation), I would like it to automatically send myself a calendar invite in outlook. Acceptance Criteria I should be able to add and remove companies at my leisure (single company, or list of companies) I should be able to add other people to get the calendar invite Needs to work on outlook Technical Details",due 10 months ago +Transcribe & Summarize Proof of Concept,$27.00,"2,700",AccountsAdmin,Open,I would like to utilize whisper to transcribe audio from a meeting. I would like to utilize GPT-3 to automatically summarize the meeting from the transcript. It should support diarization to identify the different speakers. Below are some resources on solving this. https://lablab.ai/t/whisper-transcription-and-speaker-identification https://github.com/openai/whisper/discussions/264 https://huggingface.co/spaces/vumichien/whisper-speaker-diarization Acceptance Criteria It should allow me to put in my OpenAI API Key It should have a react frontend It should use a postgres DB It should use Ruby on Rails It should save meeting transcripts and summaries It should display meeting transcript and summaries It should provide extraction of any meeting takeaway tasks It should be deployed to replit for testing Nice to Have It would be great to have this be ready to move to being hosted on AWS but this is nice to have not need.,due 9 months ago +Simple Three JS Animation,$22.50,"2,250",mail105,Open,Three JS animation for Webflow Please use this video as a reference. It should loop seamless https://share.cleanshot.com/Ss5514Mx Inspiration/Reference This should be embedded into a webflow project.,due 3 months ago +SwiftUI: Build a AutoCompleteTextView (Android) equivalent in swiftUI,$18.00,"1,800",IdleIdle,Open,"I currently have a form in iOS/swiftUI with a bunch of text fields They look like this TextField(""Some input"", text: $something).textFieldStyle(.roundedBorder) I want to be able to have a SwiftUI component that looks/can be styled just like a textField (just in case my designs change in the future). But as the user starts to type, there is a floating window with options that appears and the user typing will effectively filter that list. You can think of it as building a country picker (just text though, no images) of a CountryPickerTextField. Acceptance Criteria You should deliver the swiftUI struct that ends up looking like a textField but upon clicking on the field, some sort of popup/window/dropdown menu will appear and the user typing will filter that list down.",due 9 months ago +Building a Secure React Native Web Application with MongoDB Backend and API Key Management,$18.00,"1,800",PeterCalvanelli,Open,"You are tasked with building a React Native web application that allows users to create accounts and log in to the application. You will be using a MongoDB database as the backend for storing user information such as username, password, and email address. The application should also allow users to manage their API keys. Upon signing up with the application, each user should receive an API key. The application will need to have a signup form where users can create an account by providing a username, password, and email address. The form will need to validate the input to ensure that the username is unique, the password meets certain strength requirements, and the email address is in a valid format. Upon successful signup, the application should generate an API key for the user and store it in the MongoDB database along with the user's account information. Once a user has created an account, they should be able to log in to the application by providing their usernam...",due 10 months ago +Help me with a React Native hermes.js iOS 16 crash,$9.00,900,NeilSaigal1,Open,I need some help debugging a react native crash!,due 4 months ago +Seeking dev experienced in react native reanimated to do a bottom sheet animation,$9.00,900,tgorer,Open,"Seeking dev experienced in react native reanimated to do a bottom sheet animation Problem Description I have a react native app with a floating bottom bar, just above the tab bar. When the user pulls up on the floating bottom bar, it's supposed to expand into a bottom sheet. The bottom bar should grow downwards and upwards, into the bottom sheet. The task requires react native reanimated with someone who has >1-3 years experience in it. Acceptance Criteria When user pulls up on floating bottom bar,the bottom bar should grow downwards and upwards, into the bottom sheet. When user pulls down on the bottom sheet, it should re-size back to the original floating bottom bar. The bottom sheet should have a scroll view inside it with a FlatList of text elements. Technical Details Cycle price is negotiable. Link to Project",due 8 months ago +Simple idle mobile game,$8.55,855,WALTERBBG,Open,"I need someone to make me a simple idle mobile game. loading page (with a title and some words) main page (some buttons and a background picture) user clicked button and get token token used to buy miners , rooms, racks & electricity generators (i can set and add the miners and electric generators myself)| user need to buy rooms to be able to put racks user need to place miners and electricity on rack to let them start working electricity generators generate electricity electricity used by miners and miners produced gems login with discord button button of x2 gems produced but need watch ads Acceptance Criteria Communicate in English",due 1 month ago +Create a webapp that takes a webflow site and makes it available to host externally,$4.50,450,vandonegal,Open,We want to create a tool that makes webflow CMS sites available to host externally without breaking CMS functionality. Acceptance Criteria Need the following workflow: App should take a webflow site URL. It should check all CMS items and pages. It should link all CMS items to respective pages and link all pages with each other. Technical Details You can check Udesly’s Jamstack implementation. Need something similar. Timelines / Milestones You tell me.,due 9 months ago +API that connects GymSales > AirTable (built in Make.com),$4.50,450,msliedrecht,Open,We need a scenario built in Make.com that pulls data via API from our lead management solution (GymSales) and the data pushed to an AirTable base. GymSales API: http://apidocs.gymsales.net/docs/vwnazjcr7m0r#class_Reports We need to get the following fields (all supplied via API): Name Status Marketing Source Contact Method Lead creation Time Time to first contact attempt Calls Attempted Spoke to SMS Email Next action? Note that it groups people by the lead creation date and that you'll need to parse the date text to get a useful result.,due 10 months ago +Seeking Laravel/Svelte Help for AI Writing Application,$450.00,"45,000",CaliforniaSurfer,Open,Note: This initial bounty is simply a placeholder. We are looking for ongoing help and are seeking skilled people for full time (or close to full time) work. Application background below: We have built a basic application that allows people to write stories using the OpenAI API. The app is built primarily in Laravel and Svelte. We are seeking someone experienced to help us polish the app and get it production-ready. If you have experience with OpenAi integrations along with the frameworks above - please send us an email or message on Replit. We are hoping to get this job filled extremely quickly and will be doing interviews all week.,due 1 month ago +AutoGPT that finds targets & emails them,$270.00,"27,000",JasonCalacanis,Open,"I'd like an AutoGPT agent that checks our database of already contacted companies (by URL), then finds new startups on crunchbase, producthunt, and linkedin, and sends them a semi-automated email from one of our researchers introducing our venture fund. Acceptance Criteria App is able to find a recently updated crunchbase profile with specific criteria (i.e. geography, investment stage), and sends an email to that founder. Technical Details",due 6 months ago +"VS Code, Docker, Azure Machine Learning Studio Pipeline to Transcribe Youtube Videos",$225.00,"22,500",YorkvilleDS,Open,"I need someone to help me write a docker container which will work locally on MacBook Pro with M1 Chip and can be pushed to Azure Container Registry and work with Azure Machine Learning Studio. The functionality in the container is to transcribe text fromYoutube videos and create files stored on my Azure storage resource. So if we supply a list of URLs to the system, it will transcribe them using my NVDA Compute Cluster on Azure. I already have this working on my local MacBook. But the reason I want to do it on Azure is the GPUs will run the transcription way faster on Azure - I need to productionize this capability , build efficient pipelines so I can scale in the cloud. I have a lot of the necessary code built already and will share as part of the build/test process here. Main issue is getting the connectivity between Docker image and Azure Machine Learning Studio to work correctly. The challenge I’m having is that I can’t figure out which base image to use and then which versi...",due 7 months ago +Looking for sr web dev (stack: Typescript React Nextjs Firebase Vercel),$180.00,"18,000",ab324,Open,All info here: https://bit.ly/sante-eng Email me if you're interested. This is a long-term project (the bounty target date and amount are just placeholders).,due 6 months ago +Stock Paper Trading WebApp,$180.00,"18,000",galaxyhiker42k,Open,"Build a robinhood like paper trading application. There are many Robinhood like app forks on Github (eg: https://github.com/ebaek/MerryMoney). You can pick any of them, then use a backend service such as Railway (for DB etc), Netlify/Vercel (app hosting, frontend etc), IEX API (for market data) and build a application based off that. App must include basic stuff such as simple auth (via Magic), charts, submit order, p&l history, portfolio update, and quotes etc. All the elements of a paper trading app. Basically you are taking an example app on Github, customizing and building it. Acceptance Criteria App that is deployed in our Railway, Netlify, Magic environments along with code that is well documented with step by step instructions to setup the app",due 4 months ago +Send me an SMS when new baby swim classes are available,$180.00,"18,000",jispwoso,Open,"There's a German website that lists baby swim classes in Hamburg: https://www.baederland-shop.de/kurse To list the available classes, a form with four inputs needs to be filled. I want to be notified when classes that match the following filter: Kurskategorie: Eltern & Babys Kursart: Aqua Baby 1 (3-10 Monate) The other two fields (Bad and Date) can be left on the default setting. The results are listed across several pages. I want to be notified whenever new courses are added, regardless of which page they are on Acceptance Criteria I need to actually have been notified successfully when new classes became available",due 9 months ago +Build custom excel report that gets external data from various advertising and ecommerce platforms,$180.00,"18,000",MikeZapata,Open,"My current workflow is to manually run daily reports on TikTok, Meta, Google, Shopify (and more) and manually input the data into an excel spreadsheet to generate a daily report. Acceptance Criteria An automated report using Microsoft Excel Power Query (or other) to import, combine data from multiple sources and shape it into a daily report format I have created.",due 11 months ago +Fine Tune GPT-3 on My Blog Posts,$180.00,"18,000",packym,Open,I would like to fine-tune GPT-3 on my blog posts -- I've written hundreds of thousands of words. I'd like to be able to use the model to write down essay or paragraph ideas and have the model write them for me in my own voice. I can provide links to blog posts to fine-tune on. The deliverable should have an easy-to-use interface for me to interact with my model and get writing back.,due 11 months ago +Multiple Users Google Auth,$180.00,"18,000",RamonBerrios,Open,"Currently, if our users signup to our web app using Google Auth they can't share their credentials. Acceptance Criteria: The real solution for this is to allow our users to invite other users within their organization.",due 11 months ago +Build a website process where people can upload an image and create a unique AI artwork,$103.50,"10,350",crillbill,Open,"Problem: Basically, I am looking to upload a photo, then through the magic of ai, generate a new version of the person in that photo in a different scenario. Example, I upload my picture and then tell the AI to redraw me in the style of Van Gogh, or cartoon me like a simpson's cartoon and spit out my image redone in that style. After I upload the image, I select the criteria for my image, and AI outputs the finished product. Acceptance, I should be able to upload a photo, create a unique AI artwork (via StableDiffusion, MidJourney, Dall-E-2 or other) in 5 presets to manipulate the photo and show the new image on page.",due 10 months ago +Convert Python Google Cloud Functions to Typescript Cloudflare Workers,$90.00,"9,000",WilliamBarber7,Open,"I have ~10 google cloud functions written in python that are running as google cloud functions that I'd like converted to typescript cloudflare workers. Nothing too complicated, just looking to improve the performance and cost of my setup. The functions are pretty straightforward, very basic code, largely web scraping oriented. Acceptance Criteria I need you to have ~3 hours per day or more to give to this task over the next two weeks.",due 5 months ago +ChatGPT Plugin,$90.00,"9,000",galaxyhiker42k,Open,"We have an API containing generic information on weather, sports, markets etc that we'd like to expose via a ChatGPT Plugin. The response from the API is updated every hour or so. Acceptance Criteria ChatGPT Plugin built on Railway, Replit or Netlify app or a combination of the three with a well written doc outlining workflow of the plugin and steps for locally installing the said plugin within ChatGPT. Timelines / Milestones Sooner the better. Know that this could be the start of working on something cool..!",due 4 months ago +Chatbot interface for doola,$90.00,"9,000",doolahq,Open,"- Build a AI powered CPA or formation assistant Acceptance Criteria - The chatbot should have a simple interface. We will provide an API. The chatbot must be able to generate a proper response regarding data including answering basic questions about formation in different states, and tax compliance rules around different entity types. Technical Details- Frontend - React, Typescript, Next.js Backend - Node.js, Express Database - Postgres",due 7 months ago +Auto-respond to tweets with AI,$90.00,"9,000",anksolado,Open,"Interesting people don't get enough interesting replies from AI Acceptance Criteria An AI, using OpenAI's API, looks for highly popular tweets, and responds to them, using a prompt that the user creates. The app should allow a user to: Auth with Twitter Create a prompt that the AI will use to reply (ie ""reply with a witty comment in the style of Shakespeare"") Choose how many tweets to send out per day Run in the background, searching for tweets that are popular Space the tweets out evenly throughout the day Technical Details Not important to me how the dev decides to build this",due 10 months ago +Alerting application for crypto/stocks,$90.00,"9,000",MaanFtouni,Open,"The application will scan a certain asset list containing trading pairs (example, BTCUSDT, ETHUSDT), and displays if that assets price is above 4H EMA 200 on multiple timeframes (15min, 30min, 1H, 2H, 4H, 6H, 12H, 1D,3D,5D,1W). price above displays a green box, price below displays a redbox.",due 10 months ago +Technical Support for New SaaS Company,$49.50,"4,950",ItaCaroline,Open,"Looking for someone to provide technical insight and support building an exciting new product that aims to rethink the way we view integrations between productivity SaaS products and the incentives to build them. Scope of your responsibility is dependent on how conversations go and I will adjust the bounty accordingly. Acceptance Criteria Please reach out if you are someone who can show history of working with AI tools, SaaS integrations, or having built a unique web or browser app. Technical Details More detail will be provided to accepted applicant.",due 8 months ago +I need help understanding how Amazon detects the request module even when using headers and cookies,$45.00,"4,500",nordinho,Open,"I've been using the requests module to get data from Amazon successfully until now. Amazon somehow always detects the requests module is being used even with headers or cookies and changing IP. I do not need a solution for this, I want to understand how they are doing this. I copied the headers and cookies directly from the network tab in my browser. The real odd thing is that if I make the request through cURL I get the webpage back - the exact same request with python and requests gets rejected, how is this happening? Acceptance Criteria You are able to explain how it's done Technical Details requests module is used through python headers are copied directly from the requests the browser send Link to Project",due 3 months ago +Add signup form using API to existing framer-hosted website,$45.00,"4,500",ToreyKorsunsky,Open,"Connect our waitlist service (Prefinery) using an API to our Framer-hosted website, so that when a referral clicks on a custom link, it automatically tags that new signup to the referrer. The custom link is automatically generated, we just need to create the form using prefinery's API. Acceptance Criteria When a user signs up using their email on our website, it automatically triggers a reward for the user who referred them",due 3 months ago +TS component with spinning 3d logo using three js and framer,$45.00,"4,500",simonasaservice,Open,"I need a spinning 3d icon to use in my nextjs webapp. I have this icon I want to add it as a spinning element, basically just like this example from the Framer Three example set, using my icon instead of the star. I have already created a glb file though I would like it to be smaller in size if possible. Perhaps extruding the SVG will be better? I leave that to the expert! Acceptance Criteria My icon is rendered in 3d using the latest libraries from three js and framer motion and which is able to be added easily to my nextjs app. This should be delivered as a component with variables exposed to start and stop rotation and adjust color.",due 4 months ago +Full Month Calendar - Integrate .ics Stream to Display Custom Time Blocks,$45.00,"4,500",sxyh768d4k,Open,"Develop a custom full month calendar for my website, integrating .ics data to display availability with distinct time blocks: morning (8:00-12:00), afternoon (12:00-17:00), and all day. Use lower-left triangles for morning appointments, upper-right triangles for afternoon appointments, and solid squares for all-day appointments. Acceptance Criteria A working calendar that quickly and reliably functions as described above that can be displayed in iframe of website. Technical Details Please advise. Need the code to be commented and able to be edited by future hunters.",due 6 months ago +Improvements to Website Summarizer app,$45.00,"4,500",RyanWiggins,Open,"This improving an existing app for investigating how legitimate the business behind a website is. It provides a chatgpt summary of the business behind the website and some legitimacy signals. Your goal is to improve the display and add some legitimacy signals. Acceptable signals include: Check for recent activity: Analyze the website's blog, news, or updates section to check for recent posts or announcements, indicating that the business is active. Jobs: look for a jobs page Products / selling: look for shopify, etsy, or other integrations that would indicating items are being sold Updated copyright year: Check if the copyright year in the website's footer is current, which may suggest that the website is being maintained. Google search results: Perform a Google search for the business name and look for recent news, reviews, or other information that suggests the business is currently active Acceptance Criteria Design improvement: When a website (replit.com) is...",due 8 months ago +Make a bot that plays my game perfectly,$40.00,"4,000",LuisAFK,Open,"I have a game called Perfectly Balanced, and I need two things: A bot that can play the game forever, making no mistakes. This one should use no AI, and should use only logic, timing, etc. Another bot that plays very well, but not necessarily forever. This one should be an AI (Brain.js, TensorFlow.js or whatever) A simple way for my game to detect the bot, and all other bots I understand that there are undetectable cases, but I want to be able to detect most of them. Acceptance Criteria The bot must be made in JavaScript, so it can either be a script that you put into the console, or a bookmarklet or a Chrome Extension (preferably a bookmarklet). For the bot detection, it must be able to detect all kinds of bots, even ones not made in JavaScript. This could be done, for example by seeing if a user got too many points too fast. So for example if a user submits 100 points to the server and then anothere 100 five seconds after, it's obviously a bot. Any questions? ...",due 7 months ago +Create a stunning standalone page to view NFT (with QR code of NFT Mint TX),$24.30,"2,430",VijayanSwaminat,Open,"Make viewing NFTs interesting (text, image, video or animation) Acceptance Criteria View NFT with details of mint beautifully rendered with a dark or light mode option Built preferably on react and that is responsive (portable to react native if need be) Create a stunning viewing experience the NFT The page may take the TX hash as input and display the NFT (with QR code and also the TX has) beautifully aligned - dark mode will have QR code in white and light mode will have QR code in black. A terrific user experience is expected. It is a single stand alone page - which should quite make the functionality (unless there's a need for additional pages).",due 8 months ago +Help getting Firebase cloud functions working with Serpapi using Vue/Vite/Localhost/Vercel.,$22.50,"2,250",asherhunt2,Open,"#Problem The problem is that I am unable to get Firebase cloud functions working with my vue/vite/localhost setup. I am experiencing CORS issues and am unable to establish a ""hello world"" moment with the cloud functions. This is preventing me from being able to make server-side API calls via cloud functions in my vue application. Acceptance Criteria Successfully deploy a working cloud function on Firebase that sends/receives requests to Serpapi. Help resolve CORS issues with localhost and establish a connection between the cloud function and my Vue app. This should also work when deployed to Vercel. Able to make server-side API calls via cloud functions using my vue app Provide clear documentation on how to reproduce the setup Technical Details Firebase cloud functions Vue.js Serpapi Vite Vercel Localhost CORS configuration and troubleshooting API calls and integration with vue app.",due 10 months ago +Convert former Github CEO's Python code file into Javascript - Use no librares & should run in console of any webpage,$21.06,"2,106",AskProgrammers,Open,"Nat Friedman & a collaborator wrote this Python file recently. It drives a web browser using GPT-3, passing in a simplified DOM as part of the prompt. GPT3 uses the prompt + simplified DOM/browser content to issue 'commands'. Here's the file: https://github.com/nat/natbot/blob/main/natbot.py The focus here is getting a simplified DOM - (the browser_content var in the file) - using just JS and no external library (e.g. no Playwright lib). It should be JS I can run in my console. Acceptance Criteria I should be able to paste your JS code into any webpage and have it return a simplified DOM that's identical/near-identical to the browser_content in this python code. I should be able to run 'click(id)', type('id') etc. just like this python file https://github.com/nat/natbot/blob/f99518d3deee33cb117166049e1c99314080f7e5/natbot.py#L191 - the id's should map the simplified DOM aka browser_content to actual elements. And the actions should act on those elements. You ...",due 10 months ago +Scalable Django App for YouTube Video /Audio Transcription whisper jax,$4.50,450,el1mb,Open,"Project Title: Scalable Django App for YouTube Video /Audio Transcription whisper ajax Problem Description: In search of a developer to create a Django app that integrates into an existing SaaS boilerplate. The primary objective is to transcribe YouTube videos and audio files using the Whisper JAX API. Core Features: -Users input a YouTube video URL or upload an audio file. -The backend fetches the video or processes the audio, then transcribes it using the Whisper JAX API. https://github.com/sanchit-gandhi/whisper-jax -Present transcription in an editable textbox for user refinement. -Offer a summary of the transcription in an adjacent box. -Permit transcription in various languages, as facilitated by Whisper JAX. -Every video URL or audio file input should initiate a thread within the user's account. -The system should be capable of handling multiple simultaneous transcription requests. Acceptance Criteria: -Intuitive UI for YouTube URL input, audio file upload, transcription re...",due 3 months ago +Build a WhatsApp Business API Chrome Extension,$1.35,135,JavierAndre,Open,"# Problem Description We have a Chrome extension that works on top of whatsapp web, but want to adapt it to go fully into whatsapp's business API. We will be using their Cloup API solution. Check out their documentation here: https://developers.facebook.com/docs/whatsapp/cloud-api/get-started-for-bsps The frontend needs to be heavily adapted to have a whatsapp client to see messages and be able to respond to them. The backend needs to be built from scratch. The website needs to be heavily adapted to include meta's onboarding process. # Acceptance Criteria 1. build whatsapp client see messages send messages schedule messages (via templates) see different conversations create templates, send them for meta's verification, use them to send the messages, etc send attachments emojis, font formatting, etc... multiple agents can sign in to it 2. create a new backend connects with whatsapp's APIs has all the payment logic (to be defined) 3. create account management system frontend backend ad...",due 6 months ago +Systematic job retrieval from Mechanical Turk,"$2,700.00","270,000",Human-Protocol,Open,"HUMAN Protocol efficiently handles data annotation tasks by distributing them to its global workforce, ensuring their accurate completion, and managing worker payments. With a significant pool of workers ready for data annotations, this issue aims to leverage Mechanical Turk for the source of jobs. We need to efficiently locate, retrieve, and complete tasks from Mechanical Turk to maximize our workforce capacity and potentially offer faster and cheaper services. Acceptance Criteria The solution should be able to get available jobs from Mechanical Turk Should convert Mechanical Turk jobs into a format compatible with HUMAN protocol without data loss. Jobs should only be taken when deemed to be profitable. Ensure seamless operation with minimal manual intervention.",due 3 weeks ago +Minds ChatGPT bot,$900.00,"90,000",minds,Open,"Create a HuggingChat bot/channel on Minds.com which users can talk to. Acceptance Criteria Responds when tagged via ""Quote Post"" feature Responds when tagged via ""Comment"" feature Technical Details https://developers.minds.com",due 2 weeks from now +Use GPT-4 to fine-tune a chat workflow that generates template Python code for authenticating with web3 API (JWT and Biscuits),$873.00,"87,300",PhilBurgess,Open,"I need an expert with OpenAI APIs to build new workflows in GPT-4 that allow OpenAI to generate boilerplate/template python code for an end user based on a chat conversation. The end-user will ask to begin writing queries against a new web3 database, and the chatbot will need to generate python to: authenticating with the APIs of this new web3 database (which is complex and requires JWTs) see: https://docs.spaceandtime.io/reference/user-id fine-tune GPT-4 to write template python that imports the JDBC driver for this web3 database fine-tune GPT-4 to add python code that writes SQL against the database and performs whatever actions the user requests For example, the end-user could ask the chatbot, ""write me a python script that connects to Space and Time and inserts a new table with the following fields..."" and then your App will return python code that has template scripts to authenticate with Space and Time, and wraps the drivers into a little python SDK with a f...",due 2 months ago +Monitor binance news page for new listings,$180.00,"18,000",DavidPhillips14,Open,"I want to monitor this webpage for updates. When there is a new headline posted, I need it ingested into a database within three seconds. Acceptance Criteria Monitors the webpage for updates Record the headline in a database Some type of endpoint that will push the headline title message to me in under 3 seconds from time of publishing.",due 2 days from now +Build a similar website to Product Hunt,$180.00,"18,000",ChrisHughes6,Open,Build a website similar to product hunt. https://www.producthunt.com/ Build navigation bar clone Bonus: Can implement ELO ranking system Acceptance Criteria Ability to deliver a functional website similar to the product hunt homepage. Experience building websites in the past and can share a portfolio that I can review.,due 4 months ago +Automation for creating saved lists in Google Maps,$180.00,"18,000",MatthewAlldian,Open,I would like to use a list of places in a Google Sheets file and have them automatically added to a new saved list in Google Maps Acceptance Criteria Automation should save to my personal google account and include instructions on how to run it,due 6 months ago +Consumer cannabis Q&A chatbot,$180.00,"18,000",LucRip,Open,"#Problem Description: We need a simple chatbot that can answer basic questions about cannabis for consumers. The chatbot should be able to respond to queries about the effects of different strains, how to consume cannabis safely, and other basic questions that consumers might have. #Acceptance Criteria: To be considered complete, the chatbot must meet the following criteria: The chatbot must be able to respond to at least 10 different types of questions related to cannabis, such as ""What are the effects of sativa vs. indica strains?"" or ""What is the recommended dosage for edibles?"" or ""What is the difference between Live Resin and Live Rosin?"" The chatbot must be able to provide accurate and helpful answers to these questions. The answers should be based on industry-standard knowledge and best practices for cannabis consumption. The chatbot must be able to handle variations in language and phrasing for each question. For example, it should be able to respond to questions like ""What...",due 9 months ago +Parse a Structured PDF report.,$90.00,"9,000",FrankieSoriano,Open,"Our users have to digest a long PDF data report to extract a few pieces of information and make simple addition calculations to complete another task. We have a Bubble application that utilizes Xano database where the users currently upload and store this pdf report, open it, read it, find the relevant fields, make the manual calculations and then complete their task. This program should parse and provide the relevant fields as well as the calculated fields. Sample PDF: https://drive.google.com/file/d/1BDwaWXlWF7Yz0LeI3kpE4sBKJnFEV_9T/view?usp=sharing Acceptance Criteria The program should have an api to receive the report from Bubble, parse the data and store it in a way that individual fields can be called, and an api to return the needed fields to Bubble.",due 10 months ago +Twitterbot Builder App,$90.00,"9,000",themaxagon,Open,"The Twitterbot builder is a tool that makes it easy to build Twitterbots powered by GPT-3. The app allows users to authenticate a Twitter account to use as the bot, specify Tweet search criteria and a number of tweets per hour, and write a template prompt for generating responses. The app then uses the GPT-3 API to generate responses based on the template and the original tweet, and sends them to tweets matching the search criteria using the authenticated bot account. The app runs in the background and continues to monitor and respond to tweets as long as it is active. Functional Requirements: The app must allow the user to authenticate a Twitter account that will be used as the bot. The app must prompt the user to input a valid GPT-3 API key. The app must allow the user to write a template prompt, including a variable {original_tweet} to represent the original tweet that the bot will generate a reply for. The app must allow the user to specify a number of tweets per hour that the bo...",due 11 months ago +Help me set up and deploy an open source AI Avatar Next.js project on Vercel,$45.00,"4,500",KamalMango1,Open,"I found this awesome AI avatar generator open source project that I would love help and coaching setting it up locally on my machine as a dev environment and also deployment on Vercel allowing me to play around with the project, learn and build on top of it Acceptance Criteria I'm able to run the code locally (dev environtment) I have a staging environment on Vercel I have a production environment on Vercel I have a better understanding what it takes to set up a project with this stack Technical Details The project uses the following Stack: Next.js Chakra UI Prisma Replicate Stripe Stable Diffusion I'm pretty familiar with the front end aspect of the code and also familiar with Replicate. What I have 0 experience in and is blocking me from setting this up are Docker, Database, AWS, Email Server Link to Project Here's a link to the project's github repo https://github.com/shinework/photoshot",due 8 months ago +Poker bot to give suggestion for next move real time,$45.00,"4,500",HarryLiu12,Open,"First time to use Replit bounty, so, not sure I can get refund or not, if no one take this bounty. so, for now I will only pay $50 to get it posted. I'm willing to pay $500 total if this worked out. And I will most likely pay extra in the future to buy more features. (I have lots of ideas to extend this, but too much to put on here) Problem Description Poker hands and actions is very similar like natural language: it is a sequence of either cards or player actions. and the out come is win/lose x amount. So, utilizing existing NLP models like GPT-3 or ChatGPT, with extra poker hands training, we should be able to generate a bot, to take in hand and give a suggestion for optimal move. So, there are several tasks here: based on existing AI NLP model, using poker hands history, to further train the model, so the model can give optimal suggestions. the bot will be a mobile app. it can use mobile phone camera, to watch a computer screen, for online poker playing. and understand what is goin...",due 9 months ago +Port a Javascript game to our software store (using our APIs),$22.50,"2,250",mariannemakes,Open,"I'm seeking a developer to assist my team in porting games to our software store. We're currently working through a set of 100 games, and are putting out a take home challenge to port one game to our platform (we've chosen the game, have tested / ported the game ourselves, and the code is readily available). We're using this challenge to evaluate candidates to work with us to port hundreds of games and other apps to our store. Assuming the challenge is done well, we'll proceed with a week-long paid trial (for $500) to help my team port 20-30 games (or as many as you can port in a week of full-time work). And if the trial is successful, we'd love to continue collaborating on other related projects. These games have been tested, work well in a browser, and all code is readily available (open-source repos on GitHub) -- we're looking for someone to help us adapt and re-package these repos so that the programs can run locally on our desktop software platform. As a te...",due 3 months ago +Fix Google Cloud Bucket Issue,$22.50,"2,250",poolboy,Open,"I'm receiving the Google Cloud error ""Error: 7 PERMISSION_DENIED: The billing account for the owning project is disabled in state closed"" which can apparently appear when a storage bucket is not being referenced or linked correctly, or the URI is wrong. I am not an experienced coder so I'm not sure exactly how to fix this, I'm using Chat GPT to write the code for an experimental art project. The billing account is set up correctly. A snippet of related code: const uri = new URL(recordingUrl); const bucketName = uri.hostname.split('.')[0]; console.log('Pathname:', uri.pathname); const gcsUri = gs://${bucketName}/${uri.pathname.slice(1)}; console.log('GCS URI:', gcsUri); Acceptance Criteria Help me get past the error :)",due 7 months ago +Websocket React to Flask,$22.50,"2,250",TonyLewis2,Open,"I have a react frontend and a flask backend. I have setup a component to receive audio in the frontend and send it to socketio in the backend. However the audio streaming is not working as expected. Acceptance Criteria Typescript react component uaing reduc toolkit, with an in app button. Press button to record audio. Audio is chunked and sent to websocket flask backend. Then audio is sent to api for streaming transcription. Streaming transcription returns drafts and then final. Transcription should be passed back via websocket to textfield in frontend and update as new interim and final is being generated. Then when text is final the textfield should submit. When audio is on but there is no talking the frontend should determine there is no talking and not send any data to backend.",due 8 months ago +NextJS Webapp Sprint,$22.50,"2,250",chubaeth,Open,"Implement remaining features in the webapp. Includes implementing basic algebraic formulas w/ ethereum big number, making API calls, adjusting css (tailwind), etc Acceptance Criteria Ability to quickly finish tasks, strong technical skills, and is willing to continue contributing to the project Technical Details NextJS, ethers.js, tailwind",due 10 months ago +Twitter Bot with ChatGPT Status Updates,$22.50,"2,250",reblickulous,Open,"The free public version of ChatGPT is often unavailable for use due to server capacity issues, a source of frustration for new and existing users. To solve this, we'll build a Twitter Bot (I will create and manage the Twitter account credentials) that tweets each time the availability status changes from available > unavailable (placeholder message: ""Sorry, ChatGPT is at capacity, I'll let you now when I'm available again."") and unavailable > available (""ChatGPT is available again!"") Acceptance Criteria Code complete, hosted, tested and successfully posting live tweets for both status changes. Technical Details I'm a product manager so I'll leave the technical details to you! I've reviewed the ChatGPT API documentation (and asked the question to ChatGPT) and there may be some responses (e.g., ServiceUnavailableError) that return availability status, but this is for the paid version. What we're solving is the availability of ChatGPT's free publicly available ser...",due 9 months ago +Scrape gigs from Fiverr and Upwork,$19.80,"1,980",incompl,Open,"I'd like to build a scraper that scrapes all gigs being offered on Fiverr and all projects on Upwork. Acceptance Criteria Should scrape every gig on Fiverr and Upwork Should scrape title, price, number of reviews, rating, category",due 7 months ago +Apple fitness data into google sheets or excel,$18.00,"1,800",AdityaDidwania,Open,"I want to track my fitness and there are various indicators already present in my phone/watch. I want to be able to extract those on a daily basis in a google sheet or excel by just refreshing. Acceptance Criteria A google sheet or excel that I can refresh and get the latest stat on health indicators like weight,calories,sleep,etc. The previous data should also be available. a new data should be populated",due 10 months ago +Create pytests to new feature in python package,$18.00,"1,800",jaotta,Open,"Create tests for a new feature that has to be merged. The feature is for a package that handles a public data warehouse in BigQuery using python. The new feature is in this PR. It just implements a new type of table in BigQuery. There are already tests implemented for the other features of the code. So, it shouldn't be hard to follow what is being done to figure out how to implement these new tests. Fell free to get in touch to get more info. Or even add comments directly at the PR. Acceptance Criteria The tests should cover all new functions and differences in modified functions. It should also test the creation of the tables and resources in GCP It should cover obvious edge cases such as wrong-named inputs",due 11 months ago +Telegram bot for booking,$8.10,810,OrolImomov,Open,"Develop a Telegram booking bot that allows users to book appointments with service providers such as barbers, dentists, and eye doctors. The bot should provide a straightforward booking experience for users and enable service providers to set their preferred working hours while allowing clients to book appointments based on the available time slots. Both service provider and client shall use bot to commenicate each other. Acceptance Criteria Users should be able to interact with the booking bot using the Telegram messaging platform. The bot should respond to user queries and provide a conversational interface for booking appointments. Service providers should have the ability to set their preferred working hours or availability within the bot. Users should be able to book an appointment by selecting an available time slot. The schedule should include the booked appointments, displaying the client's name, time, and requested service. Service providers should have a...",due 5 months ago +GPT-3 based Chrome Extension,$7.20,720,CrownDevelopment,Open,"I have an AI application that I made called Mystify Chat. I want something similar, however as a chrome extension called Mystify Author. Acceptance Criteria I want the user to be able to enter a prompt of what they want written, the AI will generate up to 3 different paragraphs/sentences based on the prompt, and then the user may click any of the 3 individually to copy it to their clipboard. The AI must also have some guidelines pertaining to what it is, what it does, what it can generate and what it cannot, etc. I am also allowed to ask for edits/bug fixes if required before application is accepted. I will reach out through email or discord.",due 7 months ago diff --git a/Replit Bounties Dataset Analysis/Images/Bounty_histogram.png b/Replit Bounties Dataset Analysis/Images/Bounty_histogram.png new file mode 100644 index 000000000..ca6d74737 Binary files /dev/null and b/Replit Bounties Dataset Analysis/Images/Bounty_histogram.png differ diff --git a/Replit Bounties Dataset Analysis/Images/Time_bar_plot.png b/Replit Bounties Dataset Analysis/Images/Time_bar_plot.png new file mode 100644 index 000000000..3176d8b9c Binary files /dev/null and b/Replit Bounties Dataset Analysis/Images/Time_bar_plot.png differ diff --git a/Replit Bounties Dataset Analysis/Images/bounty_company_bar.png b/Replit Bounties Dataset Analysis/Images/bounty_company_bar.png new file mode 100644 index 000000000..6146dc82d Binary files /dev/null and b/Replit Bounties Dataset Analysis/Images/bounty_company_bar.png differ diff --git a/Replit Bounties Dataset Analysis/Images/corr_heatmap.png b/Replit Bounties Dataset Analysis/Images/corr_heatmap.png new file mode 100644 index 000000000..0236064a3 Binary files /dev/null and b/Replit Bounties Dataset Analysis/Images/corr_heatmap.png differ diff --git a/Replit Bounties Dataset Analysis/Images/decision_tree.svg.svg b/Replit Bounties Dataset Analysis/Images/decision_tree.svg.svg new file mode 100644 index 000000000..b33c0dba9 --- /dev/null +++ b/Replit Bounties Dataset Analysis/Images/decision_tree.svg.svg @@ -0,0 +1,222 @@ + + + + + + +Tree + + + +0 + +time <= 0.5 +gini = 0.994 +samples = 240 +value = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1 +1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 2 +1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 1] +class = diegofornalha + + + +1 + +bounty <= 0.175 +gini = 0.625 +samples = 4 +value = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 1] +class = KamalMango1 + + + +0->1 + + +True + + + +4 + +time <= 1.5 +gini = 0.994 +samples = 236 +value = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2 +1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 7, 1, 1 +1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 2 +1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 0] +class = diegofornalha + + + +0->4 + + +False + + + +2 + +gini = 0.5 +samples = 2 +value = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 1] +class = sakshibenny + + + +1->2 + + + + + +3 + +gini = 0.0 +samples = 2 +value = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0] +class = KamalMango1 + + + +1->3 + + + + + +5 + +gini = 0.844 +samples = 8 +value = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +0, 0, 0] +class = 0FJAKE + + + +4->5 + + + + + +6 + +gini = 0.994 +samples = 228 +value = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2 +1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 2, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 2 +1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 7, 1, 0 +1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1 +1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1 +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 0, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 2 +1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +0, 1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1 +1, 1, 0] +class = diegofornalha + + + +4->6 + + + + + diff --git a/Replit Bounties Dataset Analysis/Images/missingno_matrix.png b/Replit Bounties Dataset Analysis/Images/missingno_matrix.png new file mode 100644 index 000000000..424ffb16d Binary files /dev/null and b/Replit Bounties Dataset Analysis/Images/missingno_matrix.png differ diff --git a/Replit Bounties Dataset Analysis/Images/pairplot.png b/Replit Bounties Dataset Analysis/Images/pairplot.png new file mode 100644 index 000000000..3cd342035 Binary files /dev/null and b/Replit Bounties Dataset Analysis/Images/pairplot.png differ diff --git a/Replit Bounties Dataset Analysis/Model/README.md b/Replit Bounties Dataset Analysis/Model/README.md new file mode 100644 index 000000000..a987f8a95 --- /dev/null +++ b/Replit Bounties Dataset Analysis/Model/README.md @@ -0,0 +1,76 @@ +**PROJECT TITLE** + +Replit Bounties Dataset Analysis + +**GOAL** + +The goal of the project is to create a data analysis model for analyzing the data in the Replit Bounties Dataset on Kaggle and Find out different patterns in Replit Bounties. + +**DATASET** + +Link to the dataset: https://www.kaggle.com/datasets/ibrahimonmars/replit-bounties-dataset + +**DESCRIPTION** + +Used Linear Regression, Decision Tree Classifier, K-Nearest Neighbours (KNN) algorithms to implement the predictive models. Compared all the algorithms used to find out the best fitted algorithm for the model by checking the accuracy scores. + +**WHAT I HAD DONE** + +1. Performed **Exploratory Data Analysis (EDA)** and **Preprocessing** on the dataset to understand the structure of the data and identify relations between different fields. To visualize these findings, bar graphs/histograms were plotted. + +2. **Data Cleaning:** Analyzed the dataset for missing values, null entries, and duplicate records. Unnecessary data, such as the 'status' parameter which was always 'Open', was removed. No null entries or duplicate values were found in this dataset. + +3. **Data Transformation:** Converted the 'bounty' and 'coins' columns from string representations to float values by removing '$' and ',' symbols. Additionally, Label Encoding was performed on the 'title' and 'time' fields for easier analysis. + +4. **Linear Regression:** Built and trained a predictive model using Linear Regression to predict the bounty amount based on the title. The dataset was split into 75% training data and 25% testing data. Model accuracy was evaluated using Mean Absolute Error, Mean Squared Error, and Root Mean Squared Error. + +5. **Decision Tree:** Used the Decision Tree algorithm to classify Replit bounties based on their companies. The resulting model was visualized using the Graphviz library. Insights from the decision tree visualization were obtained to understand the most important features for classification. + +6. **KNN Classifier:** Implemented a model for predicting the title of a bounty given its amount, coins, and time using KNN Classifier. The model's performance was evaluated using confusion matrix and classification report metrics. + +**MODELS USED** + +1. **Linear Regression:** + - **Reason:** Linear Regression was chosen to build a predictive model for estimating the bounty amount based on the title. This algorithm was selected due to its simplicity, interpretability, and effectiveness in modeling linear relationships between variables. Since the goal was to predict a numerical value (bounty amount), Linear Regression was a suitable choice for this regression task. + +2. **Decision Tree:** + - **Reason:** Decision Tree algorithm was utilized for classifying Replit bounties based on their companies. Decision Trees were selected because they can handle both numerical and categorical data, and they are interpretable, allowing us to understand the decision-making process behind the classification. + +3. **K-Nearest Neighbors (KNN) Classifier:** + - **Reason:** KNN Classifier was employed to predict the title of a bounty given its amount, coins, and time. KNN was chosen for its simplicity and ability to handle non-linear relationships between variables. It does not make any assumptions about the underlying data distribution, making it suitable for this classification task. Additionally, KNN is a lazy learner, which means it does not require training time, making it efficient for small to medium-sized datasets. + +**LIBRARIES NEEDED** + +1. numpy +2. pandas +3. matplotlib +4. seaborn +5. plotly +6. missingno +7. scikit-learn +8. IPython +9. graphviz + +**VISUALIZATION** +![Bounty_histogram](https://github.com/zul132/ML-Crate/assets/98112914/96edc5bc-b06d-4ae7-b149-26e021aa3640) +![Time_bar_plot](https://github.com/zul132/ML-Crate/assets/98112914/4733f9b8-4e58-4bfd-9fd3-56b0506e375f) +![bounty_company_bar](https://github.com/zul132/ML-Crate/assets/98112914/cea09489-a0e0-46b3-9617-4cc565e9cf8f) +Missing values Matrix +![missingno_matrix](https://github.com/zul132/ML-Crate/assets/98112914/a72f849e-bfed-4166-ac04-7d3251e952a3) +![corr_heatmap](https://github.com/zul132/ML-Crate/assets/98112914/b5c66a87-30b2-4b19-83c6-66ff4519b68b) +![pairplot](https://github.com/zul132/ML-Crate/assets/98112914/b1f5d0b0-ad85-4394-95a4-12adffa2be7b) + + +**CONCLUSION** + +1. During EDA, it was observed that there is a direct correlation between the bounty amount and coins. To put it precisely, one Replit coin is equivalent to $100 bounty. Thus, these two fields can be combined into a single column. +2. A linear relationship between the bounty amount and the company offering bounty was also observed from the plots. The companies offering the highest bounty amounts were observed to be Human-Protocol, YazanMoghrabi and WilliamBarber7. The bounties most often offered were 45, 90, 180 and 22.5 USD. +3. The Predictive models implemented using Linear Regression, Decision Tree, and KNN algorithms were all observed to be reasonably accurate, with the Linear Regression model performing best, having the least Absolute error of just 0.04 approximately. + +**YOUR NAME** + +Fathima Zulaikha + +https://www.linkedin.com/in/fathima-zulaikha-2741a4217/ + +https://github.com/zul132 diff --git a/Replit Bounties Dataset Analysis/Model/Replit_Bounties_Dataset_Analysis.ipynb b/Replit Bounties Dataset Analysis/Model/Replit_Bounties_Dataset_Analysis.ipynb new file mode 100644 index 000000000..38be4cf15 --- /dev/null +++ b/Replit Bounties Dataset Analysis/Model/Replit_Bounties_Dataset_Analysis.ipynb @@ -0,0 +1,4224 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "116af66a", + "metadata": {}, + "source": [ + "# Replit Bounties Analysis" + ] + }, + { + "cell_type": "markdown", + "id": "a6f35a88", + "metadata": {}, + "source": [ + "Import the libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "ae2af88f", + "metadata": {}, + "outputs": [], + "source": [ + "#data preprocessing & visualization \n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import plotly.express as px\n", + "import missingno as msno\n", + "\n", + "#linear regression\n", + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.model_selection import train_test_split \n", + "from sklearn import metrics\n", + "\n", + "#decision tree\n", + "from sklearn.tree import DecisionTreeClassifier, export_graphviz\n", + "from sklearn.tree import export_graphviz\n", + "from sklearn import tree\n", + "from IPython.display import SVG\n", + "from graphviz import Source\n", + "from IPython.display import display\n", + "\n", + "#KNN algorithm\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "from sklearn.metrics import classification_report, confusion_matrix" + ] + }, + { + "cell_type": "markdown", + "id": "fa68556b", + "metadata": {}, + "source": [ + "Upload the dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "28883b74", + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv(\"D:\\\\Open Source\\\\JWoC2024\\\\ML-Crate\\\\Replit Bounties Dataset Analysis\\\\Dataset\\\\replit_bounties.csv\");" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "79f28406", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebountycoinscompanystatusdescriptiontime
0Need art people in discord$45.004,500NFtalkOpenBounty Description Problem Description Im buil...due 3 weeks from now
1AI Presentation Analyzer$90.009,000flixrOpenObjective Develop a single-page application wh...due 7 days from now
2Open AI Vision Website Analyzer$90.009,000flixrOpenObjective Develop a single-page website where ...due 4 days from now
3WordPress Plugin - Security Plugin$82.808,280wpupgraderOpenWe would like to hire a freelancer who can bui...due 1 month from now
4Static Blog Page - Nuxt$11.251,125lawtechusaOpenNeed a developer who can work with me to modif...due 7 days from now
\n", + "
" + ], + "text/plain": [ + " title bounty coins company status \\\n", + "0 Need art people in discord $45.00 4,500 NFtalk Open \n", + "1 AI Presentation Analyzer $90.00 9,000 flixr Open \n", + "2 Open AI Vision Website Analyzer $90.00 9,000 flixr Open \n", + "3 WordPress Plugin - Security Plugin $82.80 8,280 wpupgrader Open \n", + "4 Static Blog Page - Nuxt $11.25 1,125 lawtechusa Open \n", + "\n", + " description time \n", + "0 Bounty Description Problem Description Im buil... due 3 weeks from now \n", + "1 Objective Develop a single-page application wh... due 7 days from now \n", + "2 Objective Develop a single-page website where ... due 4 days from now \n", + "3 We would like to hire a freelancer who can bui... due 1 month from now \n", + "4 Need a developer who can work with me to modif... due 7 days from now " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "5c7e6d72", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebountycoinscompanystatusdescriptiontime
235Scrape gigs from Fiverr and Upwork$19.801,980incomplOpenI'd like to build a scraper that scrapes all g...due 7 months ago
236Apple fitness data into google sheets or excel$18.001,800AdityaDidwaniaOpenI want to track my fitness and there are vario...due 10 months ago
237Create pytests to new feature in python package$18.001,800jaottaOpenCreate tests for a new feature that has to be ...due 11 months ago
238Telegram bot for booking$8.10810OrolImomovOpenDevelop a Telegram booking bot that allows use...due 5 months ago
239GPT-3 based Chrome Extension$7.20720CrownDevelopmentOpenI have an AI application that I made called My...due 7 months ago
\n", + "
" + ], + "text/plain": [ + " title bounty coins \\\n", + "235 Scrape gigs from Fiverr and Upwork $19.80 1,980 \n", + "236 Apple fitness data into google sheets or excel $18.00 1,800 \n", + "237 Create pytests to new feature in python package $18.00 1,800 \n", + "238 Telegram bot for booking $8.10 810 \n", + "239 GPT-3 based Chrome Extension $7.20 720 \n", + "\n", + " company status \\\n", + "235 incompl Open \n", + "236 AdityaDidwania Open \n", + "237 jaotta Open \n", + "238 OrolImomov Open \n", + "239 CrownDevelopment Open \n", + "\n", + " description time \n", + "235 I'd like to build a scraper that scrapes all g... due 7 months ago \n", + "236 I want to track my fitness and there are vario... due 10 months ago \n", + "237 Create tests for a new feature that has to be ... due 11 months ago \n", + "238 Develop a Telegram booking bot that allows use... due 5 months ago \n", + "239 I have an AI application that I made called My... due 7 months ago " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "706cc75a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebountycoinscompanystatusdescriptiontime
7Build a Personalized Social Platform Demo Usin...$150.0315,003omerdemirtasOpenRevolutionize the social media experience with...due 2 weeks ago
188Seeking dev experienced in react native reanim...$9.00900tgorerOpenSeeking dev experienced in react native reanim...due 8 months ago
0Need art people in discord$45.004,500NFtalkOpenBounty Description Problem Description Im buil...due 3 weeks from now
159Fine Tune GPT-3 or other model to generate wor...$180.0018,000EugeneMannOpenI'm looking to build a simple fitness / workou...due 11 months ago
113Create an Expo config plugin for react-native-...$45.004,500TyLee5OpenI need help creating an expo config plugin for...due 5 months ago
70Web App for 3D Model Analysis and Visualization$585.0058,500YazanMoghrabiOpenI would like to create a web app that lets you...due 2 weeks from now
143AI Phone Survey$360.0036,000WilliamBarber7OpenVery similar to google duplex: https://youtu.b...due 5 months ago
186Building a Secure React Native Web Application...$18.001,800PeterCalvanelliOpenYou are tasked with building a React Native we...due 10 months ago
82AI Marketing Plan Generator That Lives On Word...$180.0018,000AdrianHunter2OpenConsultants often face the challenge of creati...due 8 months ago
48Gift finder plugin for e-commerce marketplace$180.0018,000WakudaOpenInspired by Uncommon Goods' gift finder tool (...due 6 months ago
\n", + "
" + ], + "text/plain": [ + " title bounty coins \\\n", + "7 Build a Personalized Social Platform Demo Usin... $150.03 15,003 \n", + "188 Seeking dev experienced in react native reanim... $9.00 900 \n", + "0 Need art people in discord $45.00 4,500 \n", + "159 Fine Tune GPT-3 or other model to generate wor... $180.00 18,000 \n", + "113 Create an Expo config plugin for react-native-... $45.00 4,500 \n", + "70 Web App for 3D Model Analysis and Visualization $585.00 58,500 \n", + "143 AI Phone Survey $360.00 36,000 \n", + "186 Building a Secure React Native Web Application... $18.00 1,800 \n", + "82 AI Marketing Plan Generator That Lives On Word... $180.00 18,000 \n", + "48 Gift finder plugin for e-commerce marketplace $180.00 18,000 \n", + "\n", + " company status \\\n", + "7 omerdemirtas Open \n", + "188 tgorer Open \n", + "0 NFtalk Open \n", + "159 EugeneMann Open \n", + "113 TyLee5 Open \n", + "70 YazanMoghrabi Open \n", + "143 WilliamBarber7 Open \n", + "186 PeterCalvanelli Open \n", + "82 AdrianHunter2 Open \n", + "48 Wakuda Open \n", + "\n", + " description time \n", + "7 Revolutionize the social media experience with... due 2 weeks ago \n", + "188 Seeking dev experienced in react native reanim... due 8 months ago \n", + "0 Bounty Description Problem Description Im buil... due 3 weeks from now \n", + "159 I'm looking to build a simple fitness / workou... due 11 months ago \n", + "113 I need help creating an expo config plugin for... due 5 months ago \n", + "70 I would like to create a web app that lets you... due 2 weeks from now \n", + "143 Very similar to google duplex: https://youtu.b... due 5 months ago \n", + "186 You are tasked with building a React Native we... due 10 months ago \n", + "82 Consultants often face the challenge of creati... due 8 months ago \n", + "48 Inspired by Uncommon Goods' gift finder tool (... due 6 months ago " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#random selection of records from the dataset\n", + "df.sample(10)" + ] + }, + { + "cell_type": "markdown", + "id": "8983d3ef", + "metadata": {}, + "source": [ + "## Exploratory Data Analysis" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8476ec75", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(240, 7)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "28d0f189", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['title', 'bounty', 'coins', 'company', 'status', 'description', 'time'], dtype='object')" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "abf694ce", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebountycoinscompanystatusdescriptiontime
count240240240240240240240
unique2406969213124030
topNeed art people in discord$45.004,500ajitadoriOpenBounty Description Problem Description Im buil...due 6 months ago
freq135357240128
\n", + "
" + ], + "text/plain": [ + " title bounty coins company status \\\n", + "count 240 240 240 240 240 \n", + "unique 240 69 69 213 1 \n", + "top Need art people in discord $45.00 4,500 ajitadori Open \n", + "freq 1 35 35 7 240 \n", + "\n", + " description time \n", + "count 240 240 \n", + "unique 240 30 \n", + "top Bounty Description Problem Description Im buil... due 6 months ago \n", + "freq 1 28 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8266f2c5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 240 entries, 0 to 239\n", + "Data columns (total 7 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 title 240 non-null object\n", + " 1 bounty 240 non-null object\n", + " 2 coins 240 non-null object\n", + " 3 company 240 non-null object\n", + " 4 status 240 non-null object\n", + " 5 description 240 non-null object\n", + " 6 time 240 non-null object\n", + "dtypes: object(7)\n", + "memory usage: 13.2+ KB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "markdown", + "id": "f39c2ed1", + "metadata": {}, + "source": [ + "To check for null entries in the dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "788d4c1d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "title 0\n", + "bounty 0\n", + "coins 0\n", + "company 0\n", + "status 0\n", + "description 0\n", + "time 0\n", + "dtype: int64" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.isna().sum()" + ] + }, + { + "cell_type": "markdown", + "id": "7c11ebf8", + "metadata": {}, + "source": [ + "Inference: None of the fields have Null entries" + ] + }, + { + "cell_type": "markdown", + "id": "c5c5ceb6", + "metadata": {}, + "source": [ + "To check unique entries in the dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "880c5112", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "title 240\n", + "bounty 69\n", + "coins 69\n", + "company 213\n", + "status 1\n", + "description 240\n", + "time 30\n", + "dtype: int64" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.nunique()" + ] + }, + { + "cell_type": "markdown", + "id": "0090b70b", + "metadata": {}, + "source": [ + "Dropping \"status\" column since all the bounties are Open" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "95b8be09", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebountycoinscompanydescriptiontime
0Need art people in discord$45.004,500NFtalkBounty Description Problem Description Im buil...due 3 weeks from now
1AI Presentation Analyzer$90.009,000flixrObjective Develop a single-page application wh...due 7 days from now
2Open AI Vision Website Analyzer$90.009,000flixrObjective Develop a single-page website where ...due 4 days from now
3WordPress Plugin - Security Plugin$82.808,280wpupgraderWe would like to hire a freelancer who can bui...due 1 month from now
4Static Blog Page - Nuxt$11.251,125lawtechusaNeed a developer who can work with me to modif...due 7 days from now
.....................
235Scrape gigs from Fiverr and Upwork$19.801,980incomplI'd like to build a scraper that scrapes all g...due 7 months ago
236Apple fitness data into google sheets or excel$18.001,800AdityaDidwaniaI want to track my fitness and there are vario...due 10 months ago
237Create pytests to new feature in python package$18.001,800jaottaCreate tests for a new feature that has to be ...due 11 months ago
238Telegram bot for booking$8.10810OrolImomovDevelop a Telegram booking bot that allows use...due 5 months ago
239GPT-3 based Chrome Extension$7.20720CrownDevelopmentI have an AI application that I made called My...due 7 months ago
\n", + "

240 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " title bounty coins \\\n", + "0 Need art people in discord $45.00 4,500 \n", + "1 AI Presentation Analyzer $90.00 9,000 \n", + "2 Open AI Vision Website Analyzer $90.00 9,000 \n", + "3 WordPress Plugin - Security Plugin $82.80 8,280 \n", + "4 Static Blog Page - Nuxt $11.25 1,125 \n", + ".. ... ... ... \n", + "235 Scrape gigs from Fiverr and Upwork $19.80 1,980 \n", + "236 Apple fitness data into google sheets or excel $18.00 1,800 \n", + "237 Create pytests to new feature in python package $18.00 1,800 \n", + "238 Telegram bot for booking $8.10 810 \n", + "239 GPT-3 based Chrome Extension $7.20 720 \n", + "\n", + " company description \\\n", + "0 NFtalk Bounty Description Problem Description Im buil... \n", + "1 flixr Objective Develop a single-page application wh... \n", + "2 flixr Objective Develop a single-page website where ... \n", + "3 wpupgrader We would like to hire a freelancer who can bui... \n", + "4 lawtechusa Need a developer who can work with me to modif... \n", + ".. ... ... \n", + "235 incompl I'd like to build a scraper that scrapes all g... \n", + "236 AdityaDidwania I want to track my fitness and there are vario... \n", + "237 jaotta Create tests for a new feature that has to be ... \n", + "238 OrolImomov Develop a Telegram booking bot that allows use... \n", + "239 CrownDevelopment I have an AI application that I made called My... \n", + "\n", + " time \n", + "0 due 3 weeks from now \n", + "1 due 7 days from now \n", + "2 due 4 days from now \n", + "3 due 1 month from now \n", + "4 due 7 days from now \n", + ".. ... \n", + "235 due 7 months ago \n", + "236 due 10 months ago \n", + "237 due 11 months ago \n", + "238 due 5 months ago \n", + "239 due 7 months ago \n", + "\n", + "[240 rows x 6 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = df.drop(columns=\"status\")\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "e7eee642", + "metadata": {}, + "source": [ + "To check for Duplicate entries in the dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "0f7443f1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.duplicated().sum()" + ] + }, + { + "cell_type": "markdown", + "id": "b3f25e05", + "metadata": {}, + "source": [ + "Inference: There are no duplicate entries in this dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d127dd14", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "title Python API wrapper for DPO Group payments API\n", + "bounty $90.00\n", + "coins 9,000\n", + "company nyasour\n", + "description I would like to build a python API wrapper aro...\n", + "time due 5 days from now\n", + "Name: 37, dtype: object" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.iloc[37]" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "4275076f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4,500 35\n", + "9,000 35\n", + "18,000 24\n", + "2,250 14\n", + "45,000 9\n", + " ..\n", + "11,250 1\n", + "9,810 1\n", + "5,850 1\n", + "3,111 1\n", + "720 1\n", + "Name: coins, Length: 69, dtype: int64" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.coins.value_counts()" + ] + }, + { + "cell_type": "markdown", + "id": "48861bd9", + "metadata": {}, + "source": [ + "Inference: The amount of coins most commonly offered were 4500, 9000, 18000 and 2250." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "c497e656", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "$45.00 35\n", + "$90.00 35\n", + "$180.00 24\n", + "$22.50 14\n", + "$450.00 9\n", + " ..\n", + "$112.50 1\n", + "$98.10 1\n", + "$58.50 1\n", + "$31.11 1\n", + "$7.20 1\n", + "Name: bounty, Length: 69, dtype: int64" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.bounty.value_counts()" + ] + }, + { + "cell_type": "markdown", + "id": "92b1194e", + "metadata": {}, + "source": [ + "Inference: The bounty amount most commonly offered were $45.00, 90.00, 180.00 and 22.50." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "757a1fe9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "bingroup": "x", + "hovertemplate": "bounty=%{x}
count=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa", + "pattern": { + "shape": "" + } + }, + "name": "", + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "type": "histogram", + "x": [ + "$45.00", + "$90.00", + "$90.00", + "$82.80", + "$11.25", + "$9.00", + "$180.00", + "$150.03", + "$150.03", + "$67.50", + "$63.00", + "$63.00", + "$22.50", + "$18.00", + "$450.00", + "$162.00", + "$76.50", + "$67.50", + "$49.50", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$40.50", + "$27.00", + "$22.50", + "$18.00", + "$9.00", + "$4.50", + "$810.00", + "$495.00", + "$450.00", + "$300.00", + "$207.00", + "$135.00", + "$90.00", + "$90.00", + "$72.00", + "$54.90", + "$45.00", + "$45.00", + "$36.00", + "$450.00", + "$300.00", + "$270.00", + "$182.07", + "$180.00", + "$135.00", + "$135.00", + "$135.00", + "$100.00", + "$90.00", + "$90.00", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$40.50", + "$27.00", + "$27.00", + "$22.50", + "$22.50", + "$16.20", + "$9.00", + "$4.50", + "$900.00", + "$585.00", + "$450.00", + "$405.00", + "$270.00", + "$261.00", + "$252.00", + "$225.00", + "$203.40", + "$180.00", + "$180.00", + "$180.00", + "$180.00", + "$180.00", + "$180.00", + "$135.00", + "$112.50", + "$108.00", + "$99.00", + "$99.00", + "$98.10", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$72.00", + "$67.50", + "$67.50", + "$58.50", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$40.50", + "$31.50", + "$31.50", + "$31.11", + "$27.00", + "$22.50", + "$22.50", + "$22.50", + "$19.80", + "$19.80", + "$10.00", + "$10.00", + "$9.00", + "$9.00", + "$9.00", + "$7.11", + "$6.30", + "$6.03", + "$4.50", + "$4.50", + "$3.78", + "$1,350.00", + "$599.40", + "$450.00", + "$450.00", + "$450.00", + "$450.00", + "$360.00", + "$323.10", + "$315.00", + "$315.00", + "$270.00", + "$270.00", + "$234.00", + "$225.00", + "$225.00", + "$225.00", + "$198.00", + "$180.00", + "$180.00", + "$180.00", + "$180.00", + "$180.00", + "$180.00", + "$162.00", + "$135.00", + "$108.00", + "$107.10", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$50.00", + "$49.50", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$40.00", + "$36.00", + "$36.00", + "$36.00", + "$27.00", + "$22.50", + "$18.00", + "$18.00", + "$9.00", + "$9.00", + "$8.55", + "$4.50", + "$4.50", + "$450.00", + "$270.00", + "$225.00", + "$180.00", + "$180.00", + "$180.00", + "$180.00", + "$180.00", + "$180.00", + "$103.50", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$90.00", + "$49.50", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$45.00", + "$40.00", + "$24.30", + "$22.50", + "$21.06", + "$4.50", + "$1.35", + "$2,700.00", + "$900.00", + "$873.00", + "$180.00", + "$180.00", + "$180.00", + "$180.00", + "$90.00", + "$90.00", + "$45.00", + "$45.00", + "$22.50", + "$22.50", + "$22.50", + "$22.50", + "$22.50", + "$19.80", + "$18.00", + "$18.00", + "$8.10", + "$7.20" + ], + "xaxis": "x", + "yaxis": "y" + } + ], + "layout": { + "barmode": "relative", + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "bounty" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "count" + }, + "type": "log" + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "px.histogram(data_frame=df, x='bounty', log_y=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7ebdfdca", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "df[\"time\"].value_counts().plot(kind=\"bar\", color=['red', 'orange', 'yellow', 'green'], figsize=(12, 8))\n", + "plt.xlabel(\"time\")\n", + "plt.ylabel(\"count\")\n", + "plt.title(\"Bounty due Time plot\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "290572b2", + "metadata": {}, + "source": [ + "Plotting missing values in the dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "d96cf464", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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AAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMBxxGwAAAACA4YjbAAAAAAAMR9wGAAAAAGA44jYAAAAAAMMRtwEAAAAAGI64DQAAAADAcMRtAAAAAACGI24DAAAAADAccRsAAAAAgOGI2wAAAAAADEfcBgAAAABgOOI2AAAAAADDEbcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYjrgNAAAAAMBwxG0AAAAAAIYjbgMAAAAAMJxNittVdYmqekBV/WtVfa2qfllVP62q/6yqv6uqs/0+VfXqqur519V+y+PuU1WfrKqT5p/xkaq60zn5SwEAAAAAcMG2qTO375rklUn+LMmRSQ5I8vYk10vyqiRvrao6qydX1V8kuX+Sk37bD6mq5yd5bZLLzT/vDUmun+RdVfXwTRwrAAAAAAAXcJsat49OcuckV+jue3b3k7r7/kmuleRbSf46yV9t7IlVdalMofotST5zVj+gqm6U5LFJvp7kBt396O5+WJI/TvKjJM+vqitv4ngBAAAAAM6VqrpcVR1SVd+vqpOr6qiq2m3Z47qgOrf/3psUt7v7Q939ru4+fdXtxyd5+fzHm5/F018xf33Y2fyYh8xfn9HdP174GcckeUmSbZPcb1PGCwAAAABwblTVRZMcnqSS3DHJtZM8IskJSxzWBdZ5+fc+PzaUPGX+eupGBnbfJLsneUh3//Bsvs8t56+HbeS+9656DAAAAADA78ITkny3u+/d3Z/s7m929we7+8vLHtim2LBhQ44//vh8/etfz8EHH5wNGzYse0hn51z/e5+nuF1VWyW59/zHw1bdd6UkByZ5Q3f/29l8nx2T/F6Sk7r7uxt5yFfnr9c4L+MFAAAAADgbuyc5sqreUlUnVNXnq+rhv23PwbViw4YN2WOPPfK9730vJ510Ul73utdljz32WOuBe/ecy3/v8zpz+9mZNpV8T3f/x8qNVbVFkkMybSD5yE34PheZv/70LO5fuf2i526YAAAAAACb5KpJ/j7JN5L8eaYJvM/O2S+7vHSHHnpoTjzxxDPdduKJJ+bQQw9d0og2ybn+967uPlc/saoeOf+gryS5cXf/aOG+xyZ5fpI7dvd7Fm7/SJLdkly9u7+2cPvlk3w7ybe7+wob+VlbJ9mQ5Ffdvd25GjAAAAAAwNmoqg1JPt3dN1q47ZlJ7tLd117eyM7eLW5xiw8kudVG7vrAhz/84dts7vFsivPy773VufyBD8sUto9KcqtVYfvqSZ6R5ODFsH02VmZmX+Qs7j+7md0AAAAAAOeH72bqnou+nORRSxjLOfLhD3/41ssew7lwrv+9z/GyJFW1Z5IXJ/nvJLfo7uNXPeS6SbZNcr+q6sVfmWZtJ8lX59t2T5Lu/nmmmdsXqqrLbeTHXn3+evQ5HS8AAAAAwDlweJJrrrrtGkmOXcJY1oNz/e99jmZuV9VemdY7+XyS23T3DzbysGOSvPosvsUdk1w2yduS/Gx+7IoPJblXktslOXjV826/8BgAAAAAgN+V/ZN8oqr+Iclbktww076CT17qqC64zvW/9yavuV1VT0myb5LPJLnt4lIkm+qs1tye77tRpkr/9SS7dPeP59uvPP/MHZNcq7uPOac/FwAAAABgU1XVHZM8M9OM4v/NtJLFQX1uNzDktzq3/96bFLer6j5JXpvktCQHZeNrXx/T3a89m+/zkZxF3J7vf0GSxyQ5Lsk/J9kmyd2SXCLJI7r7xWc7WAAAAAAALvA2dVmSq8xft0yy51k85qOZAvi51t2PraovJHl4kgclOT3JZ5M8r7v//bx8bwAAAAAALjg2eVkSAAAAAABYK7ZY9gAAAAAAAOCcErcBAAAAABiOuA0AAAAAwHDEbQAAAAAAhiNuAwAAAAAwHHEbAAAAAIDhiNsAAAAAAAxH3AYAAAAAYDjiNgAAAAAAwxG3AQAAAAAYzv8HLW6djipqQwEAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "msno.matrix(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "409f5106", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Bounty Versus Company Graph')" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(15, 10))\n", + "df.groupby('company')['bounty'].mean().sort_values(ascending=False).head(20).plot(kind='bar')\n", + "plt.ylabel('bounty amount')\n", + "plt.title('Bounty Versus Company Graph')" + ] + }, + { + "cell_type": "markdown", + "id": "e56d2e91", + "metadata": {}, + "source": [ + "Inference: Human-Protocol seems to offer the highest bounty amount, among all the companies in the first 20 entries of the dataset." + ] + }, + { + "cell_type": "markdown", + "id": "62fd3081", + "metadata": {}, + "source": [ + "## Data Preprocessing" + ] + }, + { + "cell_type": "markdown", + "id": "019c21f5", + "metadata": {}, + "source": [ + "Replacing string values of bounty, coins with their float equivalents" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "3617cd64", + "metadata": {}, + "outputs": [], + "source": [ + "df['bounty'] = df['bounty'].replace('[\\$\\,]', '', regex=True).astype(float)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "7dd17084", + "metadata": {}, + "outputs": [], + "source": [ + "df['coins'] = df['coins'].replace('[\\$\\,]', '', regex=True).astype(float)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "a5e75614", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebountycoinscompanydescriptiontime
0Need art people in discord45.004500.0NFtalkBounty Description Problem Description Im buil...due 3 weeks from now
1AI Presentation Analyzer90.009000.0flixrObjective Develop a single-page application wh...due 7 days from now
2Open AI Vision Website Analyzer90.009000.0flixrObjective Develop a single-page website where ...due 4 days from now
3WordPress Plugin - Security Plugin82.808280.0wpupgraderWe would like to hire a freelancer who can bui...due 1 month from now
4Static Blog Page - Nuxt11.251125.0lawtechusaNeed a developer who can work with me to modif...due 7 days from now
\n", + "
" + ], + "text/plain": [ + " title bounty coins company \\\n", + "0 Need art people in discord 45.00 4500.0 NFtalk \n", + "1 AI Presentation Analyzer 90.00 9000.0 flixr \n", + "2 Open AI Vision Website Analyzer 90.00 9000.0 flixr \n", + "3 WordPress Plugin - Security Plugin 82.80 8280.0 wpupgrader \n", + "4 Static Blog Page - Nuxt 11.25 1125.0 lawtechusa \n", + "\n", + " description time \n", + "0 Bounty Description Problem Description Im buil... due 3 weeks from now \n", + "1 Objective Develop a single-page application wh... due 7 days from now \n", + "2 Objective Develop a single-page website where ... due 4 days from now \n", + "3 We would like to hire a freelancer who can bui... due 1 month from now \n", + "4 Need a developer who can work with me to modif... due 7 days from now " + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "markdown", + "id": "1428d3b1", + "metadata": {}, + "source": [ + "Convert title into its numerical representation using Label encoding" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "830a29bb", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn import preprocessing\n", + "le = preprocessing.LabelEncoder()\n", + "df.title = le.fit_transform(df.title)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "89dec903", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebountycoinscompanydescriptiontime
014945.004500.0NFtalkBounty Description Problem Description Im buil...due 3 weeks from now
11090.009000.0flixrObjective Develop a single-page application wh...due 7 days from now
215590.009000.0flixrObjective Develop a single-page website where ...due 4 days from now
322882.808280.0wpupgraderWe would like to hire a freelancer who can bui...due 1 month from now
418911.251125.0lawtechusaNeed a developer who can work with me to modif...due 7 days from now
\n", + "
" + ], + "text/plain": [ + " title bounty coins company \\\n", + "0 149 45.00 4500.0 NFtalk \n", + "1 10 90.00 9000.0 flixr \n", + "2 155 90.00 9000.0 flixr \n", + "3 228 82.80 8280.0 wpupgrader \n", + "4 189 11.25 1125.0 lawtechusa \n", + "\n", + " description time \n", + "0 Bounty Description Problem Description Im buil... due 3 weeks from now \n", + "1 Objective Develop a single-page application wh... due 7 days from now \n", + "2 Objective Develop a single-page website where ... due 4 days from now \n", + "3 We would like to hire a freelancer who can bui... due 1 month from now \n", + "4 Need a developer who can work with me to modif... due 7 days from now " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "2124442c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebountycoins
title1.0000000.0596010.059601
bounty0.0596011.0000001.000000
coins0.0596011.0000001.000000
\n", + "
" + ], + "text/plain": [ + " title bounty coins\n", + "title 1.000000 0.059601 0.059601\n", + "bounty 0.059601 1.000000 1.000000\n", + "coins 0.059601 1.000000 1.000000" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.corr()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "629f3696", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "sns.heatmap(df.corr(), annot = True)" + ] + }, + { + "cell_type": "markdown", + "id": "3712b68d", + "metadata": {}, + "source": [ + "Perform min-max feature scaling on bounty and coin cloumns" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "2c5d85e1", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.preprocessing import MinMaxScaler\n", + "scaler = MinMaxScaler()\n", + "z = df[[\"bounty\"]]\n", + "x = scaler.fit_transform(z)\n", + "df[[\"bounty\"]] = x" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "6470d9c1", + "metadata": {}, + "outputs": [], + "source": [ + "df[[\"coins\"]] = df[[\"coins\"]]\n", + "z = df[[\"coins\"]]\n", + "x = scaler.fit_transform(z)\n", + "df[[\"coins\"]] = x" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "8b6cda6f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebountycoinscompanydescriptiontime
01490.0161750.016175NFtalkBounty Description Problem Description Im buil...due 3 weeks from now
1100.0328500.032850flixrObjective Develop a single-page application wh...due 7 days from now
21550.0328500.032850flixrObjective Develop a single-page website where ...due 4 days from now
32280.0301820.030182wpupgraderWe would like to hire a freelancer who can bui...due 1 month from now
41890.0036690.003669lawtechusaNeed a developer who can work with me to modif...due 7 days from now
\n", + "
" + ], + "text/plain": [ + " title bounty coins company \\\n", + "0 149 0.016175 0.016175 NFtalk \n", + "1 10 0.032850 0.032850 flixr \n", + "2 155 0.032850 0.032850 flixr \n", + "3 228 0.030182 0.030182 wpupgrader \n", + "4 189 0.003669 0.003669 lawtechusa \n", + "\n", + " description time \n", + "0 Bounty Description Problem Description Im buil... due 3 weeks from now \n", + "1 Objective Develop a single-page application wh... due 7 days from now \n", + "2 Objective Develop a single-page website where ... due 4 days from now \n", + "3 We would like to hire a freelancer who can bui... due 1 month from now \n", + "4 Need a developer who can work with me to modif... due 7 days from now " + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "markdown", + "id": "8e4efbd4", + "metadata": {}, + "source": [ + "Split the dataset into training and testing sets" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "ff2b7522", + "metadata": {}, + "outputs": [], + "source": [ + "drop_cols = ['bounty', 'coins', 'company', 'description', 'time']\n", + "x = df.drop(columns=drop_cols, axis=1)\n", + "y = df[\"bounty\"]\n", + "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25, random_state=20)" + ] + }, + { + "cell_type": "markdown", + "id": "35fb1d39", + "metadata": {}, + "source": [ + "Inference: The data is split as 75% training data and remaining 25% as test data" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "ab804e1f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(180, 1)" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "9bbe8ac5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(60, 1)" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_test.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "30c51265", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(180,)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "3dbac4d5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(60,)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_test.shape" + ] + }, + { + "cell_type": "markdown", + "id": "7b9c9f52", + "metadata": {}, + "source": [ + "## Building the Models" + ] + }, + { + "cell_type": "markdown", + "id": "dc84dfa8", + "metadata": {}, + "source": [ + "### Linear Regression" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "acae3a41", + "metadata": {}, + "outputs": [], + "source": [ + "lr = LinearRegression(fit_intercept = True)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "5518989d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearRegression()" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lr.fit(x_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "4c2d5526", + "metadata": {}, + "outputs": [], + "source": [ + "# Making Predictions\n", + "lr.predict(x_test)\n", + "pred = lr.predict(x_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "1f400547", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean Absolute Error: 0.04153063160737885\n", + "Mean Squared Error: 0.0032692873045989785\n", + "Mean Root Squared Error: 0.057177681875002405\n" + ] + } + ], + "source": [ + "from sklearn.metrics import mean_absolute_error, mean_squared_error\n", + "# Evaluating Model's Performance\n", + "print('Mean Absolute Error:', mean_absolute_error(y_test, pred))\n", + "print('Mean Squared Error:', mean_squared_error(y_test, pred))\n", + "print('Mean Root Squared Error:', np.sqrt(mean_squared_error(y_test, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "4e226d13", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "title 219.0000\n", + "bounty 0.0662\n", + "Name: 6, dtype: float64" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#sample test case\n", + "replit_df = pd.concat([x,y], axis=1)\n", + "replit_df.loc[6]" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "4d285978", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Predicted Bounty amount: 0.06113646779963142\n" + ] + } + ], + "source": [ + "#let us predict\n", + "pred = lr.predict(x_test)\n", + "print('Predicted Bounty amount:', pred[0])" + ] + }, + { + "cell_type": "markdown", + "id": "44307837", + "metadata": {}, + "source": [ + "Inference: There is a small descrepancy between the predicted Bounty value 0.061 and the actual bounty value 0.066 of sample test data. " + ] + }, + { + "cell_type": "markdown", + "id": "fceccb5b", + "metadata": {}, + "source": [ + "### Decision Tree" + ] + }, + { + "cell_type": "markdown", + "id": "d763a958", + "metadata": {}, + "source": [ + "Clasification of bounties based on campanies using Decision Tree" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "968fb1cc", + "metadata": {}, + "outputs": [], + "source": [ + "#Encoding the time to get its numerical representation\n", + "from sklearn import preprocessing\n", + "le = preprocessing.LabelEncoder()\n", + "df.time = le.fit_transform(df.time)" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "66120573", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "sns.pairplot(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "965fc18e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebountycoinscompanydescriptiontime
01490.0161750.016175NFtalkBounty Description Problem Description Im buil...16
1100.0328500.032850flixrObjective Develop a single-page application wh...26
21550.0328500.032850flixrObjective Develop a single-page website where ...18
32280.0301820.030182wpupgraderWe would like to hire a freelancer who can bui...2
41890.0036690.003669lawtechusaNeed a developer who can work with me to modif...26
\n", + "
" + ], + "text/plain": [ + " title bounty coins company \\\n", + "0 149 0.016175 0.016175 NFtalk \n", + "1 10 0.032850 0.032850 flixr \n", + "2 155 0.032850 0.032850 flixr \n", + "3 228 0.030182 0.030182 wpupgrader \n", + "4 189 0.003669 0.003669 lawtechusa \n", + "\n", + " description time \n", + "0 Bounty Description Problem Description Im buil... 16 \n", + "1 Objective Develop a single-page application wh... 26 \n", + "2 Objective Develop a single-page website where ... 18 \n", + "3 We would like to hire a freelancer who can bui... 2 \n", + "4 Need a developer who can work with me to modif... 26 " + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "c0023edd", + "metadata": {}, + "outputs": [], + "source": [ + "df_X = df[['bounty','coins','time']]\n", + "df_Y = df['company']" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "401897c5", + "metadata": {}, + "outputs": [], + "source": [ + "tree_clf = DecisionTreeClassifier(max_depth=2, random_state=36)" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "2f89bcd3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DecisionTreeClassifier(max_depth=2, random_state=36)" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tree_clf.fit(df_X, df_Y)" + ] + }, + { + "cell_type": "markdown", + "id": "d8bf2d79", + "metadata": {}, + "source": [ + "Visualizing the decision tree" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "12573665", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Tree\n", + "\n", + "\n", + "\n", + "0\n", + "\n", + "time <= 0.5\n", + "gini = 0.994\n", + "samples = 240\n", + "value = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1\n", + "1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 2\n", + "1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 1]\n", + "class = diegofornalha\n", + "\n", + "\n", + "\n", + "1\n", + "\n", + "bounty <= 0.175\n", + "gini = 0.625\n", + "samples = 4\n", + "value = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 1]\n", + "class = KamalMango1\n", + "\n", + "\n", + "\n", + "0->1\n", + "\n", + "\n", + "True\n", + "\n", + "\n", + "\n", + "4\n", + "\n", + "time <= 1.5\n", + "gini = 0.994\n", + "samples = 236\n", + "value = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 7, 1, 1\n", + "1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 2\n", + "1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 0]\n", + "class = diegofornalha\n", + "\n", + "\n", + "\n", + "0->4\n", + "\n", + "\n", + "False\n", + "\n", + "\n", + "\n", + "2\n", + "\n", + "gini = 0.5\n", + "samples = 2\n", + "value = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 1]\n", + "class = sakshibenny\n", + "\n", + "\n", + "\n", + "1->2\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "3\n", + "\n", + "gini = 0.0\n", + "samples = 2\n", + "value = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0]\n", + "class = KamalMango1\n", + "\n", + "\n", + "\n", + "1->3\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "5\n", + "\n", + "gini = 0.844\n", + "samples = 8\n", + "value = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n", + "0, 0, 0]\n", + "class = 0FJAKE\n", + "\n", + "\n", + "\n", + "4->5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "6\n", + "\n", + "gini = 0.994\n", + "samples = 228\n", + "value = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2\n", + "1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 2, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 2\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 7, 1, 0\n", + "1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1\n", + "1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1\n", + "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 0, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 2\n", + "1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n", + "0, 1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1\n", + "1, 1, 0]\n", + "class = diegofornalha\n", + "\n", + "\n", + "\n", + "4->6\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SVG saved to: C:\\Users\\Fathima Zulaikha\\decision_tree.svg\n" + ] + } + ], + "source": [ + "import os\n", + "labels = df_X.columns\n", + "graph = Source(tree.export_graphviz(tree_clf, feature_names = labels, class_names = df_Y.unique(), max_depth = 2, filled = True))\n", + "\n", + "# Save the SVG data to a file\n", + "svg_filename = \"decision_tree.svg\"\n", + "graph.render(svg_filename, format='svg', cleanup=True)\n", + "\n", + "display(SVG(graph.pipe(format = 'svg')))\n", + "print(\"SVG saved to:\", os.path.abspath(svg_filename))" + ] + }, + { + "cell_type": "markdown", + "id": "49eb7c74", + "metadata": {}, + "source": [ + "Estimating class/class Probabilities" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "40149779", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00877193, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0. ,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0. , 0.00438596, 0.00438596, 0.00438596, 0.00877193,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00877193, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00877193,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00877193, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00877193, 0. , 0.00438596,\n", + " 0.00438596, 0.00877193, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0. , 0.00438596, 0.03070175, 0.00438596,\n", + " 0. , 0.00438596, 0.00877193, 0.00438596, 0.00438596,\n", + " 0.00877193, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00877193, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0. , 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00877193, 0.00877193, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0. , 0.00438596, 0.00438596, 0.01754386, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00877193, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.01315789, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0. , 0.00438596, 0.00438596, 0.00877193,\n", + " 0.00438596, 0. , 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0.00438596, 0.00438596, 0.00438596,\n", + " 0.00438596, 0.00438596, 0. ]])" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "probs = tree_clf.predict_proba([[0.032, 0.032, 2]])\n", + "probs" + ] + }, + { + "cell_type": "markdown", + "id": "321162e6", + "metadata": {}, + "source": [ + "Predicting the company for a Replit bounty whose amount/coins is 0.032 and time is 2" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "8cd3638f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['ajitadori']\n" + ] + } + ], + "source": [ + "pred = tree_clf.predict([[0.032, 0.032, 2]])\n", + "print(pred)" + ] + }, + { + "cell_type": "markdown", + "id": "c6a9e40b", + "metadata": {}, + "source": [ + "Inference: Input bounty mostly likely belongs to ajitadori company" + ] + }, + { + "cell_type": "markdown", + "id": "f3091690", + "metadata": {}, + "source": [ + "## K-Nearest Neighbours (KNN)" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "a967fbe0", + "metadata": {}, + "outputs": [], + "source": [ + "#Dataset for KNN classification\n", + "X = df[['bounty','coins','time']]\n", + "Y = df['title']" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "58ae19c2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " bounty coins time\n", + "0 0.016175 0.016175 16\n", + "1 0.032850 0.032850 26\n", + "2 0.032850 0.032850 18\n", + "3 0.030182 0.030182 2\n", + "4 0.003669 0.003669 26\n", + ".. ... ... ...\n", + "235 0.006837 0.006837 27\n", + "236 0.006170 0.006170 4\n", + "237 0.006170 0.006170 5\n", + "238 0.002501 0.002501 23\n", + "239 0.002168 0.002168 27\n", + "\n", + "[240 rows x 3 columns]\n" + ] + } + ], + "source": [ + "print(X)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "2f9d1cc6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 149\n", + "1 10\n", + "2 155\n", + "3 228\n", + "4 189\n", + " ... \n", + "235 176\n", + "236 26\n", + "237 74\n", + "238 204\n", + "239 111\n", + "Name: title, Length: 240, dtype: int32\n" + ] + } + ], + "source": [ + "print(Y)" + ] + }, + { + "cell_type": "markdown", + "id": "233f2416", + "metadata": {}, + "source": [ + "Split the dataset into training and testing data" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "8e00c6f7", + "metadata": {}, + "outputs": [], + "source": [ + "X_train, X_test, Y_train, Y_test = train_test_split(X,Y,test_size=0.3)" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "d4a7a5be", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "KNeighborsClassifier()" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Create classifier to train the model with number of neighbors, k = 5\n", + "classifier = KNeighborsClassifier(n_neighbors=5)\n", + "classifier.fit(X_train, Y_train)" + ] + }, + { + "cell_type": "markdown", + "id": "319af01f", + "metadata": {}, + "source": [ + "Make prediction on the test data" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "ddff4da5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(72,)" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Y_pred=classifier.predict(X_test)\n", + "Y_pred.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "fc2ee8b7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 27 13 9 12 26 79 81 14 69 161 27 103 47 64 7 69 0 51\n", + " 52 33 56 103 26 74 52 74 79 52 89 4 58 21 86 86 6 23\n", + " 26 4 8 52 33 47 4 77 1 7 39 33 77 27 0 0 35 0\n", + " 69 35 27 4 13 58 39 23 81 0 26 1 44 81 93 5 26 81]\n" + ] + } + ], + "source": [ + "print(Y_pred)" + ] + }, + { + "cell_type": "markdown", + "id": "379c1276", + "metadata": {}, + "source": [ + "Predicted values of Y_test are printed" + ] + }, + { + "cell_type": "markdown", + "id": "2cb38a7c", + "metadata": {}, + "source": [ + "Model Evaluation:" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "447efb34", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Confusion Matrix\n", + "[[0 0 0 ... 0 0 0]\n", + " [0 0 0 ... 0 0 0]\n", + " [0 0 0 ... 0 0 0]\n", + " ...\n", + " [0 0 0 ... 0 0 0]\n", + " [0 0 0 ... 0 0 0]\n", + " [0 0 0 ... 0 0 0]]\n" + ] + } + ], + "source": [ + "print('Confusion Matrix')\n", + "print(confusion_matrix(Y_test,Y_pred))" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "d56fd634", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy Metrics\n", + " precision recall f1-score support\n", + "\n", + " 0 0.00 0.00 0.00 0.0\n", + " 1 0.00 0.00 0.00 0.0\n", + " 2 0.00 0.00 0.00 1.0\n", + " 3 0.00 0.00 0.00 1.0\n", + " 4 0.00 0.00 0.00 0.0\n", + " 5 0.00 0.00 0.00 0.0\n", + " 6 0.00 0.00 0.00 0.0\n", + " 7 0.00 0.00 0.00 0.0\n", + " 8 0.00 0.00 0.00 0.0\n", + " 9 0.00 0.00 0.00 0.0\n", + " 10 0.00 0.00 0.00 1.0\n", + " 11 0.00 0.00 0.00 1.0\n", + " 12 0.00 0.00 0.00 0.0\n", + " 13 0.00 0.00 0.00 0.0\n", + " 14 0.00 0.00 0.00 0.0\n", + " 15 0.00 0.00 0.00 1.0\n", + " 16 0.00 0.00 0.00 1.0\n", + " 17 0.00 0.00 0.00 1.0\n", + " 21 0.00 0.00 0.00 0.0\n", + " 23 0.00 0.00 0.00 0.0\n", + " 24 0.00 0.00 0.00 1.0\n", + " 26 0.00 0.00 0.00 0.0\n", + " 27 0.00 0.00 0.00 0.0\n", + " 32 0.00 0.00 0.00 1.0\n", + " 33 0.00 0.00 0.00 0.0\n", + " 34 0.00 0.00 0.00 1.0\n", + " 35 0.00 0.00 0.00 0.0\n", + " 38 0.00 0.00 0.00 1.0\n", + " 39 0.00 0.00 0.00 0.0\n", + " 41 0.00 0.00 0.00 1.0\n", + " 43 0.00 0.00 0.00 1.0\n", + " 44 0.00 0.00 0.00 0.0\n", + " 45 0.00 0.00 0.00 1.0\n", + " 46 0.00 0.00 0.00 1.0\n", + " 47 0.00 0.00 0.00 0.0\n", + " 48 0.00 0.00 0.00 1.0\n", + " 49 0.00 0.00 0.00 1.0\n", + " 50 0.00 0.00 0.00 1.0\n", + " 51 0.00 0.00 0.00 0.0\n", + " 52 0.00 0.00 0.00 0.0\n", + " 56 0.00 0.00 0.00 0.0\n", + " 58 0.00 0.00 0.00 0.0\n", + " 59 0.00 0.00 0.00 1.0\n", + " 63 0.00 0.00 0.00 1.0\n", + " 64 0.00 0.00 0.00 0.0\n", + " 65 0.00 0.00 0.00 1.0\n", + " 66 0.00 0.00 0.00 1.0\n", + " 67 0.00 0.00 0.00 1.0\n", + " 68 0.00 0.00 0.00 1.0\n", + " 69 0.00 0.00 0.00 0.0\n", + " 70 0.00 0.00 0.00 1.0\n", + " 73 0.00 0.00 0.00 1.0\n", + " 74 0.00 0.00 0.00 0.0\n", + " 75 0.00 0.00 0.00 1.0\n", + " 77 0.00 0.00 0.00 0.0\n", + " 78 0.00 0.00 0.00 1.0\n", + " 79 0.00 0.00 0.00 0.0\n", + " 81 0.00 0.00 0.00 0.0\n", + " 82 0.00 0.00 0.00 1.0\n", + " 83 0.00 0.00 0.00 1.0\n", + " 86 0.00 0.00 0.00 0.0\n", + " 89 0.00 0.00 0.00 0.0\n", + " 90 0.00 0.00 0.00 1.0\n", + " 93 0.00 0.00 0.00 0.0\n", + " 100 0.00 0.00 0.00 1.0\n", + " 101 0.00 0.00 0.00 1.0\n", + " 102 0.00 0.00 0.00 1.0\n", + " 103 0.00 0.00 0.00 0.0\n", + " 104 0.00 0.00 0.00 1.0\n", + " 107 0.00 0.00 0.00 1.0\n", + " 109 0.00 0.00 0.00 1.0\n", + " 117 0.00 0.00 0.00 1.0\n", + " 118 0.00 0.00 0.00 1.0\n", + " 119 0.00 0.00 0.00 1.0\n", + " 123 0.00 0.00 0.00 1.0\n", + " 131 0.00 0.00 0.00 1.0\n", + " 133 0.00 0.00 0.00 1.0\n", + " 142 0.00 0.00 0.00 1.0\n", + " 149 0.00 0.00 0.00 1.0\n", + " 151 0.00 0.00 0.00 1.0\n", + " 154 0.00 0.00 0.00 1.0\n", + " 156 0.00 0.00 0.00 1.0\n", + " 157 0.00 0.00 0.00 1.0\n", + " 159 0.00 0.00 0.00 1.0\n", + " 161 0.00 0.00 0.00 0.0\n", + " 163 0.00 0.00 0.00 1.0\n", + " 167 0.00 0.00 0.00 1.0\n", + " 168 0.00 0.00 0.00 1.0\n", + " 170 0.00 0.00 0.00 1.0\n", + " 176 0.00 0.00 0.00 1.0\n", + " 179 0.00 0.00 0.00 1.0\n", + " 181 0.00 0.00 0.00 1.0\n", + " 186 0.00 0.00 0.00 1.0\n", + " 190 0.00 0.00 0.00 1.0\n", + " 192 0.00 0.00 0.00 1.0\n", + " 193 0.00 0.00 0.00 1.0\n", + " 194 0.00 0.00 0.00 1.0\n", + " 206 0.00 0.00 0.00 1.0\n", + " 210 0.00 0.00 0.00 1.0\n", + " 211 0.00 0.00 0.00 1.0\n", + " 217 0.00 0.00 0.00 1.0\n", + " 223 0.00 0.00 0.00 1.0\n", + " 224 0.00 0.00 0.00 1.0\n", + " 228 0.00 0.00 0.00 1.0\n", + " 230 0.00 0.00 0.00 1.0\n", + " 235 0.00 0.00 0.00 1.0\n", + " 236 0.00 0.00 0.00 1.0\n", + "\n", + " accuracy 0.00 72.0\n", + " macro avg 0.00 0.00 0.00 72.0\n", + "weighted avg 0.00 0.00 0.00 72.0\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\Fathima Zulaikha\\anaconda3\\lib\\site-packages\\sklearn\\metrics\\_classification.py:1248: UndefinedMetricWarning:\n", + "\n", + "Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + "\n", + "C:\\Users\\Fathima Zulaikha\\anaconda3\\lib\\site-packages\\sklearn\\metrics\\_classification.py:1248: UndefinedMetricWarning:\n", + "\n", + "Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + "\n", + "C:\\Users\\Fathima Zulaikha\\anaconda3\\lib\\site-packages\\sklearn\\metrics\\_classification.py:1248: UndefinedMetricWarning:\n", + "\n", + "Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + "\n", + "C:\\Users\\Fathima Zulaikha\\anaconda3\\lib\\site-packages\\sklearn\\metrics\\_classification.py:1248: UndefinedMetricWarning:\n", + "\n", + "Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + "\n", + "C:\\Users\\Fathima Zulaikha\\anaconda3\\lib\\site-packages\\sklearn\\metrics\\_classification.py:1248: UndefinedMetricWarning:\n", + "\n", + "Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + "\n", + "C:\\Users\\Fathima Zulaikha\\anaconda3\\lib\\site-packages\\sklearn\\metrics\\_classification.py:1248: UndefinedMetricWarning:\n", + "\n", + "Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + "\n" + ] + } + ], + "source": [ + "print('Accuracy Metrics')\n", + "print(classification_report(Y_test,Y_pred))" + ] + }, + { + "cell_type": "markdown", + "id": "376d7120", + "metadata": {}, + "source": [ + "## Summary " + ] + }, + { + "cell_type": "markdown", + "id": "fa5e1615", + "metadata": {}, + "source": [ + "1. In this **Data Analysis** project, first we performed **Exploratory Data Analysis (EDA)** and **Preprocessing** on the dataset to understand the *structure* of the data and to *identify relations* between different fields. To visualize these findings, few bar graphs/histograms were plotted.\n", + "\n", + "2. **Data Cleaning** - we analysed the dataset for *missing values, null entries and duplicate records* and *removed unncessary data*, such as the 'status' parameter which was always 'Open'. In this particular dataset, there were no null entries nor duplicate/missing values. \n", + "\n", + "3. Since all the entries including Bounty and coins were in *String format*, we performed **Type casting** on bounty, coins to *convert* their value to their *float represenations*, removing the '$' and ',' symbols. Moreover, **Label Encoding** was performed on the title and time fields to make them easier to analyze.\n", + "\n", + "4. **Linear Regression** was used to build and train a **Predictive model**, considering the *bounty* and *title* columns, with the goal of predicting the bounty amount for a given title. To train the model, the dataset was split into *75% training data* and *25% testing data*. The trained model was then tested using the test data and its accuracy was evaluated using *Mean Absolute Error, Mean Squared Error and Root Mean Squared Error*.\n", + "\n", + "5. **Decision Tree** Algorithm was used to **classify** the Replit bounties *based on their companies*. To visualize the decision tree, we used the *Graphviz* library. The resultant model was then tested by predicting the company for a given bounty. Inputs were the bounty amount, coins amount and due Time.\n", + "\n", + "6. Finally, we used **KNN Classifier** to implement a model for **predicting the title** of a bounty given it's *amount, coins and time*. The built model was tested and it's results were evaluated by generating *Confusion matrix* and *Classification Report*. " + ] + }, + { + "cell_type": "markdown", + "id": "56bea07c", + "metadata": {}, + "source": [ + "## Conclusions Drawn" + ] + }, + { + "cell_type": "markdown", + "id": "c445f5da", + "metadata": {}, + "source": [ + "1. There is a direct correlation between the bounty amount and coins. To put it precisely, 1 Replit coin is equivalent to $100 bounty. Thus, these two fields can be combined into a single column." + ] + }, + { + "cell_type": "markdown", + "id": "16f42e60", + "metadata": {}, + "source": [ + "2. A linear relationship between the bounty amount and the company offering bounty was also observed from the plots. The companies offering the highest bounty amounts were Human-Protocol, YazanMoghrabi and WilliamBarber7. The bounties most often offered were 45, 90, 180 and 22.5 USD." + ] + }, + { + "cell_type": "markdown", + "id": "a3c8bc94", + "metadata": {}, + "source": [ + "3. The Predictive models implemented using **Linear Regression, Decision Tree, and KNN** algorithms were all observed to be reasonably accurate, with the Linear Regression model having the least Absolute error of just 0.04 approximately. " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Replit Bounties Dataset Analysis/requirements.txt b/Replit Bounties Dataset Analysis/requirements.txt new file mode 100644 index 000000000..e16bd949b --- /dev/null +++ b/Replit Bounties Dataset Analysis/requirements.txt @@ -0,0 +1,14 @@ +The libraries and software required to run this project are as follows: + +1. Jupyter Notebook (anaconda3) +2. numpy==1.21.4 +3. pandas==1.4.0 +4. matplotlib==3.5.1 +5. seaborn==0.11.2 +6. plotly +7. missingno +8. scikit-learn +9. IPython +10. graphviz + +