{ "id": "1951559926448099044", "hourlyBudgetMin": { "rawValue": "15.0", "currency": "USD", "displayValue": "15.0" }, "hourlyBudgetMax": { "rawValue": "50.0", "currency": "USD", "displayValue": "50.0" }, "ciphertext": "~021951559926448099044", "title": "EXPERT frontend developer (web components, lit etc.)", "description": "We are looking for two types of people:\n\n1. Those that can work Saturday and Sunday regularly\n2. Those who can work fulltime Monday - Friday (8 hours/day)\n\nTech stack:\n\n* Kotlin + Spring boot\n* Thymeleaf for server side rendering\n* Web awesome for UI web components: webawesome.com\n* Web awesome is using Lit under the hood, which we also use for custom components not provided by the framework\n* Postgres as DB\n* Flyway for migrations\n* Kamal for deployment to Ubuntu VPS (https://kamal-deploy.org)\n\nYou should be able to start the app locally in Intellij, but most importantly, you should master CSS, HTML, javascript at an advanced levels and have good taste and design skills. \n\nGood backend skills for Java/Kotlin is not needed, but a bonus if you also master these. \n\nTake a look at: \n\n* https://webawesome.com\n* https://lit.dev\n\nWould you be able to: \n\n1. customize the framework components so they look good for our app\n2. create custom components that adheres to design and solve custom needs\n3. Use modern and efficient CSS to make code maintainable", "createdDateTime": "2025-08-02T08:25:19+0000", "duration": "ONGOING", "durationLabel": "More than 6 months", "engagement": "Less than 30 hrs/week", "amount": { "rawValue": "0.0", "currency": "USD", "displayValue": "0.0" }, "recordNumber": "1021045173", "experienceLevel": "EXPERT", "category": "web_mobile_software_dev", "subcategory": "web_development", "freelancersToHire": 1, "relevance": { "id": "0", "effectiveCandidates": 0, "recommendedEffectiveCandidates": 0, "uniqueImpressions": 0, "publishTime": null, "hoursInactive": 0 }, "enterprise": false, "relevanceEncoded": "{\"position\":\"4033\"}", "totalApplicants": 0, "preferredFreelancerLocation": null, "preferredFreelancerLocationMandatory": false, "premium": false, "clientNotSureFields": null, "clientPrivateFields": null, "applied": false, "publishedDateTime": "2025-08-02T08:25:20+0000", "renewedDateTime": null, "occupations": { "category": { "id": "531770282580668418", "prefLabel": "Web, Mobile & Software Dev" }, "subCategories": null, "occupationService": null }, "job": { "id": "1951559926448099044", "workFlowState": { "closeResult": null, "status": "ACTIVE" }, "activityStat": { "applicationsBidStats": null, "jobActivity": { "lastClientActivity": "2025-08-03T06:24:24.911Z", "totalRecommended": 0, "invitesSent": 0, "totalInvitedToInterview": 0, "totalHired": 0, "totalUnansweredInvites": 0, "totalOffered": 0 } }, "classification": { "category": { "id": "531770282580668418", "ontologyId": "upworkOccupation:webmobileandsoftwaredev", "type": [ "OCCUPATION" ], "entityStatus": "ACTIVE", "preferredLabel": "Web, Mobile & Software Dev", "definition": null, "createdDateTime": "2018-08-20T19:39:33+0000", "modifiedDateTime": "2023-12-19T19:18:21+0000" }, "subCategory": { "id": "531770282584862733", "ontologyId": "upworkOccupation:webdevelopmentsubcategory", "type": [ "OCCUPATION" ], "entityStatus": "ACTIVE", "preferredLabel": "Web Development", "definition": null, "createdDateTime": "2018-09-24T11:14:40+0000", "modifiedDateTime": "2023-07-10T17:01:25+0000" } } }, "client": { "totalHires": 6, "totalPostedJobs": 3, "totalSpent": { "rawValue": "652.5", "currency": "USD", "displayValue": "652.5" }, "verificationStatus": "VERIFIED", "location": { "city": "0585", "country": "NOR", "timezone": "Atlantic/Jan_Mayen", "state": "", "offsetToUTC": "Europe" }, "totalReviews": 6, "totalFeedback": 5.0, "companyRid": "0", "companyName": null, "edcUserId": "0", "lastContractPlatform": null, "lastContractRid": "0", "lastContractTitle": null, "hasFinancialPrivacy": false }, "activityStat": { "jobActivity": { "lastClientActivity": "2025-08-04T04:39:37.705Z", "invitesSent": 0, "totalInvitedToInterview": 0, "totalHired": 0, "totalUnansweredInvites": 0, "totalOffered": 0, "totalRecommended": 0 } } }