AdelElMaghloub/tech-stack-advisor
0
1import gradio as gr2import pickle3import numpy as np4 5# Load trained model and encoders6model = pickle.load(open("model.pkl", "rb"))7encoders = pickle.load(open("encoders.pkl", "rb"))8 9def recommend_stack(project_type, team_size, perf_need, experience):10 pt = encoders["project_type"].transform([project_type])[0]11 pn = encoders["perf_need"].transform([perf_need])[0]12 ex = encoders["experience"].transform([experience])[0]13 input_data = np.array([[pt, team_size, pn, ex]])14 pred_encoded = model.predict(input_data)[0]15 return f"🔧 Recommended Tech Stack: {encoders['stack'].inverse_transform([pred_encoded])[0]}"16 17demo = gr.Interface(18 fn=recommend_stack,19 inputs=[20 gr.Radio(["Web App", "API", "ML App", "Real-time App"], label="Project Type"),21 gr.Slider(1, 10, step=1, label="Team Size"),22 gr.Radio(["Low", "Medium", "High"], label="Performance Need"),23 gr.Radio(["Beginner", "Intermediate", "Expert"], label="Experience Level")24 ],25 outputs="text",26 title="Tech Stack Advisor",27 description="Get a recommended tech stack based on your project and team!"28)29 30demo.launch(server_name="0.0.0.0", server_port=7860)31 32 