Inspiration
The idea for UA TECH FLOW AI Assistant was born from a simple observation: newcomers often struggle to navigate fragmented information systems. Education portals, job boards, and career guidance tools exist in silos. A person relocating to a new country has to check multiple websites, interpret different data formats, and manually connect the dots between what they know and what opportunities exist.
We wanted to bridge that gap. Our goal was to create a single, unified interface that aggregates education and job data, while also providing AI-powered career recommendations. The project is built for anyone starting a new chapter — whether they are students, professionals, or career changers.
What it does
UA TECH FLOW AI Assistant is a platform-independent web application that:
- Aggregates real-time data from two portals:
edu.uatechflow.org(courses and apprenticeships) andjob.uatechflow.org(job vacancies). - Unifies search across both sources with a single query and category filters (
all,jobs,education). - Prioritizes job results to help users find immediate employment opportunities first.
- Provides an AI Career Assistant that analyzes a user's background (e.g., "I am a mechanical engineer from Ukraine living in Switzerland") and suggests tailored career paths and relevant skills.
- Generates Boolean queries from selected skills and redirects users to external platforms (LinkedIn, Indeed, Jobs.ch, Coursera, edX) for broader searches.
- Syncs and displays the latest news from the UA TECH FLOW community.
All of this is wrapped in a clean, accessible, and responsive frontend that works on any device.
How we built it
We built the project using a full-stack JavaScript approach:
- Backend: Node.js (v22) with Express, using native
fetchfor API calls. - Frontend: Vanilla HTML5, CSS3, and JavaScript — no frameworks, fully semantic and accessible.
- Caching: File-based JSON cache for news to keep the project lightweight and deployable without a database.
Codex Collaboration
The entire core functionality was built in active collaboration with Codex (GPT-5.6) . We used Codex for:
Aggregator logic (
utils/aggregator.js): Codex generated the async function that concurrently fetches from both APIs, handles conditional requests based on thecategoryparameter, and merges results with job priority. It also implements resilient error handling — if one API fails, the other continues.Frontend rendering (
public/script.js): Codex wrote the complete client-side logic using semantic HTML elements (<article>,<dl>) anddocument.createElement()instead ofinnerHTML, ensuring accessibility and performance. It also implemented SPA-like navigation, search, and the AI Career Assistant workflow.News synchronization (
utils/newsSync.js): Codex built the module that periodically fetches news fromuatechflow.org/api/news, merges with existing cache, keeps the latest 6 items, and preserves cache on API failure — all without external dependencies.
The full collaboration log, including exact prompts and Codex responses, is documented in CODEX_LOG.md in our repository.
Key Technical Decisions
- Job priority: We display job vacancies before educational opportunities because newcomers often need immediate income.
- Boolean query generation: To bridge AI suggestions and external platforms, we convert selected skills/titles into Boolean queries (e.g.,
("Software Engineer" OR "QA") AND (Python OR SQL)). - No database: We chose JSON file caching for news to keep the project lightweight and production-ready without a dedicated database setup.
- Node.js 22 native fetch: We avoided additional HTTP libraries to keep dependencies minimal.
Challenges we faced
- API reliability: Both external APIs are community-run and occasionally unstable. We solved this by implementing graceful degradation — if one API fails, the other still returns results, and the user sees partial data.
- Data format inconsistency: The education and job APIs return different field names and structures. Codex helped us design a unified result object that maps both sources into a consistent format for frontend rendering.
- Accessibility: We intentionally avoided frameworks to keep the frontend lightweight, but this meant manually handling semantic HTML and keyboard navigation. Codex's generated code used proper
<article>,<dl>, and ARIA attributes, which saved us significant time. - Cloudflare demo setup: Deploying the static frontend and Worker required additional configuration (
wrangler.toml,worker.js). We documented these steps to ensure reproducibility.
Accomplishments we're proud of
- Working unified search that aggregates live data from two portals in under 500ms.
- AI Career Assistant that provides personalized recommendations based on user input and generates actionable external searches.
- Fully accessible frontend with semantic HTML, keyboard support, and ARIA labels — built without any frameworks.
- Production-ready code that runs locally with a single
npm run devcommand and can be deployed to any Node.js hosting (Google Cloud, AWS, Heroku, etc.). - Live demo running at
https://aica.uatechflow.org/and a Cloudflare-backed proof of concept.
What we learned
- Codex is a force multiplier: It accelerated development by handling boilerplate and complex logic, allowing us to focus on architecture and user experience.
- Error handling is critical: Building resilient systems that degrade gracefully improves user trust.
- AI can bridge data silos: By combining AI recommendations with external platform searches, we can guide users from insight to action seamlessly.
- Simplicity scales: Vanilla JavaScript, semantic HTML, and file-based caching are enough for an MVP — and they make deployment trivial.
Built with
- Node.js / Express — backend framework
- Codex (GPT-5.6) — AI coding assistant
- HTML5 / CSS3 / Vanilla JS — frontend
- fetch API — HTTP requests
- Cloudflare Pages + Workers — demo deployment
- GitHub — version control and hosting
Thank you for considering our project. We believe it demonstrates how AI can make practical, human-centered tools that empower people in transition.
Built With
- api
- cloudflare
- codex
- css3
- express.js
- fetch
- full-stack
- git
- github
- gpt-5.6
- html
- html5
- javascript
- json
- node.js
- openai
- rest
- workers
Log in or sign up for Devpost to join the conversation.