×
Register Here to Apply for Jobs or Post Jobs. X

LVN​/LPN

Job in Rochester, Monroe County, New York, 14621, USA
Listing for: vTech Solution, Inc.
Full Time position
Listed on 2026-01-21
Job specializations:
  • IT/Tech
    Data Analyst, AI Engineer, Data Science Manager
Job Description & How to Apply Below
Position: LVN / LPN
Job Summary:

te("/api/proposals//outline", methods=["GET"])

def _create_proposal_outline():

"""

GET /api/proposals//outline

• If outline exists → return cached version

• If not → generate, save, return

• Dynamic sections based on Fed / SLED

• Includes _contents

"""

try:

# 0 Check if outline already exists in DB

cached = db.collection("").where("proposal

Id", "==", ).get()

if cached:

doc = cached[0].()

outline = doc.get("outline")

outline["_contents"] = [s.get("") for s in outline.get("sections", [])]

return jsonify({

"proposal

Id": ,

"from Cache": True,

"outline": outline,

"saved

Id": cached[0].

}), 200

# 1 Load Proposal Document

snapshot = db.collection("proposals").document().get()

if not snapshot.exists:

return jsonify({"error": "Proposal not found"}), 404

proposal = snapshot.()

content = proposal.get("content", "") or ""

= proposal.get("title") or proposal.get("name", "")

# Normalize proposal type

= str(proposal.get("type", "")).strip().lower()

if  == "fed":

= "Fed"

elif  == "sled":

= "SLED"

else:

return jsonify({"error": f"Invalid type '{proposal.get('type')}'. Must be Fed or SLED."}), 400

# 2 Extract usable RFP text

files = proposal.get("files") or []

= content

if not  and files:

= " ".join([(f.get("text Content") or "")[:100000] for f in files])

= _text()

# 3 LLM → Metadata Extraction

metadata = _from_rfp()

= metadata.get("opportunity

Name") or  or "[Opportunity Name]"

= metadata.get("submitted

To") or "[Submitted To]"

= metadata.get("subject

Title") or "[Subject Title]"

poc = metadata.get("client

POC") or {}

= poc.get("name") or "[Client Name]"

= poc.get("title") or "[Client Title]"

= poc.get("email") or "[Client Email]"

= poc.get("phone") or "[Client Phone]"

# 4 Dynamic Section Builder (Fed / SLED)

= [

{"": "Executive Summary", "": "Provide 4-6 paragraphs summarizing."},

{"": "Technical Volume",

"": "Detailed technical approach.",

"subsections": [

{"": "3.1 Understanding of the Problem", "": "Discuss business challenges."},

{"": "3.2 Proposed Solution", "": "Solution details with bullets."},

{"": "3.3 Implementation Plan", "": "Timeline, phases, deliverables."}

]

},

{"": "Management Plan", "": "Governance, team, roles."},

{"": "Past Performance", "": "Case studies & references."}

]

= [

{"": "Executive Summary", "": "Provide 4-6 paragraphs summarizing."},

{"": "Technical Volume",

"": "Detailed technical approach.",

"subsections": [

{"": "3.1 Understanding of the Problem", "": "Discuss business challenges."},

{"": "3.2 Proposed Solution", "": "Solution details with bullets."},

{"": "3.3 Implementation Plan", "": "Timeline, phases, deliverables."}

]

},

{"": "Management Plan", "": "Governance, team, roles."},

{"": "Past Performance", "": "Case studies & references."}

]

=  if  == "Fed" else

# 5 Build Prompt to Generate Full Outline JSON

= f"""

You are a professional proposal generator. Return ONLY valid JSON. No markdown.

Generate a complete outline for a {} proposal.

Metadata:

Opportunity: {}

Submitted To: {}

Client POC: {} / {} / {} / {}

JSON Format:

{{

"": "{}",

"_name": "{}",

"_email": "{}",

"_phone": "{}",

"_date": "February 2025",

"_client_contact": "{}, {}, {}, {}",

"_subject_line": "{}",

"_body": "Create a full and professional cover letter.",

"": "{}",

"sections": {json.dumps(, indent=2)}

}}

"""

# 6 Call Azure Chat

= _chat(

"You are a JSON-only proposal writer.",

,

=10000,

temperature=0.0

)

= _from_text()

if not :

return jsonify({"error": "AI returned invalid JSON"}), 500

# 7 Build Table of Contents

toc = [s.get("") for s in .get("sections", [])]

["_contents"] = toc

# 8 Save outline to Firestore

now = datetime.now(timezone.utc)

= {

"proposal

Id": ,

"created

At": now,

"outline": ,

"proposal

Type":

}

_,  = db.collection("").add()

# 9 Return Response

return jsonify({

"proposal

Id": ,

"proposal

Type": ,

"from Cache": False,

"saved

Id": ,

"outline":

}), 200

except Exception as e:

import traceback

print(traceback.())

return jsonify({"error": str(e)}), 500

# put

te("/api/proposals//outline", methods=["PUT"])

def _outline():

"""

PUT /api/proposals//outline

• Frontend sends edited outline

• Update existing Firestore document

• Auto-rebuild TOC

• Return updated version

"""

try:

data = request.()

if not data:

return jsonify({"error": "Missing JSON body"}), 400

# 1 Find existing outline record

query =…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)

Job Posting Language
Employment Category
Education (minimum level)
Filters
Education Level
Experience Level (years)
Posted in last:
Salary